Rebuilders
This page is trying to document the different tools for rebuilding:
orchestrators
- https://github.com/kpcyrd/rebuilderd (Agnostic) -
https://github.com/fepitre/package-rebuilder
rebuilder-backends
- https://github.com/archlinux/archlinux-repro (Arch Linux) -
https://github.com/archlinux/devtools/blob/master/makerepropkg.in (Arch Linux) - https://salsa.debian.org/debian/devscripts/-/blob/master/scripts/debrebuild.pl (Debian) - https://github.com/fepitre/debrebuild (Python rewrite of the above, +more) - https://github.com/fepitre/rpmreproduce (Fedora on Qubes OS)
clients/frontends
https://github.com/kpcyrd/ismyarchverifiedyet (Arch Linux) - https://github.com/archlinux/arch-repro-status (Arch Linux)
verifiers?
(I wonder how we can contrast a more thorough attestation verification vs regular client/frontends)
- https://github.com/tweag/trustix
- https://github.com/in-toto/apt-transport-in-toto
- https://github.com/fepitre/dnf-plugin-in-toto
outside the above model
for OCaml / OPAM we have some infrastructure as well - the builder
(capturing everything [installed packages, environment variables, sources
used]) is orb build
, the rebuilder is orb rebuild
(from
<https://github.com/roburio/orb). for scheduling we’re currently using
builder (https://github.com/roburio/builder) and have a web frontend
(https://git.robur.io/robur/builder-web) – live at
https://builds.robur.coop
Introduction
Achieve deterministic builds
- SOURCE_DATE_EPOCH
- 確実なビルドシステム(Deterministic build systems)
- 揮発性のある入力データは消える場合がある(Volatile inputs can disappear)
- 入力データの順序を固定する(Stable order for inputs)
- 値を初期化する(Value initialization)
- バージョン情報(Version information)
- タイムスタンプ(Timestamps)
- タイムゾーン(Timezones)
- ロケール(Locales)
- アーカイブのメタデータ(Archive metadata)
- 出力データの順序を固定する(Stable order for outputs)
- 無作為性(Randomness)
- ビルド時のファイルシステムパス(Build path)
- システムイメージ(System images)
- JVM
Define a build environment
- ビルド環境に含む要素(What's in a build environment?)
- ビルド環境を記録する(Recording the build environment)
- ビルド環境の定義における戦略(Definition strategies)
- Proprietary operating systems
Distribute the environment
Verification
Specifications
Follow us on Twitter @ReproBuilds, Mastodon @reproducible_builds@fosstodon.org & Reddit and please consider making a donation. • Content licensed under CC BY-SA 4.0, style licensed under MIT. Templates and styles based on the Tor Styleguide. Logos and trademarks belong to their respective owners. • Patches welcome via our Git repository (instructions) or via our mailing list. • Full contact info