Hello all! This post is my final work product for GSoC 2018 for the FreeCAD project. The main center for communication for FreeCAD is the forums, but we also coordinated things through the #freecad channel on Freenode. The main thread for my project was here.

To summarize my project: FreeCAD is a complex application with an extensive dependency tree. The packaging situation has always trailed the tip of development, which means users don't get to see the best FreeCAD has to offer, and people trying to help new users have to deal with sometimes years-old bugs. The goal was to improve the general ecosystem of the FreeCAD stack, and to cut down on technical debt to make things easier moving forward. After some consideration it was decided to focus on Debian packaging since that would be the most 'ecologically good'.

I began with a rough knowledge of Debian packaging, but now feel competent enough to want to take over the maintenance of Debian packaging for FreeCAD and several other packages within the Debian Science Team, which will improve the free software engineering experience in Debian as well as its derivatives such as Ubuntu and Linux Mint. In fact, I plan on trying to offically become a Debian Maintainer and then Debian Developer. On the 4th of July during the middle of the project I drove to Houston for a GPG keysigning, so the wheels are already in motion.

This post will summarize my work throughout the summer chronologically, mostly linking to emails in the Debian Science mailing list, pull requests on Debian's Gitlab instance or Github, and to some repositories.

More detailed information can be found at https://salsa.debian.org/users/kkremitzki-guest.

Coding Period 0, Community Bonding Period (April 23 - May 14) May 8: RFS for python-fluids: https://lists.debian.org/debian-science/2018/05/msg00044.html Packaging this was part of learning more about Debian packaging, and because I'm a fan of the library for its use in fluids engineering - part of overall ecosystem improvements.



Coding Period 1 (May 14 - June 15) Most of the first coding period was spent working on FreeCAD 0.17 packaging, as well as packaging Netgen 6.2.1804 and updating Gmsh to use OCCT, which I packaged prior to GSoC. I didn't finish them quite in time for submission within the first coding period. I also spent time working on packaging PySide 2, which is a dependency for FreeCAD's transition to Qt 5 & Python 3, but backed away after finding it was being worked on by others.

May 17: Netgen PR (Remove unnecessary backup files): https://github.com/NGSolve/netgen/pull/15 Preparation work for packaging Netgen, which is used as a mesher by FreeCAD.

May 25: Discussion of Netgen 6.2.1804 work: https://lists.debian.org/debian-science/2018/05/msg00101.html This was just me announcing that I was working on this so as to help not duplicate work.



Coding Period 2 (June 15 - July 13) June 19: Improvements to fluids after suggestions: https://lists.debian.org/debian-science/2018/06/msg00031.html

June 20: OpenFOAM 5 experimentation announced: https://lists.debian.org/debian-science/2018/06/msg00038.html This package is part of the FreeCAD ecosystem by way of its CFD (Computational Fluid Dynamics) workbench.

June 21: RFS for netgen: https://lists.debian.org/debian-science/2018/06/msg00039.html Note: RFS = request for sponsorship, i.e. a submission of packaging work for Debian project members.

June 21: RFS for gmsh: https://lists.debian.org/debian-science/2018/06/msg00040.html Gmsh is another mesher used by FreeCAD.

June 21: RFS for freecad: https://lists.debian.org/debian-science/2018/06/msg00041.html This was the packaging work for the FreeCAD 0.17 release.

June 21: RFS for if97: https://lists.debian.org/debian-science/2018/06/msg00042.html This was another ecosystem project I worked on, a dependency for CoolProp, a powerful thermodynamics library.

July 8: FreeCAD PR (Detect OCCT at new Debian location): https://github.com/FreeCAD/FreeCAD/pull/1545 This was a housekeeping PR as a result of my Debian packaging work.

July 8: FreeCAD-Doc initial commit: https://github.com/FreeCAD/FreeCAD-Doc/commits/master The freecad-doc package was removed from Debian in 2016 for Debian Free Software Guidelines reasons.

July 11: Updated PPA to OCCT 7.3: https://launchpad.net/~freecad-maintainers/+archive/ubuntu/freecad-daily/+packages This was a backport of Debian packaging work for OCCT 7.3

