[Git][reproducible-builds/reproducible-website][master] Add Hamburg summit rb-commandments
Bernhard M. Wiedemann (@bmwiedemann-guest)
gitlab at salsa.debian.org
Thu Nov 2 13:29:16 UTC 2023
Bernhard M. Wiedemann pushed to branch master at Reproducible Builds / reproducible-website
Commits:
f27e6967 by Bernhard M. Wiedemann at 2023-11-02T14:28:42+01:00
Add Hamburg summit rb-commandments
from https://pad.riseup.net/p/rbsummmit2023-d2m-10commandments-keep
- - - - -
1 changed file:
- + _events/hamburg2023/notes/rb-commandments.md
Changes:
=====================================
_events/hamburg2023/notes/rb-commandments.md
=====================================
@@ -0,0 +1,58 @@
+RB Ten Commandments
+
+original draft:
+
+
+ Commandments by the church of reproducible builds
+
+
+1. Thou shall not record the name of thy maker nor the place of thy making (username, hostname)
+2. Thou shall not record the date nor time of thy making, unless you respect the holy SDE spec (date+time)
+3. Thou shall not use memory without initialization or use memory addresses to decide outcomes (ASLR)
+4. Thou shall do all your work in order - not use filesystem-readdir-order nor random order of hash elements
+5. Thou shall not (gamble and) record random numbers (UUID, private/public key, hash-seed, ASLR)
+6. Thou shall only do one thing at a time or ensure races do no harm (parallelism)
+7. Thou shall not look at build machine processor capabilities
+8. Thou shall not look at build machine benchmarks for optimizations
+9. Thou shall be careful with profile-guided-optimization for it can amplify any sin (non-determinism)
+10. Thou shall keep your workspace env clean of timezones, locales and umasks or ensure they do no harm
+11. Thou shall not access the internet during build (servers can be down, contents can change)
+12. Thou shall take note of your build inputs (versions and/or hashes)
+
+
+##Notes
+
+will slightly re-order existing entries to cover most common problems first
+reword 11th to "allow offline builds"
+
+drop|soften 12th because that is what distributions do in SBOMs "only if you distribute binaries yourself"
+
+#8 and #9 are different, because PGO can be done deterministically and is different from benchmarking
+
+not cover `BUILD_PATH_PREFIX` as builders can use a constant build path with current container tech
+
+
+
+## raw notes
+* build path: new rule? more in rule 1?
+* random tmpdir in binary...
+ * part of rule 5, or new subrule?
+* consider oder by frequency?
+* target audience: upstream source code owners.
+ * (implies: don't rant at them about things distro will do, e.g. input manifest style)
+* ... how can we communicate "no internet during build (but a fetch phase is fine if it's clear/separate/?)" ... to single package upstreams? (e.g. rule 11)
+ * "thou shalt not adulterate other computers during the build" ??
+ * weird phrasing, but complicated topic so maybe weird words give pause, and that's appropriate?
+* rule 11 += "have well documented fetch directory layour expectation"
+ * -> someone else can reasonably provide it.
+* rule 11 += "or in pennace thou must make the way clear for other saints and clearhearted neighbors to provide for thy needs in their own clean ways."
+* rule 11: just "Thou shall allow offline builds"
+* links to theunreproduciblepackage as additional guidance for each item
+* are rule 8 & 9 duplicates?
+ * disputed, BUT: people talk about "PGO" often enough that we give them a lightning rod.
+* rule for clean your cache? might already be obvious.
+* `BUILD_PATH_PREFIX` reference in #1 (or in another rule about build paths).
+* are 3 and 5 dupe?
+ * 5 is things you control obviously
+ * 3 deserves callout because it is something the OS surprises you with, so we tell you about it
+* move 3 down; it's rarer
View it on GitLab: https://salsa.debian.org/reproducible-builds/reproducible-website/-/commit/f27e69673466b5409f95c206639a5bbf9a575ab2
--
View it on GitLab: https://salsa.debian.org/reproducible-builds/reproducible-website/-/commit/f27e69673466b5409f95c206639a5bbf9a575ab2
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.reproducible-builds.org/pipermail/rb-commits/attachments/20231102/efe9cec3/attachment.htm>
More information about the rb-commits
mailing list