GSoC '18: CM Project Thread

Contributions from the participants, questions and answers to their projects.
Discussions of proposals for upcoming events.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
User avatar
NormandC
Veteran
Posts: 18589
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: GSoC '18: CM Project Thread

Post by NormandC »

Very cool Kurt!

kkremitzki wrote: Fri Jul 13, 2018 10:31 am I also have prepared the standalone freecad-doc package at https://salsa.debian.org/science-team/freecad-doc. This will be nice once it gets to the PPA since it will mean freecad-doc doesn't get re-built and redownloaded each time the freecad-daily PPA updates.
I think this should be implemented ASAP in the freecad-daily PPA.

One question: ulrich1a has been proposing to build the doc package in other languages, and made forays into creating a build script. Italian and French translations on the wiki are almost 100% complete. Hopefully further languages could be added once they reach a percentage completion threshold. Could you maybe factor this into your freecad-doc package, or is it too much for now? Does your repo contain the translations?

Also, were you aware that Yorik backported in the past 3 weeks quite a few commits to the releases/0-17 branch? One merged yesterday is extremely important IMHO (by wandererfan) as it gives a hint about the PartDesign strict one-solid rule that never ceases to confuse users.

Since a new update of the freecad-stable PPA package will be needed (bringing it to v0.17.13528), I'm wondering if the freecad-doc split shouldn't be done before updating the package?

kkremitzki wrote: Fri Jul 13, 2018 10:31 amUnfortunately I had a hell of a time trying to get the PDF included.
I wasn't aware that a PDF was being built at compile time? Did you add this?
User avatar
NormandC
Veteran
Posts: 18589
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: GSoC '18: CM Project Thread

Post by NormandC »

Hi Kurt,

I was looking at the control file in your salsa.debian.org/kkremitzki-guest/freecad branch.

I just noticed that the descriptions for the packages are still the very old ones from ages ago.

Code: Select all

Description: Extensible Open Source CAx program
 FreeCAD is an Open Source CAx RAD based on OpenCasCade, Qt and Python.
 It features some key concepts like macro recording, workbenches, ability
 to run as a server and dynamically loadable application extensions and
 it is designed to be platform independent.
 .
 Currently, FreeCAD can import and display CAD models in IGES, STEP, and
 BRep formats and meshes in STL, BMS, AST and Wavefront OBJ formats.
 Editing and modeling features are currently somewhat limited.
The last sentence in the second paragraph is obviously quite obsolete. ;)
And to be blunt, as a non-programmer, but rather a CAD user, I never found the first paragraph very meaningful of what FreeCAD can do.

So a couple of years back, I changed the description in the gitpackaging branch of our PPA.

The PPA's control file has the following description instead, I believe I got it from the FC website:

Code: Select all

Description: Extensible Open Source CAx program (beta)
 FreeCAD is a general purpose feature-based, parametric 3D modeler for CAD, MCAD,
 CAx, CAE and PLM, aimed directly at mechanical engineering and product design but
 also fits a wider range of uses in engineering, such as architecture or other engineering
 specialties. It is 100% Open Source (LGPL2+ license) and extremely modular, allowing
 for very advanced extension and customization.
 .
 FreeCAD is based on OpenCasCade, a powerful geometry kernel, features an Open Inventor-compliant
 3D scene representation model provided by the Coin 3D library, and a broad Python API.
 The interface is built with Qt. FreeCAD runs exactly the same way on Windows, Mac OSX, BSD and
 Linux platforms.
Could you maybe update your repo's description based on this? I believe that it may exceed Debian rules for length, but the last sentence could be deleted I think.

The first paragraph could surely be streamlined. Maybe others will have suggestions to improve the description.
User avatar
kkremitzki
Veteran
Posts: 2515
Joined: Thu Mar 03, 2016 9:52 pm
Location: Illinois

Re: GSoC '18: CM Project Thread

Post by kkremitzki »

NormandC wrote: Sat Jul 14, 2018 7:45 pm I think this should be implemented ASAP in the freecad-daily PPA.
Definitely, will do.
One question: ulrich1a has been proposing to build the doc package in other languages, and made forays into creating a build script. Italian and French translations on the wiki are almost 100% complete. Hopefully further languages could be added once they reach a percentage completion threshold. Could you maybe factor this into your freecad-doc package, or is it too much for now? Does your repo contain the translations?
Although I answered this in Gitter, just leaving my response here for others. The repo doesn't contain the translations, but it does have the option to pull them. It'll take a while to run but it shouldn't be too difficult to include doc packages in other languages, and indeed that was one of my nice-to-have goals for this package. The internationalization/localization of software is one of my favorite things about FOSS, so kudos to all who have done translation work for the project, hopefully this will help more people get the benefit of all y'all's translation work. :D
Also, were you aware that Yorik backported in the past 3 weeks quite a few commits to the releases/0-17 branch? One merged yesterday is extremely important IMHO (by wandererfan) as it gives a hint about the PartDesign strict one-solid rule that never ceases to confuse users.
No, I wasn't... IMO we should consider tagging a point release, i.e. 0.17.1, which is better than 0.17.xxxxx, especially when "git commit xxxxx" is a bit misleading about what exactly is in this version of 0.17...
Since a new update of the freecad-stable PPA package will be needed (bringing it to v0.17.13528), I'm wondering if the freecad-doc split shouldn't be done before updating the package?
It isn't too necessary as we can do it just by updating the Debian revision numbers of the package.
kkremitzki wrote: Fri Jul 13, 2018 10:31 amUnfortunately I had a hell of a time trying to get the PDF included.
I wasn't aware that a PDF was being built at compile time? Did you add this?
Also including the answer I gave on Gitter here for others... when compiling from source, the documentation files freecad.qch and freecad.qhc are included in src/Doc. These, however, were originally generated from scripts in src/Tools/offlinedoc. In addition to buildqhelp.py which builds the aforementioned 2 files, there's buildpdf.py which makes the PDF, but the built PDF is not included in our Git repo in the same way as freecad.qhc/qch.

BTW, I fixed the problem with the PDF builds. For some reason, having "localwiki/freecad.pdf" in debian/freecad-doc.install was not enough for the file to get included into the .deb, it only worked when that line was in debian/freecad-doc.docs. So, once all the translation files are done downloading, we will be able to have freecad-doc-fr, freecad-doc-it, freecad-doc-de, etc, packages!!!
Could you maybe update your repo's description based on this? I believe that it may exceed Debian rules for length, but the last sentence could be deleted I think.

The first paragraph could surely be streamlined. Maybe others will have suggestions to improve the description.
Definitely, I had noticed there was a difference in the descriptions but forgot to update them as well. As far as length, it may just require a shortening of some lines but the total amount of text should be fine.
Like my FreeCAD work? I'd appreciate any level of support via Patreon, Liberapay, or PayPal! Read more about what I do at my blog.
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

Re: GSoC '18: CM Project Thread

Post by Kunda1 »

kkremitzki wrote: Sun Jul 15, 2018 3:27 pm
NormandC wrote: Sat Jul 14, 2018 7:45 pm Also, were you aware that Yorik backported in the past 3 weeks quite a few commits to the releases/0-17 branch? One merged yesterday is extremely important IMHO (by wandererfan) as it gives a hint about the PartDesign strict one-solid rule that never ceases to confuse users.
No, I wasn't... IMO we should consider tagging a point release, i.e. 0.17.1, which is better than 0.17.xxxxx, especially when "git commit xxxxx" is a bit misleading about what exactly is in this version of 0.17...
Yes please :+1:
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
User avatar
NormandC
Veteran
Posts: 18589
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: GSoC '18: CM Project Thread

Post by NormandC »

kkremitzki wrote: Sun Jul 15, 2018 3:27 pm IMO we should consider tagging a point release, i.e. 0.17.1
This has been discussed numerous times over the years, and there was never any decision on this. And since this is the summer, with many people not watching the forum as often, I'm not sure a decision would be achieved anytime soon. And that means a very useful (essential IMO) fix may wait in limbo for weeks, months... :|
User avatar
kkremitzki
Veteran
Posts: 2515
Joined: Thu Mar 03, 2016 9:52 pm
Location: Illinois

Re: GSoC '18: CM Project Thread

Post by kkremitzki »

NormandC wrote: Sun Jul 15, 2018 5:02 pm
kkremitzki wrote: Sun Jul 15, 2018 3:27 pm IMO we should consider tagging a point release, i.e. 0.17.1
This has been discussed numerous times over the years, and there was never any decision on this. And since this is the summer, with many people not watching the forum as often, I'm not sure a decision would be achieved anytime soon. And that means a very useful (essential IMO) fix may wait in limbo for weeks, months... :|
Oh, I understand completely, and my "IMO" is not a blocker to getting an updated 0.17 branch. It's just a preference since certain git practices (like tagging, signing releases) integrate smoothly with Debian tooling. Otherwise, I have to do "manual hackery" to the package.

By the way, on the topic of aligning our Git practices with Debian, there's a lot we could be doing using their GitLab instance, including hosting Ubuntu branches and possibly our daily build git branch all in one location, instead of on Launchpad. This same "packaging Git repo" at salsa.debian.org/science-team/freecad would also contain branches for backports, whether to Debian or Ubuntu releases. Anyone can sign up at their GitLab instance "salsa" and make PRs against this repo, and if I'm the Debian Maintainer for FreeCAD I can summarily upload fixes.

Does anyone have any thoughts on this?

P.S. I really need to make some blog posts explaining what i've learned with Debian packaging and tooling! The learning curve is really only so steep because there's a lack of such teaching-focused material, what's available is stuff like The Debian Policy, which from a pedagogical standpoint, sucks.
Like my FreeCAD work? I'd appreciate any level of support via Patreon, Liberapay, or PayPal! Read more about what I do at my blog.
User avatar
kkremitzki
Veteran
Posts: 2515
Joined: Thu Mar 03, 2016 9:52 pm
Location: Illinois

Re: GSoC '18: CM Project Thread

Post by kkremitzki »

Besides French and Italian, which languages should be considered complete enough to get their own freecad-doc-*?
Like my FreeCAD work? I'd appreciate any level of support via Patreon, Liberapay, or PayPal! Read more about what I do at my blog.
User avatar
NormandC
Veteran
Posts: 18589
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: GSoC '18: CM Project Thread

Post by NormandC »

I don't think there are others, unfortunately. I think that it's such a huge job now (thousands of pages to translate) that contributors quickly lose heart. French and Italian are near complete only thanks to a couple of extremely (one might say obsessively :D ) dedicated contributors.

kkremitzki wrote: Sun Jul 15, 2018 5:47 pm By the way, on the topic of aligning our Git practices with Debian, there's a lot we could be doing using their GitLab instance, including hosting Ubuntu branches and possibly our daily build git branch all in one location, instead of on Launchpad.
That would be great, everything in one place - but I highly doubt that PPA packages can be built from external Git repositories. We'd have to create mirror repos on Launchpad anyway, which we're already doing for the FreeCAD repo.
User avatar
kkremitzki
Veteran
Posts: 2515
Joined: Thu Mar 03, 2016 9:52 pm
Location: Illinois

Re: GSoC '18: CM Project Thread

Post by kkremitzki »

I have a working Python 3/Qt 5 package build on Debian now. Gotta get it ready for the PPA, and that should hopefully bring quite a bit of engagement!

Code: Select all

OS: Debian GNU/Linux unstable (sid)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.14093 (Git)
Build type: Unknown
Branch: master
Hash: 24a9ab73a720045a07d244632fd1f7ee8062c8f2
Python version: 3.6.6
Qt version: 5.10.1
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/UnitedStates (en_US)
Like my FreeCAD work? I'd appreciate any level of support via Patreon, Liberapay, or PayPal! Read more about what I do at my blog.
User avatar
NormandC
Veteran
Posts: 18589
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: GSoC '18: CM Project Thread

Post by NormandC »

That will make many people happy, I'm sure.

Regarding Py3/Qt5, without QtWebkit, does that mean that the StartPage and Web wb aren't built?
Post Reply