build: Change weekly versioning scheme of debian packages #2257

Merged
Jade merged 1 commit from spaetz/continuwuity:debversion into main 2026-10-12 09:13:24 +00:00
Member

This pull request changes the weekly versioning naming scheme in order to improve the sort order.

Right now our weekly Debian versioning scheme is VERSION="$BASE_VERSION~git$DATE.$SHA-$CLEAN_COMPONENT".
This sorts weekly releases AFTER the BASE_VERSION, so when both stable
and unstable are enabled, we never get weekly versions installed.
https://wiki.debian.org/Versioning proposes {upcoming_version}~git{date}.{hash}-{revision} for nightly releases, which means we would have to know the release number of the upcoming version in advance. I don't think that is useful for us.

By switching from a tilde to a dash, our weekly versions are now sorted
above the stable base version and we will install the weekly versions
over the base version, which I believe is closer to what we intend.

Fixes: #2081

Pull request checklist:

If you aren't sure about some, feel free to ask for clarification in #dev:continuwuity.org. -->

  • This pull request targets the main branch, and the branch is named something other than
    main.
  • I have written an appropriate pull request title and my description is clear.
  • I understand I am responsible for the contents of this pull request.
  • I have followed the contributing guidelines:
This pull request changes the weekly versioning naming scheme in order to improve the sort order. Right now our weekly Debian versioning scheme is VERSION="$BASE_VERSION~git$DATE.$SHA-$CLEAN_COMPONENT". This sorts weekly releases AFTER the BASE_VERSION, so when both stable and unstable are enabled, we never get weekly versions installed. https://wiki.debian.org/Versioning proposes {upcoming_version}~git{date}.{hash}-{revision} for nightly releases, which means we would have to know the release number of the upcoming version in advance. I don't think that is useful for us. By switching from a tilde to a dash, our weekly versions are now sorted above the stable base version and we will install the weekly versions over the base version, which I believe is closer to what we intend. <!-- Example: This pull request allows us to warp through time and space ten times faster than before by double-inverting the warp drive with hyperheated jump fluid, both making the drive faster and more efficient. This resolves the common issue where we have to wait more than 10 milliseconds to engage, use, and disengage the warp drive when travelling between galaxies. --> <!-- Closes: #... --> Fixes: #2081 <!-- Uncomment the above line(s) if your pull request fixes an issue or closes another pull request by superseding it. Replace `#...` with the issue/pr number, such as `#123`. --> **Pull request checklist:** If you aren't sure about some, feel free to ask for clarification in #dev:continuwuity.org. --> - [X] This pull request targets the `main` branch, and the branch is named something other than `main`. - [X] I have written an appropriate pull request title and my description is clear. - [X] I understand I am responsible for the contents of this pull request. - I have followed the [contributing guidelines][c1]: - [X] My contribution follows the [code style][c2], if applicable. - [X] I ran [pre-commit checks][c1pc] before opening/drafting this pull request. - [X] I have [tested my contribution][c1t] (or proof-read it for documentation-only changes) myself, if applicable. This includes ensuring code compiles. - [X] My commit messages follow the [commit message format][c1cm] and are descriptive. [c1]: https://forgejo.ellis.link/continuwuation/continuwuity/src/branch/main/CONTRIBUTING.md [c2]: https://forgejo.ellis.link/continuwuation/continuwuity/src/branch/main/docs/development/code_style.mdx [c1pc]: https://forgejo.ellis.link/continuwuation/continuwuity/src/branch/main/CONTRIBUTING.md#pre-commit-checks [c1t]: https://forgejo.ellis.link/continuwuation/continuwuity/src/branch/main/CONTRIBUTING.md#running-tests-locally [c1cm]: https://forgejo.ellis.link/continuwuation/continuwuity/src/branch/main/CONTRIBUTING.md#commit-messages
Owner

https://wiki.debian.org/Versioning proposes {upcoming_version}~git{date}.{hash}-{revision} for nightly releases, which means we would have to know the release number of the upcoming version in advance. I don't think that is useful for us.

Technically, we can guess the "upcoming" version number. The first component of the version string is the last two digits of the current year, the second component is the current unpadded numeric month, and then the final component is just a serial value that increments for each release.
It's probably fair to assume that the final component can just be N+1, unless the numeric month or year values don't match the latest release, in which case it can just be Y.M.0. I'm pretty sure all of this can be calculated trivially in bash, but ofc if you don't want to do the work for semantic gains that's fine too

> https://wiki.debian.org/Versioning proposes {upcoming_version}~git{date}.{hash}-{revision} for nightly releases, which means we would have to know the release number of the upcoming version in advance. I don't think that is useful for us. Technically, we can guess the "upcoming" version number. The first component of the version string is the last two digits of the current year, the second component is the current unpadded numeric month, and then the final component is just a serial value that increments for each release. It's probably fair to assume that the final component can just be N+1, unless the numeric month or year values don't match the latest release, in which case it can just be Y.M.0. I'm pretty sure all of this can be calculated trivially in bash, but ofc if you don't want to do the work for semantic gains that's fine too
nex approved these changes 2026-09-19 01:17:06 +00:00
Jade force-pushed debversion from 27689a63f0
Some checks failed
Documentation / Build and Deploy Documentation (pull_request) Has been skipped
Auto Labeler / Apply labels based on changed files (pull_request_target) Successful in 4s
Checks / Prek / Check changed files (pull_request) Successful in 5s
Checks / Changelog / Check changelog is added (pull_request_target) Successful in 9s
Checks / Prek / Clippy and Cargo Tests (pull_request) Has been skipped
Checks / Prek / Pre-commit & Formatting (pull_request) Failing after 1m9s
Update flake hashes / update-flake-hashes (pull_request) Successful in 1m44s
to be269ea39a
Some checks failed
Documentation / Build and Deploy Documentation (pull_request) Has been skipped
Checks / Changelog / Check changelog is added (pull_request_target) Successful in 7s
Checks / Prek / Check changed files (pull_request) Successful in 6s
Checks / Prek / Pre-commit & Formatting (pull_request) Failing after 1m44s
Checks / Prek / Clippy and Cargo Tests (pull_request) Has been skipped
2026-10-04 22:31:38 +00:00
Compare
Jade force-pushed debversion from be269ea39a
Some checks failed
Documentation / Build and Deploy Documentation (pull_request) Has been skipped
Checks / Changelog / Check changelog is added (pull_request_target) Successful in 7s
Checks / Prek / Check changed files (pull_request) Successful in 6s
Checks / Prek / Pre-commit & Formatting (pull_request) Failing after 1m44s
Checks / Prek / Clippy and Cargo Tests (pull_request) Has been skipped
to 8ec5641a6e
All checks were successful
Checks / Changelog / Check changelog is added (pull_request_target) Successful in 7s
Documentation / Build and Deploy Documentation (pull_request) Has been skipped
Checks / Prek / Check changed files (pull_request) Successful in 6s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 1m10s
Checks / Prek / Clippy and Cargo Tests (pull_request) Has been skipped
2026-10-04 23:28:48 +00:00
Compare
Jade merged commit b4a2a457a1 into main 2026-10-12 09:13:24 +00:00
Jade deleted branch debversion 2026-10-12 09:13:24 +00:00
Sign in to join this conversation.
No reviewers
nex
No milestone
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
continuwuation/continuwuity!2257
No description provided.