Skip to content

otamaker: Reject bad payload names, reproducible builds - #227

Merged
pelwell merged 2 commits into
raspberrypi:masterfrom
pelwell:otamaker
Nov 9, 2026
Merged

pelwell merged 2 commits into
raspberrypi:masterfrom
pelwell:otamaker

Conversation

@pelwell

@pelwell pelwell commented Nov 6, 2026

Copy link
Copy Markdown
Collaborator
  1. Demand that payload names are simple filenames, no more than 100 characters long and with no path elements such as slashes.

  2. If the SOURCE_DATE_EPOCH environment variable is set, use that as the timestamp on artefact tar achive members so that the whole file has a consistent SHA256 hash between builds if the content does not change. Manifest hashes are already consistent.

1. Demand that payload names are simple filenames, no more than 100
characters long and with no path elements such as slashes.

2. If the SOURCE_DATE_EPOCH environment variable is set, use that as the
timestamp on artefact tar achive members so that the whole file has a
consistent SHA256 hash between builds if the content does not change.
Manifest hashes are already consistent.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
Prior to this change, both legacy and manifest artefacts were created
with hashes in <output>.sha256sum. This would be a clean end point, but
is likely to be confusing to users in the short term. Instead, always
write manifest hashes to <output>.manifest.sha256sum, even when that is
the only hash being written.
@pelwell
pelwell merged commit 0855e3c into raspberrypi:master Nov 9, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant