Add a version epoch to supersede Raspberry Pi's libcamera - #14
Merged
Conversation
Kurokesu's libcamera pins its patches to a fixed upstream snapshot, so Raspberry Pi's monotonic +rptYYYYMMDD date eventually overtakes ours. Without an epoch, apt keeps RPi's newer libcamera as an already-satisfied dependency of rpicam-apps and our camera support is silently dropped. Add a Debian epoch (1:) so our package is unconditionally the higher version regardless of date. The epoch is comparison-only: colons are illegal in git refs and rejected by upload-artifact, so the release tooling keeps it out of tags and asset filenames and applies it only to the .deb version apt compares. - d/changelog: 1:0.7.1+rpt20260429+krks1-4 - _build.yml: strip the epoch for the orig tarball, source dir and asset name; the .deb keeps it via the packaging version - release.yml: strip the epoch before the tag-vs-changelog check - release.sh: derive epoch-free source and packaging tags - d/source/README.source: document the epoch in the version scheme and the tag convention Signed-off-by: Danius Kalvaitis <danius@kurokesu.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
monotonic
+rptYYYYMMDDdate eventually overtakes ours. Without anepoch, apt keeps RPi's newer libcamera as an already-satisfied
dependency of rpicam-apps and our camera support is silently dropped.
1:) so Kurokesu's libcamera is unconditionallythe higher version regardless of date
(
1:0.7.1+rpt20260429+krks1-4).rejected by
upload-artifact, so the release tooling keeps it out oftags and asset filenames and applies it only to the
.debversionapt compares:
_build.yml: strip the epoch for the orig tarball, source dir andasset name; the
.debkeeps it via the packaging version.release.yml/release.sh: derive epoch-free tags and strip theepoch before the tag-vs-changelog check.
d/source/README.source: document the epoch in the version schemeand the tag convention.
Note
The epoch is permanent, removing it later is itself a downgrade. This
is intentional: Kurokesu's libcamera should always supersede stock.
Test plan
./release.sh(dry run) reports colon-free tags:v0.7.1+rpt20260429+krks1anddebian/0.7.1+rpt20260429+krks1-4.dpkg --compare-versions 1:0.7.1+rpt20260429+krks1-4 gt 0.7.1+rpt20260609-1holds (ours outranks RPi's trixie stock).
-4): rebuild rpicam-appsagainst the pin and confirm a clean-Pi
apt install rpicam-appspulls Kurokesu's libcamera.