Give development builds their own Debian package version
make deb versions a build that isn't a release after the last tag: 0.2.0~rc.1+git3.gca0f148, plus the build time (.m<UTC time>) with uncommitted changes. apt sorts it after that RC and before the next, so installing it over the RC or an older build is an upgrade and needs no --reinstall. mkdeb.sh removes older packages of the same architecture from dist/ so the install globs match one package. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
fb1ee09250
commit
e1bcb5d479
4 files changed
+28
-2
No files matched your search
@@ -252,6 +252,15 @@ it on Gitea). Only a release build reports a version number:
|
||||
|
||||
`RELEASE_TAG=v0.2.0 make` forces the first case.
|
||||
|
||||
`make deb` versions the packages the same way. A release gets `VERSION`
|
||||
with `~` for `-` (`0.2.0~rc.1`). A development build gets a version after
|
||||
the last tag: 3 commits past `v0.2.0-rc.1` is `0.2.0~rc.1+git3.gca0f148`,
|
||||
and uncommitted changes add the build time (`.m20261009153000`). apt sorts
|
||||
these after that RC and before the next one or `0.2.0`. So installing a
|
||||
newer build over an older one, or over the RC, is an upgrade: plain
|
||||
`apt install ./dist/…` works, without `--reinstall`. `make deb` removes
|
||||
older packages of the same architecture from `dist/` first.
|
||||
|
||||
Pushing the same tag again (`git tag -f`, `git push -f`) re-runs it, and
|
||||
the script replaces the attachments and packages, so a failed release can
|
||||
simply be retried.
|
||||
|
||||
Reference in new issue
Block a user