Currently a mess, it's not consistent. Some increment pkgver by one, others by 0.1.. There's no policy about that, would be nice to have one. Either increment pkgver by one, or by 0.1. IMO I don't really care, as long as it's consistent.
Edit: TODO:
Update pmbootstrap newapkbuild command to generate a pkgver=1 instead of pkgver=0.1
(Optional) Add CI that check "if checksums change, update pkgver, else pkgrel". Should be possible to disable for the cases were there is a legit use-case.
Cc: @pabloyoyoista
✓
5 of 5 checklist items completed
· Edited
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items 0
Show closed items
No child items are currently assigned. Use child items to break down this issue into smaller parts.
Linked items 0
Link issues together to show that they're related.
Learn more.
There was a previous attempt to fix that, by using semantic versioning instead: #1717 (closed) However, the proposal was rejected. Maybe we should try again, but with another technical proposal? The easiest to implement (that was also proposed before) is to have a single number. But not sure if there are some people still against it.
That's already better than what we have now. But maybe forcing pkgrel to always 0 is helpful for device maintainers (they would not have to think at all as sicelo mentions). And probably quite easy to check on CI compared to everything else.
+1 for enforcing proposed "simple increment" - for device packages there is no reason whatsoever to use semver: there is no "api", every change is a meaningful change that will probably change the device state in some way, and people just bump "patch" bit all the time anyway if a device has semver numbering since no one understand or is just scared to be the one to bump "rel"...
I had a bit of fun with the semver things earlier in !4826 where I had to add extra scripting to un-semver the version bump...
The problem with inconsistency is inconsistency itself. From a maintainer perspective, it's brain-power spent on reviewing MRs to try understand if the pkgver increase makes any sense.
And yes, I totally agree with the final decision from #1717 (closed) and I personally find it still valid.
The decision there was to not use semver, not that things should remain inconsistent forever. Though maybe we discuss it again, and reach the same conclusion, who knows.
From a maintainer perspective, it's brain-power spent on reviewing MRs to try understand if the pkgver increase makes any sense.
It always makes sense, of course. It is dictated by apk, is it not? Somewhere in Alpine docs (or is it pmOS?) it is stated that if source files are touched, pkgver shall be bumped, and if it's only the packaging, then pkgrel is bumped. I would like to think that's a simple enough concept.
As a result, I see absolutely no reason for a maintainer to spend any brain power on the pkgver (or its delta) at all. Hence the still the unanswered question ... What (real) problem has been caused by the inconsistency and lack of a policy regarding versioning?
It always makes sense, of course. It is dictated by apk, is it not? Somewhere in Alpine docs (or is it pmOS?) it is stated that if source files are touched, pkgver shall be bumped, and if it's only the packaging, then pkgrel is bumped. I would like to think that's a simple enough concept.
It's simple enough, but not everyone follows it unless reminded (let alone knows about it), which means more review questions that really don't amount to much meaningful change once resolved.
As a result, I see absolutely no reason for a maintainer to spend any brain power on the pkgver (or its delta) at all. Hence the still the unanswered question ... What (real) problem has been caused by the inconsistency and lack of a policy regarding versioning?
I think ideally we would come up with a system that is obvious and doesn't require linking to docs or reminding. Personally I would be in favour of only having a pkgver that gets bumped, but I don't think we can remove the pkgrel property from packages. It would have to be proposed upstream.
So we discussed a bit in the meeting today, taking all this input into consideration. Our ideal solution for this would be:
Keep using pkgver and pkgrel as recommended in the wiki and as everybody knows how to do from here and Alpine (if checksums change, update pkgver, else pkgrel)
Force pkgver to be an ever-increasing integer. (Personsal Joke: if our problem is device-oneplus-enchilada=34561-r3 we might as well die of success)
To achieve this we should:
Update pmbootstrap newapkbuild command to generate a pkgver=1 instead of pkgver=0.1
Document it in the wiki
Add CI that at least checks that all pkgvers are integers. Might mean scripting changes over the whole repo (hopefully @TravMurav experience can help here) to update current packages.
(Optional) Add CI that check "if checksums change, update pkgver, else pkgrel". Should be possible to disable for the cases were there is a legit use-case.
@funderscore or anybody else, what do you think? Do you have the motivation to work on this?
Administratormarked the checklist item Add CI that at least checks that all pkgvers are integers. as completed·
Imported
marked the checklist item Add CI that at least checks that all pkgvers are integers. as completed
By Pablo Correa Gomez on 2024-05-15T14:57:41
Administratormarked the checklist item Update existing device packages as completed·
Imported
marked the checklist item Update existing device packages as completed
By Pablo Correa Gomez on 2024-05-15T14:57:42
Administratormarked the checklist item (Optional) Add CI that check "if checksums change, update pkgver, else pkgrel". Should be possible to disable for the cases were there is a legit use-case. as completed·
Imported
marked the checklist item (Optional) Add CI that check "if checksums change, update pkgver, else pkgrel". Should be possible to disable for the cases were there is a legit use-case. as completed