[Git][reproducible-builds/reproducible-presentations][master] dc24 rb artifacts talk: wip, basically done
Holger Levsen (@holger)
gitlab at salsa.debian.org
Fri Aug 2 06:16:17 UTC 2024
Holger Levsen pushed to branch master at Reproducible Builds / reproducible-presentations
Commits:
ae42affc by Holger Levsen at 2024-08-02T15:15:53+09:00
dc24 rb artifacts talk: wip, basically done
Signed-off-by: Holger Levsen <holger at layer-acht.org>
- - - - -
2 changed files:
- 2024-08-02-preserving-other-build-artifacts/index.html
- − 2024-08-02-preserving-other-build-artifacts/todo
Changes:
=====================================
2024-08-02-preserving-other-build-artifacts/index.html
=====================================
@@ -189,10 +189,9 @@
<section data-background="images/debconf24.svg" data-background-size="15%" data-background-position="93% 9%" data-transition="none">
<h3>About you</h3>
<ul>
- <li class="fragment">Who has seen my talk about Reproducible Builds on Monday?</li>
+ <li class="fragment">Who has seen my talk about Reproducible Builds on Monday? (or another time)</li>
<li class="fragment">Who knows something about the Debian archive kit (dak)?</li>
<li class="fragment">Who knows something about Debian buildd infrastucture?</li>
- <li class="fragment">Who knows how automatic debug packages work?</li>
<li class="fragment">Who knows about dpkg-distaddfile?</li>
</ul>
</section>
@@ -200,8 +199,7 @@
<section data-background="images/debconf24.svg" data-background-size="15%" data-background-position="93% 9%" data-transition="none">
<h3>About this workshop</h3>
<ul>
- <li>I'll get to the topic at hand in two minutes.</li>
- <li>how to preserve <i>other</i> build artifacts?</li>
+ <li>I'll get to the topic at hand (how to preserve <i>other</i> build artifacts?) in two minutes.</li>
<li>But first, some context.</li>
</ul>
</section>
@@ -248,16 +246,11 @@
<ul>
<li style="font-size: 80%">When is a build reproducible?</li>
<li style="font-size: 80%">[...] The artifacts of a build are the parts of the build results that are the desired <b>primary output</b>.</li>
- <li class="fragment">Build logs, autopkgtest results and other build artifacts are out of scope in this definition.</li>
+ <li class="fragment">Build logs, unit tesst results, autopkgtest results and other build artifacts are out of scope in this definition.</li>
</ul>
</section>
- <section data-background="images/debconf24.svg" data-background-size="10%" data-background-position="93% 9%" data-transition="none">
- <h3>CI results for Debian unstable, 20240727</h3>
- <img src="images/stats_pkg_state_20240727.png">
- </section>
-
<section data-background="images/debconf24.svg" data-background-size="10%" data-background-position="93% 9%" data-transition="none">
<h2>100%!</h2>
<ul>
@@ -268,6 +261,11 @@
</ul>
</section>
+ <section data-background="images/debconf24.svg" data-background-size="10%" data-background-position="93% 9%" data-transition="none">
+ <h3>CI results for Debian unstable, 20240727</h3>
+ <img src="images/stats_pkg_state_20240727.png">
+ </section>
+
<section data-background="images/debconf24.svg" data-background-size="10%" data-background-position="93% 9%" data-transition="none">
<h2>Debian policy</h2>
<ul>
@@ -340,15 +338,17 @@
<li>.deb files (and .changes and .buildinfo)</li>
<li>the one and only build logfile</li>
<li class="fragment">nothing else, so people who need those artifacts invented unreproducible work arounds and store these build artifacts in .deb files.</li>
+ <li class="fragment">or the workaround is to do a local build to have access to those artifacts. Thta's clumsy and time consuming.</li>
</ul>
</section>
<section data-background="images/debconf24.svg" data-background-size="15%" data-background-position="93% 9%" data-transition="none">
- <h2><small>https://wiki.debian.org/BuildArtifacts</small></h2>
+ <h1><small>https://wiki.debian.org/BuildArtifacts</small></h1>
<ul>
<li>.deb files (and .changes and .buildinfo)</li>
<li>the one and only build logfile</li>
<li>nothing else, so people who need those artifacts invented unreproducible work arounds and store these build artifacts in .deb files.</li>
+ <li>or the workaround is to do a local build to have access to those artifacts. Thta's clumsy and time consuming.</li>
</ul>
</section>
@@ -357,23 +357,43 @@
</section>
<section data-background="images/debconf24.svg" data-background-size="15%" data-background-position="93% 9%" data-transition="none">
- <h2><small>https://wiki.debian.org/BuildArtifacts</small></h2>
+ <h2>packages including other build artifacts</h2>
<ul>
- <li><code>src:binutils</code></li>
- <li><code>src:gcc-X</code></li>
+ <li><code>src:binutils</code> builds <code>binutils-dev</code> unreproducibly.</li>
+ <li><code>src:gcc-X</code> builds <code>gcc-X-test-results</code> unreproducibly. </li>
<li class="fragment">We cannot whitelist those packages forever, if we want 100% reproducible packages in Debian <code>testing</code> and <code>stable</code> eventually!</li>
+ <li class="fragment">Many thanks to Matthias Klose for writing https://wiki.debian.org/BuildArtifacts !</li>
+ </ul>
+</section>
+
+ <section data-background="images/debconf24.svg" data-background-size="15%" data-background-position="93% 9%" data-transition="none">
+ <h2><small>other https://wiki.debian.org/BuildArtifacts</small></h2>
+ <ul>
+ <li class="fragment">more than one build log.</li>
+ <li class="fragment">config.log, config.status </li>
+ <li class="fragment">preprocessed source for compiler errors </li>
+ <li class="fragment">test results (from unit tests during build, not autopkgtests) </li>
+ <li class="fragment">dejagnu test logs </li>
<li class="fragment">The wiki page has more usage examples, eg verbose build logs from GNOME packages. prepocessed sources in /tmp/cc*.out </li>
- <li class="fragment">Many thanks to Matthias Klose for writing it. I do trust him that those artifacts are essential for maintaining those packages.</li>
</ul>
</section>
<section data-background="images/debconf24.svg" data-background-size="15%" data-background-position="93% 9%" data-transition="none">
- <h2>Preserving build artifacts </small></h2>
+ <h2>Preserving build artifacts, what doesn't work:</small></h2>
+ <ul>
+ <li>salsa CI: we want the artifacts from real builds.</li>
+ <li class="fragment">autopkgtest mechanism is also not dealing with results from the builds, but from tests using the build results.</li>
+
+ </ul>
+</section>
+
+ <section data-background="images/debconf24.svg" data-background-size="15%" data-background-position="93% 9%" data-transition="none">
+ <h2>Preserving other build artifacts </small></h2>
<ul>
- <li class="fragment">dpkg-distaddfile can be used to add files to debian/files so that they are referenced in the .changes files and thus included in upload. (Thanks to Julien Cristau for pointing this out.)</li>
- <li class="fragment">Now we only need <code>dak</code> to accept those files and make them available somewhere. </li>
- <li class="fragment">Easy.🥳🍾👍</li>
- <li class="fragment">(Though this doesn't work for failed builds. But then we have nothing for those now neither.)</li>
+ <li class="fragment">dpkg-distaddfile can be used to add files to debian/files so that they are referenced in the .changes files and thus included in upload.</li>
+ <li class="fragment">files added via <code>dpkg-distaddfile</code> end up in the byhand queue, eg on <code>coccia.debian.org:/srv/ftp-master.debian.org/queue/byhand</code></li>
+ <li class="fragment">Now we only need <code>dak</code> to accept those files and make them available <i>somewhere</i>, outside the archive, like .buildinfo files... </li>
+ <li class="fragment"><small>(Though this doesn't work for failed builds. But then we have nothing for those now neither.)</small></li>
</ul>
</section>
@@ -381,9 +401,18 @@
<h2>Preserving build artifacts, how to continue...</small></h2>
<ul>
<li>So we only need <code>dak</code> to accept those files and make them available somewhere... 💅</li>
- <li class="fragment">Sounds like an easy plan and almost to good to be true.</li>
- <li class="fragment">I'll send a mail to debian-devel at l.d.o with links to that wiki URL and this talk, to continue the discussion on the mailing list.</li>
- <li class="fragment">I've also submitted another workshop on this topic for DebConf24 and both Matthias and myself will be there. AIUI this really needs the FTP team too.<li>
+ <li class="fragment">Almost sounds like an easy plan.</li>
+ <li class="fragment">Almost: <code>.buildinfo</code> files until this day are not made available to the public by the ftpmasters...</li>
+
+ </ul>
+</section>
+
+ <section data-background="images/debconf24.svg" data-background-size="15%" data-background-position="93% 9%" data-transition="none">
+ <h2>Timeline</small></h2>
+ <ul>
+ <li>Can we have this for <code>experimental</code> now/soon?</li>
+ <li class="fragment">and for <code>unstable</code> directly after the trixie releasde?</li>
+ <li class="fragment">or even earlier for <code>unstable</code> too?</li>
</ul>
</section>
@@ -405,7 +434,8 @@
Thank you
<br><small>… and all contributors out there!</small>
</h1>
- <p class="fragment">Any questions, suggestions, ...? 🤷</p>
+ <span class="fragment">Any questions, suggestions, ...? 🤷<br/>
+ <h3>https://wiki.debian.org/BuildArtifacts</h3></span>
<h2>
<small>Holger Levsen <holger at reproducible-builds.org><br>
=====================================
2024-08-02-preserving-other-build-artifacts/todo deleted
=====================================
@@ -1 +0,0 @@
-
View it on GitLab: https://salsa.debian.org/reproducible-builds/reproducible-presentations/-/commit/ae42affc70052bf9077515b727b56683bc138b8c
--
View it on GitLab: https://salsa.debian.org/reproducible-builds/reproducible-presentations/-/commit/ae42affc70052bf9077515b727b56683bc138b8c
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/20240802/be151e0a/attachment.htm>
More information about the rb-commits
mailing list