FreeCAD Versioning

This subforum is specifically to discuss packaging issues on different platforms (windows, mac, linux), and using different packaging systems (conda, etc...)
adrianinsaval
Veteran
Posts: 3158
Joined: Thu Apr 05, 2018 5:15 pm

Re: FreeCAD Versioning

Post by adrianinsaval »

yep, I think that's the case, 0.20 likely has higher priority
User avatar
waebbl
Posts: 165
Joined: Thu Aug 16, 2018 3:12 pm

Re: FreeCAD Versioning

Post by waebbl »

chrisb wrote: Mon Feb 28, 2022 8:02 am We could of course distinguish between the version of a precompiled package and the FreeCAD version inside. But that would sure lead to other confusion: imagine you install the package 0.19.5 and you get 0.19.3.
So it seems very reasonable to me to increase the minor number as soon as a new package is provided.
How about appending a release number, i.e. instead of naming the package FreeCAD-0.19.3-WIN-x64-installer-4.exe, name it like FreeCAD-0.19.3-WIN-x64-installer-r4.exe? In Gentoo we use this scheme to trigger recompilation of a package if something has changed, that *should* cause a rebuild.
adrianinsaval
Veteran
Posts: 3158
Joined: Thu Apr 05, 2018 5:15 pm

Re: FreeCAD Versioning

Post by adrianinsaval »

what's the difference between putting 4 at the end or putting r4 at the end? in any case it could be put at the end of the version number 0.19.3-r4 or 0.19.3-4
redbaron2 wrote: Mon Feb 28, 2022 6:58 am Due to the logical processing of a updater for most automatic updating packages in the Chocolatey Community Feed. The jumping of this or that installer file without a filename version change causes problems.

Current freeCAD Installer
https://github.com/FreeCAD/FreeCAD/releases/download/0.19.3/FreeCAD-0.19.3-WIN-x64-installer-4.exe
The basic reading of this url gives the impression that the version is 0.19.3 but when looking at the File Version of the installer it is 0.19.3.4
This version update is not made available without downloading the installer file and reading that file version. This will take valuable time and bandwidth that could have been made easier by just changing the url to read https://github.com/FreeCAD/FreeCAD/rele ... 3/FreeCAD-0.19.3.4-WIN-x64-installer.exe

There are other methods of deducing a file change, but they all require wasting bandwidth to check for additional data points and then comparing them. If the developers do not want to change the current status quo. I can make it so that the digit before the file extension is automatically added to the version to create a version of (Ex: 0.19.3.4), but making the url change would be more legible in the future.
Wasn't this PR supposed to detect the number change at the end? https://github.com/chocolatey-community ... /pull/1646 I thought the issue was fixed so I didn't insist on the naming.
GeneFC
Veteran
Posts: 3502
Joined: Sat Mar 19, 2016 3:36 pm
Location: Punta Gorda, FL

Re: FreeCAD Versioning

Post by GeneFC »

waebbl wrote: Wed Mar 09, 2022 5:51 am In Gentoo we use this scheme to trigger recompilation of a package if something has changed, that *should* cause a rebuild.
There is no need to rebuild or reinstall in this case. Anyone with an installed version will see zero benefit from reinstalling.

Gene
adrianinsaval
Veteran
Posts: 3158
Joined: Thu Apr 05, 2018 5:15 pm

Re: FreeCAD Versioning

Post by adrianinsaval »

GeneFC wrote: Wed Mar 09, 2022 2:44 pm There is no need to rebuild or reinstall in this case. Anyone with an installed version will see zero benefit from reinstalling.
this is true from -3 to -4 but it can't be generalized as this wasn't the case with previous installers that changed dependencies because they had bugs.
User avatar
waebbl
Posts: 165
Joined: Thu Aug 16, 2018 3:12 pm

Re: FreeCAD Versioning

Post by waebbl »

adrianinsaval wrote: Wed Mar 09, 2022 2:18 pm what's the difference between putting 4 at the end or putting r4 at the end? in any case it could be put at the end of the version number 0.19.3-r4 or 0.19.3-4
The -r4 isn't a part of the version number, but interpreted as a suffix with a special meaning. Using -4 has no pre-defined meaning and is open for interpretation (and illegal in Gentoo) and using 0.19.3.4 is an entire different version. A revision suffix still refers to the 0.19.3 version with minor internal changes or bug fixes done by the package maintainers and not the upstream developers.

See the Gentoo Package Manager Specification for how it's done there. That's just an example, but there's a difference between 0.19.3-r4 and 0.19.3-4 or 0.19.3.4.

GeneFC wrote: Wed Mar 09, 2022 2:44 pm There is no need to rebuild or reinstall in this case. Anyone with an installed version will see zero benefit from reinstalling.
Then what's the reason to publish a different package in the first place? It can confuse package maintainers and users alike, if they see a new archive (zip, installer, you name it), but don't have a benefit when they update with this archive.
GeneFC
Veteran
Posts: 3502
Joined: Sat Mar 19, 2016 3:36 pm
Location: Punta Gorda, FL

Re: FreeCAD Versioning

Post by GeneFC »

waebbl wrote: Wed Mar 09, 2022 5:48 pm Then what's the reason to publish a different package in the first place? It can confuse package maintainers and users alike, if they see a new archive (zip, installer, you name it), but don't have a benefit when they update with this archive.
This was a special and somewhat unique case. A specific corporate-type user asked for a totally silent installer for automatic installation across a user base. The underlying FreeCAD code was unchanged.

I don't use package managers, and I expect most individual users do not use package managers either. I don't really understand the problem seen by Chocolatey, since an update to FreeCAD was not created and was not necessary. It seems like they are playing with numbers and not substance.

Gene
adrianinsaval
Veteran
Posts: 3158
Joined: Thu Apr 05, 2018 5:15 pm

Re: FreeCAD Versioning

Post by adrianinsaval »

GeneFC wrote: Wed Mar 09, 2022 6:00 pm This was a special and somewhat unique case. A specific corporate-type user asked for a totally silent installer for automatic installation across a user base. The underlying FreeCAD code was unchanged.

I don't use package managers, and I expect most individual users do not use package managers either. I don't really understand the problem seen by Chocolatey, since an update to FreeCAD was not created and was not necessary. It seems like they are playing with numbers and not substance.
As you yourself said in just the previous paragraph this is a special case and therefore it is not representative. When a new installer does represent an improvement to the user the same naming issue will be present. It seems to me that it would be trivial to name the installer FreeCAD-0.19.3-r4-WIN-x64-installer.exe instead of FreeCAD-0.19.3-WIN-x64-installer-4.exe so why don't we start doing that in the future? previously some unknown third party packager asked for a silent installer and we provided, why not provide a simple naming scheme to this one? (for future releases, no point renaming this one)
User avatar
waebbl
Posts: 165
Joined: Thu Aug 16, 2018 3:12 pm

Re: FreeCAD Versioning

Post by waebbl »

GeneFC wrote: Wed Mar 09, 2022 6:00 pm This was a special and somewhat unique case. A specific corporate-type user asked for a totally silent installer for automatic installation across a user base. The underlying FreeCAD code was unchanged.
I see. Maybe publishing this specifically crafted package version on the github release page might not be the optimal way for distribution. Eventually a distribution channel like email, another place on github or a special release with clear remarks could have avoided the confusion.

I don't use package managers, and I expect most individual users do not use package managers either. I don't really understand the problem seen by Chocolatey, since an update to FreeCAD was not created and was not necessary. It seems like they are playing with numbers and not substance.
I don't know either Chocolatey nor the maintainers packaging for it and won't judge on them, nor comment on judges. Personally, I find your last sentence somewhat rude.

However, like I said before, the presence of a new archive triggers package maintainers to check whether an update of their package is needed. That's part of their job after all, as is playing with version numbers, as these mark changes in the code. That's the meaning of versioning in the first place. At least in theory, it might even trigger more sophisticated package managers (the software) to download the new package and provide early checks on them prior to building the package. Just think of AI getting into package managers doing automatic packaging tasks.

In cases like this, a simple note on the release page could have helped them to notice that no update of their package is needed and avoid the confusion. In general, an internal specification on the naming scheme of FreeCAD releases could be a helpful and meaningful step.
User avatar
uwestoehr
Veteran
Posts: 4297
Joined: Sun Jan 27, 2019 3:21 am
Location: Germany

Re: FreeCAD Versioning

Post by uwestoehr »

redbaron2 wrote: Tue Feb 22, 2022 10:36 pm The latest builds have been having very funny names for the installers
I would like to suggest that these digits be added to the correct area of the installer File Name like (ex: FreeCAD-0.19.3.3-WIN-x64-installer.exe)
FreeCAD has the Version 0.19.3. Then there are several installer versions for this release. This is reflected in the "file version" of the installer.

I think it is clear that when you run an installer for FC 0.19.3, you get FC 0.19.3 and this is the case. And of course a version number is necessary to distinguish different installer builds.

"FreeCAD-0.19.3.3" would mean there is a FreeCAD release FreeCAD-0.19.3.3, but the naming scheme only has 3 levels.
Post Reply