Volunteer Packagers Needed for the PPA

This subforum is specifically to discuss packaging issues on different platforms (windows, mac, linux), and using different packaging systems (conda, etc...)
User avatar
dpward
Posts: 27
Joined: Sun Jan 01, 2023 6:06 pm
Contact:

Re: Volunteer Packagers Needed for the PPA

Post by dpward »

Right now, the PPA uses separate packaging files (i.e. the debian/ directory) than the official Debian packages. (Both are hosted on Debian Salsa, but in different branches.) I really believe this would be far easier to maintain if the PPA just re-used Debian's packaging files as-is.

To illustrate this, I created a daily PPA for Ubuntu 22.04 LTS and later. The recipe on Launchpad is very simple:
  • obtain the latest FreeCAD source code from GitHub
  • copy in the packaging files used to build freecad in Debian unstable — but currently with a few tweaks
Whenever the development version of FreeCAD requires tweaks in the packaging files (as it does right now), my suggestion is to take the latest freecad package in Debian, update its sources to a development snapshot version, make the packaging tweaks, and then upload this package to the experimental repository. Those packaging changes would need to be made to the Debian package anyway once the new stable version of FreeCAD is released; but by doing it this way, the PPA doesn't need separate maintenance. Once the new stable version of FreeCAD is released, the Debian package in experimental would simply be migrated back to unstable, and its sources would be updated; the rest of the work has already been done.

I realize the packaging used for Debian unstable won't work as-is on older versions of Ubuntu — but do we really need that for daily builds aimed at developers and testers? I believe we should handle backports of stable FreeCAD versions as a separate matter.


Even for those who do not touch Debian / PPA packaging: do any of the patches carried by the Debian package belong here in FreeCAD instead? If so, that would both help simplify the Debian packaging, and benefit people who do not use Debian.
User avatar
yorik
Founder
Posts: 13640
Joined: Tue Feb 17, 2009 9:16 pm
Location: Brussels
Contact:

Re: Volunteer Packagers Needed for the PPA

Post by yorik »

That's great! Could be an excellent path to get the PPA back up. Indeed the debian version is now very well maintained, IMHO it makes all sense to use it as a base.

Several patches there could come into FreeCAD indeed, for ex. those that adapt the .desktop file. @kkremitzki what's your opinion?
User avatar
adrianinsaval
Veteran
Posts: 5541
Joined: Thu Apr 05, 2018 5:15 pm

Re: Volunteer Packagers Needed for the PPA

Post by adrianinsaval »

people keep getting tricked by the abandoned ppa: viewtopic.php?p=680905#p680905
(and I've seen several others on the wild)
is there a way of alerting people on the ppa page?
KP786
Posts: 2
Joined: Fri May 26, 2023 5:36 am
Contact:

Re: Volunteer Packagers Needed for the PPA

Post by KP786 »

I'm Ready to be packagers for Ubuntu 20.04, 22.04 and with various flavors of Ubuntu, along with Linux Mint
My Main Motive is to increase my skill set around open source and it's related things,
I require this for my project work and my main wok is done on Ubuntu 20.04 and I'm also a user of Linux Mint

I'm not ready to wok with snap packages even though they are updated to latest version and appimage is very good but it is not good option for download the appimage everytime from GitHub repo who has limited internet access
My preferences are deb packages & flathub, but deb packages are prefer over flathub as takes huge of space for downloading
User avatar
adrianinsaval
Veteran
Posts: 5541
Joined: Thu Apr 05, 2018 5:15 pm

Re: Volunteer Packagers Needed for the PPA

Post by adrianinsaval »

KP786 wrote: Fri May 26, 2023 6:05 am is not good option for download the appimage everytime from GitHub repo who has limited internet access
You can do differential updates for appimages too, you don't need download the whole thing every time.
KP786
Posts: 2
Joined: Fri May 26, 2023 5:36 am
Contact:

Re: Volunteer Packagers Needed for the PPA

Post by KP786 »

adrianinsaval wrote: Fri May 26, 2023 2:03 pm
KP786 wrote: Fri May 26, 2023 6:05 am is not good option for download the appimage everytime from GitHub repo who has limited internet access
You can do differential updates for appimages too, you don't need download the whole thing every time.
You wanted someone to maintain ppa repos, I am ready to do that work
All i need to understand your working towards ubuntu and it's flavors
david69
Veteran
Posts: 1774
Joined: Wed Jan 01, 2014 7:48 pm

Re: Volunteer Packagers Needed for the PPA

Post by david69 »

KP786 wrote: Sat May 27, 2023 6:32 am You wanted someone to maintain ppa repos, I am ready to do that work
yes pls, you are welcome. I am only a user so unfortunately not able to give you any clues.
User avatar
mfraz74
Posts: 158
Joined: Mon Apr 05, 2021 9:19 am
Contact:

Re: Volunteer Packagers Needed for the PPA

Post by mfraz74 »

dpward wrote: Sat Mar 04, 2023 1:55 am Right now, the PPA uses separate packaging files (i.e. the debian/ directory) than the official Debian packages. (Both are hosted on Debian Salsa, but in different branches.) I really believe this would be far easier to maintain if the PPA just re-used Debian's packaging files as-is.

To illustrate this, I created a daily PPA for Ubuntu 22.04 LTS and later. The recipe on Launchpad is very simple:
  • obtain the latest FreeCAD source code from GitHub
  • copy in the packaging files used to build freecad in Debian unstable — but currently with a few tweaks
Whenever the development version of FreeCAD requires tweaks in the packaging files (as it does right now), my suggestion is to take the latest freecad package in Debian, update its sources to a development snapshot version, make the packaging tweaks, and then upload this package to the experimental repository. Those packaging changes would need to be made to the Debian package anyway once the new stable version of FreeCAD is released; but by doing it this way, the PPA doesn't need separate maintenance. Once the new stable version of FreeCAD is released, the Debian package in experimental would simply be migrated back to unstable, and its sources would be updated; the rest of the work has already been done.

I realize the packaging used for Debian unstable won't work as-is on older versions of Ubuntu — but do we really need that for daily builds aimed at developers and testers? I believe we should handle backports of stable FreeCAD versions as a separate matter.


Even for those who do not touch Debian / PPA packaging: do any of the patches carried by the Debian package belong here in FreeCAD instead? If so, that would both help simplify the Debian packaging, and benefit people who do not use Debian.
Thanks for doing this - FreeCAD loads up much faster now - one small issue though, "About FreeCAD" doesn't show the release number:

Code: Select all

OS: Ubuntu 22.04.2 LTS (KDE/plasma)
Word size of FreeCAD: 64-bit
Version: 0.21.0.
Build type: Release
Python 3.10.6, Qt 5.15.3, Coin 4.0.0, Vtk 9.1.0, OCC 7.5.1
Locale: English/United Kingdom (en_GB)
Installed mods: 
  * fasteners 0.4.56
  * Assembly4 0.50.2
  * fcgear 1.0.0
  * Curves 0.6.9
  * A2plus 0.4.60n
  * sheetmetal 0.2.63
User avatar
onekk
Veteran
Posts: 6146
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: Volunteer Packagers Needed for the PPA

Post by onekk »

mfraz74 wrote: Fri Jun 09, 2023 6:27 am ...
Thanks for doing this - FreeCAD loads up much faster now - one small issue though, "About FreeCAD" doesn't show the release number:

Code: Select all

OS: Ubuntu 22.04.2 LTS (KDE/plasma)
Word size of FreeCAD: 64-bit
Version: 0.21.0.
Build type: Release
Python 3.10.6, Qt 5.15.3, Coin 4.0.0, Vtk 9.1.0, OCC 7.5.1
Locale: English/United Kingdom (en_GB)
Installed mods: 
  * fasteners 0.4.56
  * Assembly4 0.50.2
  * fcgear 1.0.0
  * Curves 0.6.9
  * A2plus 0.4.60n
  * sheetmetal 0.2.63

The problem is on different levels.

Ubuntu is a freeze of a certain date of the Debian Unstable branch, then sources are patched and "make usable" by Ubuntu developers or maintainers, whatever you prefer to call them.

This is why you have some difficulties to make a unique Debian and Ubuntu package that will work flawlessy on both distributions, as Debian Stable is Stable for a "Long time" while Ubuntu is maintained if I remember well for 18 months, slightly more for a LTS release.

They use same packaging system, but ubuntu packages are marked in a different way for obvious reasons.

You could probably build a version that will work on Debian Stable and Ubuntu if you choose the right dependant packages minimal versions to permit that Debian Stable has this version in his packaged repositories.

Linux Mint is based on Ubuntu so it is probably doubling problems, as is a "Modified version" of a "modified version" of Debian Unstable, with some peculiarities, but probably you could even build a version that could run on Debian Stable, Ubuntu and Linux Mint choosing carefully a minimal set of packages that will work on all of them.

This is why usually it is advised to use the Appimage when using FreeCAD, as you have recent versions of all the "related packages", but the space requirements are more high.

So it is not easy to find a viable solution for Linux as as example for RedHat derived distributions usually have some libraries "less up to date" than Debian Stable that use usually "quite old" libraries, as Debian must work "by design" on a wide range of machines, and Linux Flavours, like old IBM servers and so some libraries are not updated very frequently for old systems, so it is "conservative" in term of "up to date" libraries versions.

I have used Debian an derivatives for some time, but when you are experimenting usually the main problem you will be faced when using Debian is the "too old libraries".

More Bleeding Edge distribution are usually Arch Linux and Gentoo (but Gentoo will compile packages on the final machine, so it is not a quick and dirty solution).

As example I'm using on an Arch Linux derivative this version of 0.21:

Code: Select all

OS: Artix Linux (openbox)
Word size of FreeCAD: 64-bit
Version: 0.21.0.33375 (Git)
Build type: None
Branch: master
Hash: bf8c59ba2ab4a2e6bd2060544130a0a4693ba4d8
Python 3.11.3, Qt 5.15.9, Coin 4.0.1, Vtk 9.2.6, OCC 7.6.3
Locale: English/United States (en_US) [ OS: Italian/Italy (it_IT) ]
Installed mods: 
  * fcgear 1.0.0
  * Assembly4 0.12.6
  * toSketch 1.0.1
  * Curves 0.6.8
  * Help 1.0.3

See as example version of Python, Qt, Coin, Vtk and OCCT against those used by Ubuntu only to have an idea.

This is a 0.20 AppImage I use daily:

Code: Select all

OS: Artix Linux (openbox)
Word size of FreeCAD: 64-bit
Version: 0.20.2.29603 (Git) AppImage
Build type: Release
Branch: (HEAD detached at 0.20.2)
Hash: 930dd9a76203a3260b1e6256c70c1c3cad8c5cb8
Python 3.10.8, Qt 5.15.4, Coin 4.0.0, Vtk 9.1.0, OCC 7.6.3
Locale: Italian/Italy (it_IT)
Installed mods: 
  * CurvedShapes 1.0.4
  * ScriptWB-v1
  * QuickMeasure 2022.10.28
  * freecad.gears 1.0.0
  * Assembly4 0.50.1
  * fasteners 0.4.56
  * toSketch 1.0.1
  * Curves 0.6.8
  * Help 1.0.3
Take however in account that developers have some requirements about "minimal library versions" that are written somewhere in the wiki, and these requirements are usually in line to Ubuntu "old stable" version or LTS if I remember well.

Hope this will add something to the discussion, if it is only noise, sorry for that.

Regards

Carlo D.
GitHub page: https://github.com/onekk/freecad-doc.
- In deep articles on FreeCAD.
- Learning how to model with scripting.
- Various other stuffs.

Blog: https://okkmkblog.wordpress.com/
User avatar
adrianinsaval
Veteran
Posts: 5541
Joined: Thu Apr 05, 2018 5:15 pm

Re: Volunteer Packagers Needed for the PPA

Post by adrianinsaval »

the lack of revision number in the about info is because when building a package debian/ubuntu don't download the full git repo but just the HEAD and they don't allow access to the internet so we can't fetch the revision from github. One possible solution to this is to use the auto genereated source packages instead of directly the git source: https://github.com/FreeCAD/FreeCAD-Bund ... rce.tar.gz (updates every 4 hours) which already includes the correct version info.
Post Reply