This subforum is specifically to discuss packaging issues on different platforms (windows, mac, linux), and using different packaging systems (conda, etc...)
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
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.
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.
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.
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!
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!
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.
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.
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.
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"