[Git][reproducible-builds/reproducible-presentations][master] minidebconf hamburg 2025: wip, but almost there
Holger Levsen (@holger)
gitlab at salsa.debian.org
Sat May 3 13:57:28 UTC 2025
Holger Levsen pushed to branch master at Reproducible Builds / reproducible-presentations
Commits:
4071ab77 by Holger Levsen at 2025-05-03T15:57:16+02:00
minidebconf hamburg 2025: wip, but almost there
Signed-off-by: Holger Levsen <holger at layer-acht.org>
- - - - -
12 changed files:
- + 2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/images/all_rdn.png
- 2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/images/amd64_rdn.png
- 2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/images/arm64_rdn.png
- + 2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/images/armel_rdn.png
- 2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/images/armhf_rdn.png
- + 2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/images/forky-toy-story-4.rhorizontal.w700.jpg
- 2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/images/i386_rdn.png
- + 2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/images/minidebconfhh2025-logo.png
- + 2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/images/ppc64el_rdn.png
- 2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/images/riscv64_rdn.png
- + 2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/images/trixie.png
- 2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/index.html
Changes:
=====================================
2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/images/all_rdn.png
=====================================
Binary files /dev/null and b/2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/images/all_rdn.png differ
=====================================
2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/images/amd64_rdn.png
=====================================
Binary files a/2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/images/amd64_rdn.png and b/2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/images/amd64_rdn.png differ
=====================================
2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/images/arm64_rdn.png
=====================================
Binary files a/2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/images/arm64_rdn.png and b/2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/images/arm64_rdn.png differ
=====================================
2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/images/armel_rdn.png
=====================================
Binary files /dev/null and b/2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/images/armel_rdn.png differ
=====================================
2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/images/armhf_rdn.png
=====================================
Binary files a/2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/images/armhf_rdn.png and b/2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/images/armhf_rdn.png differ
=====================================
2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/images/forky-toy-story-4.rhorizontal.w700.jpg
=====================================
Binary files /dev/null and b/2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/images/forky-toy-story-4.rhorizontal.w700.jpg differ
=====================================
2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/images/i386_rdn.png
=====================================
Binary files a/2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/images/i386_rdn.png and b/2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/images/i386_rdn.png differ
=====================================
2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/images/minidebconfhh2025-logo.png
=====================================
Binary files /dev/null and b/2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/images/minidebconfhh2025-logo.png differ
=====================================
2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/images/ppc64el_rdn.png
=====================================
Binary files /dev/null and b/2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/images/ppc64el_rdn.png differ
=====================================
2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/images/riscv64_rdn.png
=====================================
Binary files a/2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/images/riscv64_rdn.png and b/2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/images/riscv64_rdn.png differ
=====================================
2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/images/trixie.png
=====================================
Binary files /dev/null and b/2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/images/trixie.png differ
=====================================
2025-05-03-reproduce.debian.net-rebuilding-what-is-distributed-from-ftp.debian.org/index.html
=====================================
@@ -184,6 +184,7 @@
<ul>
<li class="fragment">explain reproduce.debian.net
<li class="fragment">current status and outlook
+ <li class="fragment">(nothing outside Debian though there have been huge progresses too)
</ul>
</section>
@@ -194,6 +195,7 @@
<ol>
<li>Holger Levsen / h01ger. Debian user since 1995. Working on Reproducible Builds since 2014.</li>
<li class="fragment">Aiming to make all ❤️ Free Software reproducible.</li>
+ <li class="fragment">(...)</li>
</ol>
</section>
@@ -384,12 +386,12 @@
</section>
<section data-transition="none">
- <h2>Yesterday, 11 years ago...</h2>
+ <h2>FOSDEM, 11 years ago...</h2>
<img src="images/Screenshot_FOSDEM_2014.webm.png" width="80%">
</section>
<section data-transition="none">
- <h1>Yesterday, 10 years ago</h1>
+ <h1>FOSDEM, 10 years ago</h1>
<img src="images/Screenshot_FOSDEM_2015.mp4.png" width="100%">
</section>
@@ -499,9 +501,6 @@ Alpine Linux, Apache Maven, Arch Linux, Baserock, Bitcoin Core, BitShares, Build
<img src="images/fosdem2014-6.png" width="100%">
</section>
- <section data-background-color="white">
- <img src="images/fosdem2014-1.png" width="100%">
- </section>
<section data-background="images/rb-logo.svg" data-background-size="10%" data-background-position="93% 9%" data-transition="none">
@@ -621,48 +620,6 @@ Warpforge.
<section data-transition="none">
<img src="images/groupphoto_rws4_paris_2018_small.png" width="100%">
</section>
- <section data-background="images/rb-logo.svg" data-background-size="10%" data-background-position="93% 9%" data-transition="none">
- <h2>about <em>rebuilderd</em></h2>
- <ul>
- <li class="fragment">support for rebuilding Arch, Debian and Tails</li>
- <li class="fragment">rebuilderd, rebuilderd-worker, rebuilderctl</li>
- <li class="fragment">development started in 2019 during Marrakech summit</li>
- <li class="fragment">several instances for Arch exist (about 5)</li>
- <li class="fragment">written in Rust by kpcyrd</li>
- <li class="fragment">available at https://github.com/kpcyrd/rebuilderd</li>
- <li class="fragment">installation with pacman -S, apk add, sudo make install, soon with sudo apt install (the worker already is in trixie)</li>
- </ul>
- </section>
-
- <section data-background="images/rb-logo.svg" data-background-size="10%" data-background-position="93% 9%" data-transition="none">
- <h2>about <em>rebuilderd</em></h2>
- <ul>
- <pre>
-{
- <span style="color:orange">"name"</span>: <span style="color:red">"rust-spytrap-adb"</span>,
- <span style="color:orange">"version"</span>: <span style="color:red">"0.3.3-2"</span>,
- <span style="color:orange">"distro"</span>: <span style="color:red">"debian"</span>,
- <span style="color:orange">"suite"</span>: <span style="color:red">"main"</span>,
- <span style="color:orange">"architecture"</span>: <span style="color:red">"amd64"</span>,
- <span style="color:orange">"input_url"</span>: <span style="color:red">"https://buildinfos.debian.net/buildinfo-pool/r/
- rust-spytrap-adb/rust-spytrap-adb_0.3.3-2_amd64.buildinfo"</span>,
- <span style="color:orange">"artifacts"</span>: [
- {
- <span style="color:orange">"name"</span>: <span style="color:red">"librust-spytrap-adb-dev"</span>,
- <span style="color:orange">"version"</span>: <span style="color:red">"0.3.3-2"</span>,
- <span style="color:orange">"url"</span>: <span style="color:red">"http://deb.debian.org/debian/pool/main/r/
- rust-spytrap-adb/librust-spytrap-adb-dev_0.3.3-2_amd64.deb"</span>
- },
- {
- <span style="color:orange">"name"</span>: <span style="color:red">"spytrap-adb"</span>,
- <span style="color:orange">"version"</span>: <span style="color:red">"0.3.3-2"</span>,
- <span style="color:orange">"url"</span>: <span style="color:red">"http://deb.debian.org/debian/pool/main/r/
- rust-spytrap-adb/spytrap-adb_0.3.3-2_amd64.deb"</span>
- }
- ]
-},
-</pre>
- </section>
<section data-background="images/debian_logo.png" data-background-size="10%" data-background-position="93% 9%" data-transition="none">
<h3>Short summary of Reproducible Debian</h3>
@@ -677,6 +634,15 @@ Warpforge.
</ul>
</section>
+ <section data-background="images/debian_logo.png" data-background-size="10%" data-background-position="93% 9%" data-transition="none">
+ <h1>We are sorry to interrupt this talk for an important announcement<h1>
+ </section>
+
+ <section data-background="images/debian_logo.png" data-background-size="10%" data-background-position="93% 9%" data-transition="none">
+ <h1>https://osuosl.org/blog/osl-future/<h1>
+ <p>(show tab)</p>
+ </section>
+
<section data-background="images/debian_logo.png" data-background-size="10%" data-background-position="93% 9%" data-transition="none">
<h2>CI builders from 2015 until today and beyond</h2>
</section>
@@ -700,54 +666,84 @@ Warpforge.
</section>
- <section data-background="images/debian_logo.png" data-background-size="10%" data-background-position="93% 9%" data-transition="none">
- <h2>Debian <em>testing</em> migration, soon we'll be getting real!</h2>
- <ul style="font-size: 94%">
- <li>2023: CI reproducible-builds results included in excuses output for Debian testing migration, but there is no penalty nor bonus yet.</li>
- <li class="fragment">July 2024: <code>snapshot.debian.org</code> got fixed and we can now do <b>rebuilds where the build is compared against what Debian distributes on ftp.debian.org</b> instead of CI builds.</li>
- <li class="fragment">September 2024: <code>debootsnap</code> and <code>debrebuild</code> (both from <code>devscripts</code>) fixed for good.</li>
- <li class="fragment">October 2024: work on https://reproduce.debian.net began.</li>
+
+ <section data-background="images/debian_logo.png" data-background-size="10%" data-background-position="93% 9%" data-transition="none">
+ <h2><code>https://reproduce.debian.net</code></h2>
+ <ul>
+ <li class="fragment">a <code>rebuilderd</code> instance, running since Q3 2024</li>
+ <li class="fragment">rebuilding and comparing against what Debian distributes on <code>ftp.debian.org</code>.</li>
+ <!-- li class="fragment">actually it's eight instances atm, one for each arch...</li>
+ <li class="fragment">(thankfully <code>kpcyrd</code> fixed issue#163 yesterday, so we can have several suites on one instance.... more on this later) -->
</ul>
</section>
- <!-- section data-background="images/debian_logo.png" data-background-size="10%" data-background-position="93% 9%" data-transition="none">
- <h3>How to use debrebuild from src:devscripts in trixie</h3>
- <ul><code>
- <li class="fragment">wget https://buildinfos.debian.net/ftp-master.debian.org/buildinfo/2024/01/16/crun_1.13-1_amd64.buildinfo</li>
- <li class="fragment">debrebuild --builder=sbuild+unshare libaacs_0.11.1-3_amd64-source.buildinfo</li></code>
- <li class="fragment">voila!</li>
+ <section data-background="images/rb-logo.svg" data-background-size="10%" data-background-position="93% 9%" data-transition="none">
+ <h2>about <em>rebuilderd</em></h2>
+ <ul>
+ <li class="fragment">support for rebuilding Arch, Fedora, Debian and Tails</li>
+ <li class="fragment">rebuilderd, rebuilderd-worker, rebuilderctl</li>
+ <li class="fragment">development started in 2019 during Marrakech summit</li>
+ <li class="fragment">several instances for Arch exist (about 5)</li>
+ <li class="fragment">one instance for Fedora exists</li>
+ <li class="fragment">written in Rust by kpcyrd</li>
+ <li class="fragment">available at https://github.com/kpcyrd/rebuilderd</li>
+ <li class="fragment">installation with apt, pacman -S, apk add, sudo make install, soon with dnf too</li>
</ul>
- </section -->
-
+ </section>
<section data-background="images/debian_logo.png" data-background-size="10%" data-background-position="93% 9%" data-transition="none">
<h2><code>https://reproduce.debian.net</code></h2>
<ul>
- <li class="fragment">a <code>rebuilderd</code> instance, running since Q3 2024</li>
- <li class="fragment">rebuilding and comparing against what Debian distributes on <code>ftp.debian.org</code>.</li>
+ <li>Attempts to bit-for-bit identically rebuild each Debian binary package found in the distribution archive, using the .buildinfo file produced when the buildd originally built the package.</li>
+ <li class="fragment">For each distributed package, rebuilderd calls debrebuild that calls debootsnap, mmdebstrap and finally sbuild to build that package within a user namespace.</li>
</ul>
</section>
<section data-background="images/debian_logo.png" data-background-size="10%" data-background-position="93% 9%" data-transition="none">
- <h3><code>https://amd64.reproduce.debian.net</code></h3>
- <img src="images/amd64_rdn.png">
+ <h2><code>reproduce.debian.net vs tests.r-b.o/debian</code></h2>
+ <ul>
+ <li class="fragment">The goal of reproduce.debian.net is to replicate the same build process that is used by Debian during package publication -- not to seek out additional sources of variance.</li>
+ <li class="fragment">Variance testing, used to find factors that can prevent packages from rebuilding reproducibly, will continue at https://tests.reproducible-builds.org/debian/reproducible.html.</li>
+ </ul>
</section>
+
<section data-background="images/debian_logo.png" data-background-size="10%" data-background-position="93% 9%" data-transition="none">
- <h3><code>https://i386.reproduce.debian.net</code></h3>
- <img src="images/i386_rdn.png">
+ <h3><code>https://all.reproduce.debian.net</code></h3>
+ <img src="images/all_rdn.png">
</section>
+ <section data-background="images/debian_logo.png" data-background-size="10%" data-background-position="93% 9%" data-transition="none">
+ <h3><code>https://amd64.reproduce.debian.net</code></h3>
+ <img src="images/amd64_rdn.png">
+ </section>
+
+
<section data-background="images/debian_logo.png" data-background-size="10%" data-background-position="93% 9%" data-transition="none">
<h3><code>https://arm64.reproduce.debian.net</code></h3>
<img src="images/arm64_rdn.png">
</section>
+ <section data-background="images/debian_logo.png" data-background-size="10%" data-background-position="93% 9%" data-transition="none">
+ <h3><code>https://armel.reproduce.debian.net</code></h3>
+ <img src="images/armel_rdn.png">
+ </section>
+
<section data-background="images/debian_logo.png" data-background-size="10%" data-background-position="93% 9%" data-transition="none">
<h3><code>https://armhf.reproduce.debian.net</code></h3>
<img src="images/armhf_rdn.png">
</section>
+ <section data-background="images/debian_logo.png" data-background-size="10%" data-background-position="93% 9%" data-transition="none">
+ <h3><code>https://i386.reproduce.debian.net</code></h3>
+ <img src="images/i386_rdn.png">
+ </section>
+
+ <section data-background="images/debian_logo.png" data-background-size="10%" data-background-position="93% 9%" data-transition="none">
+ <h3><code>https://ppc64el.reproduce.debian.net</code></h3>
+ <img src="images/ppc64el_rdn.png">
+ </section>
+
<section data-background="images/debian_logo.png" data-background-size="10%" data-background-position="93% 9%" data-transition="none">
<h4><code>https://riscv64.reproduce.debian.net</code></h4>
<img src="images/riscv64_rdn.png">
@@ -755,10 +751,16 @@ Warpforge.
<section data-background="images/debian_logo.png" data-background-size="10%" data-background-position="93% 9%" data-transition="none">
<h2>missing</h2>
- <h4><code>https://armel.reproduce.debian.net</code></h4>
- <h4><code>https://ppc64el.reproduce.debian.net</code></h4>
- <h4><code>https://mips64el.reproduce.debian.net</code></h4>
<h4><code>https://s390x.reproduce.debian.net</code></h4>
+ <h4><code>https://mips64el.reproduce.debian.net</code></h4>
+ <h4 class="fragment"><code>unstable</code></h4>
+ <h4 class="fragment"><code>experimental</code></h4>
+ <h4 class="fragment"><code>-security</code></h4>
+ </section>
+
+ <section data-background="images/debian_logo.png" data-background-size="10%" data-background-position="93% 9%" data-transition="none">
+ <h2>reproduce.debian.net<br/> is <code>trixie</code> only atm</h2>
+ <img src="images/trixie.png" class="fragment">
</section>
<section data-background="images/debian_logo.png" data-background-size="10%" data-background-position="93% 9%" data-transition="none">
@@ -773,22 +775,34 @@ Warpforge.
<section data-background="images/debian_logo.png" data-background-size="10%" data-background-position="93% 9%" data-transition="none">
<h2><code>https://reproduce.debian.net</code></h2>
<h1>more help much welcome!</h1>
+ <p class="fragment">There's a workshop explaining how to setup rebuilderd instances tomorrow.<p>
+ <p class="fragment">Because do you really want to put all your trust in me???<p>
+
</section>
<section data-background="images/debian_logo.png" data-background-size="10%" data-background-position="93% 9%" data-transition="none">
<h2>The diff between theory and practice?</code></h2>
- <h1>10% <div class="fragment"><small>at the moment!</div></small></h1>
+ <h1 class="fragment">We soon will be more reproducible in practice than in theory ;p</h1>
</section>
<section data-background="images/debian_logo.png" data-background-size="10%" data-background-position="93% 9%" data-transition="none">
- <h3>The diff between theory and practice?</code></h3>
+ <h3>The diff between theory and practice today?</code></h3>
<h2>96.6% in CI</h2>
<h3>vs</h3>
- <h2>86.0% on reproduce.d.n</h2>
- <p class="fragment">but we've only been doing this for 3 months...</p>
+ <h2>96.54% on amd64.reproduce.d.n</h2>
+ <p class="fragment">but we've only been doing this for 8 months...</p>
</section>
- <section data-background="images/debian_logo.png" data-background-size="10%" data-background-position="93% 9%" data-transition="none">
+ <section data-background="images/debian_logo.png" data-background-size="10%" data-background-position="93% 9%" data-transition="none">
+ <h3>switch tab</h2>
+ <ul>
+ <li>Show numbers on r.d.n....</li>
+ <li class="fragment">Show reasons on r.d.n....</li>
+ <li class="fragment">continue presentation</li>
+ </ul>
+ </section>
+
+ <section data-background="images/debian_logo.png" data-background-size="10%" data-background-position="93% 9%" data-transition="none">
<h2>How to reach 100% in practice</h2>
<ul>
<li class="fragment">100% reproducible is a political decision and nothing technical.</h3>
@@ -856,24 +870,32 @@ Warpforge.
<section data-background="images/rb-logo.svg" data-background-size="10%" data-background-position="93% 9%" data-transition="none">
- <h3>Summary: theory vs practice</h3>
+ <h3>and then came the MiniDebConf Hamburg...</h3>
<ul>
- <li>In theory, we are done. In practice, we have shown that Reproducible Builds can be done in theory.</li>
- <li class="fragment">Now we need to close the gap between theory and practice.</li>
- <li class="fragment">And those missing 4-5% in CI are also crucial however, or at least 1% of them. For Debian, 1% means 370 source packages...</li>
+ <li>...and Paul (elbrus) and me talked about <code>forky</code>.
+ <img src="images/forky-toy-story-4.rhorizontal.w700.jpg" class="fragment">
</ul>
</section>
+ <section data-background="images/rb-logo.svg" data-background-size="10%" data-background-position="93% 9%" data-transition="none">
+ <h3>for forky...</h3>
+ <ul>
+ <li>britney might be configured to not let unreproducible packages migrate to testing.
+ <li class="fragment">full stop. applause!
+ <li class="fragment">with allowlists for <b>some</b> unreproducible packages...
+ </ul>
+ </section>
<section data-background="images/rb-logo.svg" data-background-size="10%" data-background-position="93% 9%" data-transition="none">
- <h3>Summary, looking forward</h3>
+ <h3>What you can do on trixie today:</h3>
<ul>
- <li>Many projects support or aim for Reproducible Builds today. This is a <b>huge</b> success. <span class="fragment">We wanted to change the (software) world, and we did.</span></li>
- <li class="fragment">Next: finish those last 1-5% upstream. (And there are some dragons too, eg PGO.)</li>
- <li class="fragment">Next: create rebuilderd infrastructure(s), processes, tools.</li>
- <li class="fragment">Also crucial: project-level consensus and commitment to Reproducible Builds in practice.</li>
+ <li><code>sudo apt install debian-repro-status</code>
+ <li class="fragment"><code>debian-repro-status > /dev/null</code>
+ <li class="fragment"><code> INFO debian-repro-status > 60/2268 packages are not reproducible.</br>
+ INFO debian-repro-status > Your system is 97.35% reproducible.</code></li>
+ <li class="fragment">That is better in practice than in theory. :-D
</ul>
- </section>
+ </section>
<section data-background="images/rb-logo.svg" data-background-size="10%" data-background-position="93% 9%" data-transition="none">
<img src="images/ccc2014-13.png">
View it on GitLab: https://salsa.debian.org/reproducible-builds/reproducible-presentations/-/commit/4071ab77b012760b8616a8d9b06571a0b86529dd
--
View it on GitLab: https://salsa.debian.org/reproducible-builds/reproducible-presentations/-/commit/4071ab77b012760b8616a8d9b06571a0b86529dd
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/20250503/9a0ff167/attachment.htm>
More information about the rb-commits
mailing list