FreeCAD Versioning

This subforum is specifically to discuss packaging issues on different platforms (windows, mac, linux), and using different packaging systems (conda, etc...)
redbaron2
Posts: 30
Joined: Fri Dec 14, 2018 7:21 pm

Re: FreeCAD Versioning

Post by redbaron2 »

uwestoehr wrote: Wed Mar 09, 2022 6:53 pm 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.
This is exactly the problem.
uwestoehr wrote: Wed Mar 09, 2022 6:53 pm 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.
The problem with this logic is that one of your consumers downloads file FreeCAD-0.19.3-WIN-x64-installer-4.exe are they going to
  • Accept it to be version 0.19.3
  • Accept it to be version 0.19.3-4 *
  • Accept it to be version 0.19.3.4 **
* Maybe the developers made a mistake on this version
** Maybe the developers forgot to update the compiler
uwestoehr wrote: Wed Mar 09, 2022 6:53 pm "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.
That is why this topic is here the version naming semver can allow for Major.Minor.Revision.Stable
User avatar
uwestoehr
Veteran
Posts: 4961
Joined: Sun Jan 27, 2019 3:21 am
Location: Germany
Contact:

Re: FreeCAD Versioning

Post by uwestoehr »

I think I made my point. If one likes to misunderstand, then we cannot do anything. We have a website where the versioning is clear.
redbaron2
Posts: 30
Joined: Fri Dec 14, 2018 7:21 pm

Re: FreeCAD Versioning

Post by redbaron2 »

I have decided the best course of action for the update of the FreeCAD Chocolatey package.
It will take the version from the fileName and add the digit before the file extension (EX: FreeCAD-0.19.4-WIN-x64-installer-2.exe) to become 0.19.4.2)

Since NO ONE here has any better Options just plenty of Opinions. I will proceed in this direction from uwestoehr's clear guidance.
User avatar
uwestoehr
Veteran
Posts: 4961
Joined: Sun Jan 27, 2019 3:21 am
Location: Germany
Contact:

Re: FreeCAD Versioning

Post by uwestoehr »

redbaron2 wrote: Tue Mar 29, 2022 2:43 am I have decided the best course of action for the update of the FreeCAD Chocolatey package.
It will take the version from the fileName and add the digit before the file extension (EX: FreeCAD-0.19.4-WIN-x64-installer-2.exe) to become 0.19.4.2)
No. And why?

The FreeCAD scheme is this:
main.major.minor
That is it.
Why is it so important to incorporate the Win installer number? Is it just for the Win installer, and totally independent of FreeCAD's version.
redbaron2
Posts: 30
Joined: Fri Dec 14, 2018 7:21 pm

Re: FreeCAD Versioning

Post by redbaron2 »

uwestoehr wrote: Tue Mar 29, 2022 2:53 am ... Why is it so important to incorporate the Win installer number? Is it just for the Win installer, and totally independent of FreeCAD's version.
The packages for nuget/chocolatey are immutable. When FreeCAD updates to the latest version of the installer even though the core version of FreeCAD has NOT changed. I nor any other entity can MAKE any Changes to the previous package. The only other method of updating the package is to take the date that the change was detected. This would result in 0.19.4.20220328 for example if the change was found today.
User avatar
uwestoehr
Veteran
Posts: 4961
Joined: Sun Jan 27, 2019 3:21 am
Location: Germany
Contact:

Re: FreeCAD Versioning

Post by uwestoehr »

redbaron2 wrote: Tue Mar 29, 2022 3:09 am The packages for nuget/chocolatey are immutable. When FreeCAD updates to the latest version of the installer even though the core version of FreeCAD has NOT changed. I nor any other entity can MAKE any Changes to the previous package. The only other method of updating the package is to take the date that the change was detected. This would result in 0.19.4.20220328 for example if the change was found today.
I don't really understand what you are speaking about. What counts for packaging is FreeCAD. The installer is only a package of FreeCAD for Windows. And it is even not the only one. So when you make a build of FreeCAD only take the FreeCAD sources from GitHub, not a package!

So you must build your package from the Source Code ZIP file:
https://github.com/FreeCAD/FreeCAD/releases/tag/0.19.4
and not any installer provided there.
User avatar
adrianinsaval
Veteran
Posts: 5541
Joined: Thu Apr 05, 2018 5:15 pm

Re: FreeCAD Versioning

Post by adrianinsaval »

redbaron2 wrote: Tue Mar 29, 2022 2:43 am I have decided the best course of action for the update of the FreeCAD Chocolatey package.
It will take the version from the fileName and add the digit before the file extension (EX: FreeCAD-0.19.4-WIN-x64-installer-2.exe) to become 0.19.4.2)

Since NO ONE here has any better Options just plenty of Opinions. I will proceed in this direction from uwestoehr's clear guidance.
Go ahead, I would call it 0.19.4-2 though, to differentiate from the actual freecad version number. I don't understand what was the issue with doing this from the get go? I thought there was a problem with detecting the number at the end or something like that because otherwise I really don't see what solution you were needing here, we agreed we should change the installer when needed, and changing the installer does not warrant a new version number of FreeCAD. And keeping the same file name for the installer is not helpful either because the hash wouldn't match.
uwestoehr wrote: Tue Mar 29, 2022 11:04 am I don't really understand what you are speaking about. What counts for packaging is FreeCAD. The installer is only a package of FreeCAD for Windows. And it is even not the only one. So when you make a build of FreeCAD only take the FreeCAD sources from GitHub, not a package!

So you must build your package from the Source Code ZIP file:
https://github.com/FreeCAD/FreeCAD/releases/tag/0.19.4
and not any installer provided there.
chocolatey packages don't usually build from source, it's just a wrapper around the official windows installer. A reasonable thing to ask of FreeCAD would be to keep the naming CONSISTENT, if the installer-#.exe format has been decided then stick to it, without ommiting or adding characters.
Last edited by adrianinsaval on Tue Mar 29, 2022 4:28 pm, edited 1 time in total.
User avatar
uwestoehr
Veteran
Posts: 4961
Joined: Sun Jan 27, 2019 3:21 am
Location: Germany
Contact:

Re: FreeCAD Versioning

Post by uwestoehr »

adrianinsaval wrote: Tue Mar 29, 2022 3:11 pm chocolatey packages don't usually build from source, it's just a wrapper around the official windows installer. I reasonable thing to ask of FreeCAD would be to keep the naming CONSISTENT, if the installer-#.exe format has been decided then stick to it, without ommiting or adding characters.
I don't understand what the Chocolatey package is then for.
The Win installer packs all compiled FreeCAD files. It is basically a ZIP file + some scripts to change the registry.
Taking this as base for a package sounds strange to me because the result would be a package that extracts another package. But then one can use the Win installer also directly.

Can you please explain me the benefit of Chocolatey? What I read here is not very informative: https://en.wikipedia.org/wiki/Chocolatey It seems to do the same our Win installer already does (that uses NSIS: https://en.wikipedia.org/wiki/Nullsoft_ ... all_System).
User avatar
adrianinsaval
Veteran
Posts: 5541
Joined: Thu Apr 05, 2018 5:15 pm

Re: FreeCAD Versioning

Post by adrianinsaval »

It's simple, I would just need to write choco install freecad and be done, no need to go to the download page, get the installer and go through the installation process or search what flags i need to pass it to make a silent install. It's just some automation (I guess wrapper wasn't the correct term). The chocolatey "package" just has scripts and downloads the installer from github, there is no double zipping of the binary.
redbaron2
Posts: 30
Joined: Fri Dec 14, 2018 7:21 pm

Re: FreeCAD Versioning

Post by redbaron2 »

adrianinsaval wrote: Tue Mar 29, 2022 3:11 pm Go ahead, I would call it 0.19.4-2 though, to differentiate from the actual freecad version number. I don't understand what was the issue with doing this from the get go? I thought there was a problem with detecting the number at the end or something like that because otherwise I really don't see what solution you were needing here, we agreed we should change the installer when needed, and changing the installer does not warrant a new version number of FreeCAD. And keeping the same file name for the installer is not helpful either because the hash wouldn't match.
adrianinsaval to name the package 0.19.4-2 would label it in nuget/chocolatey "-Suffix (optional): a hyphen followed by a string denoting a pre-release version"
Post Reply