[Git][qa/jenkins.debian.net][master] 2 commits: rdn: add suite specific dashboard showing all archs
Holger Levsen (@holger)
gitlab at salsa.debian.org
Thu Feb 26 21:40:40 GMT 2026
Holger Levsen pushed to branch master at Debian QA / jenkins.debian.net
Commits:
63ecf61d by Holger Levsen at 2026-02-26T22:36:31+01:00
rdn: add suite specific dashboard showing all archs
Signed-off-by: Holger Levsen <holger at layer-acht.org>
- - - - -
6386e965 by Holger Levsen at 2026-02-26T22:40:07+01:00
rdn: only show armel on trixie dashboard
Signed-off-by: Holger Levsen <holger at layer-acht.org>
- - - - -
4 changed files:
- + hosts/osuosl5-amd64/var/www/html/forky.html
- hosts/osuosl5-amd64/var/www/html/index.html
- + hosts/osuosl5-amd64/var/www/html/trixie.html
- + hosts/osuosl5-amd64/var/www/html/unstable.html
Changes:
=====================================
hosts/osuosl5-amd64/var/www/html/forky.html
=====================================
@@ -0,0 +1,307 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>
+ reproduce.debian.net
+ </title>
+ <style>
+ body {
+ font-family: sans-serif;
+ font-size: 14pt;
+ }
+ h1 {
+ font-size: 24pt;
+ }
+ h3 {
+ font-size: 18pt;
+ }
+ h4 {
+ font-size: 12pt;
+ }
+
+ pre {
+ margin: 0;
+ }
+
+ pre.bad {
+ display: inline;
+ }
+
+ #stats-all, #stats-amd64, #stats-arm64, #stats-armhf, #stats-i386, #stats-riscv64, #stats-ppc64el{
+ text-align: left;
+ }
+
+ #worker, #progress-all, #progress-amd64, #progress-arm64, #progress-armhf, #progress-i386, #progress-riscv64, #progress-ppc64el{
+ font-size: 10pt;
+ }
+
+ td {
+ vertical-align: middle;
+ text-align: center;
+ white-space: nowrap;
+ }
+
+ img {
+ vertical-align: middle;
+ max-width: 1920;
+ width: 100%;
+ }
+
+ footer {
+ font-size: 12pt;
+ }
+
+ </style>
+ <script>
+ document.addEventListener('DOMContentLoaded', function() {
+ // display stats
+ function spanWith(text) {
+ let s = document.createElement('span');
+ s.textContent = text;
+ return s;
+ }
+
+ function linkTo(href, text) {
+ let a = document.createElement('a');
+ a.href = href;
+ a.textContent = text;
+ return a;
+ }
+
+ function updateStats(element, pad, arch, release, data) {
+ let div = document.getElementById(element+'-'+arch);
+ // clear children
+ div.innerHTML = '';
+ // add rows
+ data.map(row => {
+ let r = document.createElement('pre');
+ let key = row[0] + ': ';
+ r.className = row[0];
+ r.textContent = key.padEnd(pad) + row[1];
+ div.appendChild(r);
+ if ('bad' === row[0]) {
+ div.appendChild(spanWith(' ('));
+ div.appendChild(linkTo(`/${arch}/stats/${release}/`, 'reasons'));
+ div.appendChild(spanWith(')'));
+ }
+ });
+ }
+
+ function fetchStats() {
+ fetchArchStats("all", "forky");
+ fetchArchStats("amd64", "forky");
+ fetchArchStats("arm64", "forky");
+ fetchArchStats("armhf", "forky");
+ fetchArchStats("i386", "forky");
+ fetchArchStats("riscv64", "forky");
+ fetchArchStats("ppc64el", "forky");
+ }
+
+ function fetchArchStats(arch, release) {
+ fetch(`https://reproduce.debian.net/${arch}/api/v1/dashboard?release=${release}`)
+ .then(response => response.json())
+ .then(data => {
+ let good = data['rebuilds']['good'];
+ let bad = data['rebuilds']['bad'];
+ let fail = data['rebuilds']['fail'];
+ let unknown = data['rebuilds']['unknown'];
+
+ let running = data['jobs']['running'];
+ let available = data['jobs']['available'];
+
+ updateStats('stats', 7, arch, release, [
+ ['reproduced', (100 / (good + bad + fail) * good).toFixed(2) + '%'],
+ ['good', good],
+ ['bad', bad],
+ ['fail', fail],
+ ['unknown', unknown],
+ ])
+ updateStats('progress', 8, arch, release, [
+ [(100 / (good + bad + fail + unknown) * (good + bad + fail)).toFixed(2) + '%', (running + available)],
+ ]);
+ });
+ }
+
+ setInterval(fetchStats, 60 * 1000);
+ fetchStats();
+ });
+ </script>
+ </head>
+ <body>
+ <h1>reproduce.debian.net</h1>
+ <h3>Attempts to bit-for-bit identically rebuild each Debian binary package found in the <a href="https://ftp.debian.org/debian/dists/">distribution archive</a>, using the <a href="https://wiki.debian.org/ReproducibleBuilds/BuildinfoFiles">.buildinfo</a> file produced when the <a href="https://buildd.debian.org">buildd</a> originally built the package.</h3>
+ <p>
+ For each distributed package, <em>rebuilderd</em> calls <em>debrebuild</em> that calls <em>debootsnap</em>, <em>mmdebstrap</em> and finally <em>sbuild</em> to build that package within a user namespace.</p>
+ <ul>
+ <li><a href="https://buildinfos.debian.net">buildinfos.debian.net</a> provides <em>.buildinfo</em> files for each distributed binary package.
+ (see <a href="https://bugs.debian.org/763822">#763822</a>,
+ <a href="https://bugs.debian.org/929397">#929397</a>)
+ </li>
+ <li><em>debootsnap</em> uses <a href="https://snapshot.debian.org">snapshot.debian.org</a> to retrieve the exact same version of each build dependency package (which was used for the "original build"). (see <a href="https://bugs.debian.org/1096129">#1096129</a>)</li>
+ <li>The goal 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>Variance testing, used to find factors that can prevent packages from rebuilding reproducibly, will continue at <a href="https://tests.reproducible-builds.org/debian/reproducible.html">https://tests.reproducible-builds.org/debian/reproducible.html</a>.</li>
+ <li>If you are wondering why we are doing this at all, then hopefully the <a href="https://reproducible-builds.org">Reproducible Builds website</a> will explain why this is useful.</li>
+ </ul>
+ <table>
+ <tr>
+ <th width=25%><code>arch</code></th><th width=25%>reproduced builds (forky)</th><th width=25%>graph for <code>forky</code></th><th width=25%>percentage tried / queued sources (forky) and on which workers</th>
+ </tr><tr>
+ <td>
+ <a href="https://reproduce.debian.net/all/">
+ all
+ </a>
+ </td><td>
+ <div id="stats-all">Loading stats...</div>
+ </td><td>
+ <a href="https://reproduce.debian.net/all/">
+ <img src="https://reproduce.debian.net/all/stats/forky/rb.png">
+ </a>
+ <a href="https://reproduce.debian.net/all/stats/forky/rb.png">📈</a>
+ </td><td>
+ <div id="progress-all">Loading progress...</div>
+ <span id="worker">
+ ionos(20|21|22|23|24|25)-amd64
+ </span>
+ </td></tr><tr><td>
+ <a href="https://reproduce.debian.net/amd64/">
+ amd64
+ </a>
+ </td><td>
+ <div id="stats-amd64">Loading stats...</div>
+ </td><td>
+ <a href="https://reproduce.debian.net/amd64/">
+ <img src="https://reproduce.debian.net/amd64/stats/forky/rb.png">
+ </a>
+ <a href="https://reproduce.debian.net/amd64/stats/forky/rb.png">📈</a>
+ </td><td>
+ <div id="progress-amd64">Loading progress...</div>
+ <span id="worker">
+ osuosl(41|42|43|44)-amd64
+ </span>
+ </td></tr><tr><td>
+ <a href="https://reproduce.debian.net/arm64/">
+ arm64
+ </a>
+ </td><td>
+ <div id="stats-arm64">Loading stats...</div>
+ </td><td>
+ <a href="https://reproduce.debian.net/arm64/">
+ <img src="https://reproduce.debian.net/arm64/stats/forky/rb.png">
+ </a>
+ <a href="https://reproduce.debian.net/arm64/stats/forky/rb.png">📈</a>
+ </td><td>
+ <div id="progress-arm64">Loading progress...</div>
+ <span id="worker">
+ codethink02-arm64
+ </span>
+ </td></tr><tr><td>
+ <a href="https://reproduce.debian.net/armhf/">
+ armhf
+ </a>
+ </td><td>
+ <div id="stats-armhf">Loading stats...</div>
+ </td><td>
+ <a href="https://reproduce.debian.net/armhf/">
+ <img src="https://reproduce.debian.net/armhf/stats/forky/rb.png">
+ </a>
+ <a href="https://reproduce.debian.net/armhf/stats/forky/rb.png">📈</a>
+ </td><td>
+ <div id="progress-armhf">Loading progress...</div>
+ <span id="worker">
+ codethink01-arm64
+ </span>
+ </td></tr><tr><td>
+ <a href="https://reproduce.debian.net/i386/">
+ i386
+ </a>
+ </td><td>
+ <div id="stats-i386">Loading stats...</div>
+ </td><td>
+ <a href="https://reproduce.debian.net/i386/">
+ <img src="https://reproduce.debian.net/i386/stats/forky/rb.png">
+ </a>
+ <a href="https://reproduce.debian.net/i386/stats/forky/rb.png">📈</a>
+ </td><td>
+ <div id="progress-i386">Loading progress...</div>
+ <span id="worker">
+ infomaniak0(7|8)-amd64
+ </span>
+ </td></tr><tr><td>
+ <a href="https://reproduce.debian.net/ppc64el/">
+ ppc64el
+ </a>
+ </td><td>
+ <div id="stats-ppc64el">Loading stats...</div>
+ </td><td>
+ <a href="https://reproduce.debian.net/ppc64el/">
+ <img src="https://reproduce.debian.net/ppc64el/stats/forky/rb.png">
+ </a>
+ <a href="https://reproduce.debian.net/ppc64el/stats/forky/rb.png">📈</a>
+ </td><td>
+ <div id="progress-ppc64el">Loading progress...</div>
+ <span id="worker">
+ osuosl(6|7)-ppc64el
+ </span>
+ </td></tr><tr><td>
+ <a href="https://reproduce.debian.net/riscv64/">
+ riscv64
+ </a>
+ </td><td>
+ <div id="stats-riscv64">Loading stats...</div>
+ </td><td>
+ <a href="https://reproduce.debian.net/riscv64/">
+ <img src="https://reproduce.debian.net/riscv64/stats/forky/rb.png">
+ </a>
+ <a href="https://reproduce.debian.net/riscv64/stats/forky/rb.png">📈</a>
+ </td><td>
+ <div id="progress-riscv64">Loading progress...</div>
+ <span id="worker">
+ riscv64-(04|06|07|33|34)<br>
+ <s>riscv64-(01|02)</s>
+ </span>
+ </td></tr>
+ </table>
+ <br/>
+ Coming soon: <code>s390x</code> and better navigation to
+ <a href="unstable.html">unstable</a>,
+ <a href="trixie.html">trixie</a>
+ and other tested suites.
+ <br/>
+ Help welcome:
+ <h4>We want more and independent rebuilders</h4>
+ Do you have hardware idling? Because, for sure, Debian rebuilding Debian is superb and it's something we've been working on for years!
+ Yet we still want more: we also want <a href="https://wiki.debian.org/ReproducibleBuilds/rebuilderd-instances">independent rebuilders</a>, and we want them in a
+ <em>diverse</em> variety of setups and settings...!
+ And <em>then</em> we'll want anyone to be able to act on this data too.
+ <br/>
+ <h4>How to evaluate a system</h4>
+ <code>
+ sudo apt install <a href="https://tracker.debian.org/rust-debian-repro-status">debian-repro-status</a> ; debian-repro-status
+ </code>
+ <br/>
+ <h4>Documentation hints for rebuilderd</h4>
+ <ul>
+ <li><a href="https://bugs.debian.org/1109459">#1109459: rebuilderd: config files and scripts for a simple one machine setup</a></li>
+ <li><a href="https://bugs.debian.org/1110036">#1110036: rebuilderd: create rebuilderd user</a></li>
+ <li><a href="https://bugs.debian.org/1110037">#1110037: rebuilderd-worker: config files and scripts for a simple one machine setup</a></li>
+ <li><a href="https://bugs.debian.org/1110038">#1110038: rebuilderd-worker: create rebuilderd-worker user with subuid</a></li>
+ <li><a href="/rebuilderd-setup.html">How to setup rebuilderd on Debian.</a> (outdated)</li>
+ <li><a href="/rebuilderd-usage.html">How to use/control rebuilderd.</a> (outdated)</li>
+ <li>https://r.d.n/$arch/api/v1/packages/binary?seen_only=true&release=$release (JSON)</li>
+ <li><a href="https://github.com/Nihlus/rebuilderd/blob/database-rework/contrib/docs/rebuilderd-v1.yml">rebuilderd.git/contrib/docs/rebuilderd-v1.yml</a> v1 API specification</li>
+ <li>https://r.d.n/$arch/stats/db-backup/ (rebuilderd database backups)</li>
+ </ul>
+ <hr/>
+ <footer>
+ pew pew, <a href="https://github.com/kpcyrd/rebuilderd">rebuilderd</a> using <a href="https://tracker.debian.org/pkg/devscripts">debrebuild</a> to reproduce what Debian distributes via <code><a href="https://ftp.debian.org/debian/dists/">ftp.debian.org</a></code>. ♥️
+ <br/>
+ <small>
+ This setup is in its infancy, even though by now everything is in trixie. Still, please don't consider any URLs as stable here, and more to the point, especially don't take any numbers here seriously, unless...!?!
+ <br/>Oh, and in case you are wondering why we are doing this, then hopefully the <a href="https://reproducible-builds.org">Reproducible Builds website</a> will explain why this is useful.
+ </br>
+ contact: IRC preferred: #debian-reproducible on OFTC or mail to holger at d.o
+ </small>
+ </footer>
+ </body>
+</html>
=====================================
hosts/osuosl5-amd64/var/www/html/index.html deleted
=====================================
@@ -1,321 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <title>
- reproduce.debian.net
- </title>
- <style>
- body {
- font-family: sans-serif;
- font-size: 14pt;
- }
- h1 {
- font-size: 24pt;
- }
- h3 {
- font-size: 18pt;
- }
- h4 {
- font-size: 12pt;
- }
-
- pre {
- margin: 0;
- }
-
- pre.bad {
- display: inline;
- }
-
- #stats-all, #stats-amd64, #stats-arm64, #stats-armel, #stats-armhf, #stats-i386, #stats-riscv64, #stats-ppc64el{
- text-align: left;
- }
-
- #worker, #progress-all, #progress-amd64, #progress-arm64, #progress-armel, #progress-armhf, #progress-i386, #progress-riscv64, #progress-ppc64el{
- font-size: 10pt;
- }
-
- td {
- vertical-align: middle;
- text-align: center;
- white-space: nowrap;
- }
-
- img {
- vertical-align: middle;
- max-width: 1920;
- width: 100%;
- }
-
- footer {
- font-size: 12pt;
- }
-
- </style>
- <script>
- document.addEventListener('DOMContentLoaded', function() {
- // display stats
- function spanWith(text) {
- let s = document.createElement('span');
- s.textContent = text;
- return s;
- }
-
- function linkTo(href, text) {
- let a = document.createElement('a');
- a.href = href;
- a.textContent = text;
- return a;
- }
-
- function updateStats(element, pad, arch, release, data) {
- let div = document.getElementById(element+'-'+arch);
- // clear children
- div.innerHTML = '';
- // add rows
- data.map(row => {
- let r = document.createElement('pre');
- let key = row[0] + ': ';
- r.className = row[0];
- r.textContent = key.padEnd(pad) + row[1];
- div.appendChild(r);
- if ('bad' === row[0]) {
- div.appendChild(spanWith(' ('));
- div.appendChild(linkTo(`/${arch}/stats/${release}/`, 'reasons'));
- div.appendChild(spanWith(')'));
- }
- });
- }
-
- function fetchStats() {
- fetchArchStats("all", "forky");
- fetchArchStats("amd64", "forky");
- fetchArchStats("arm64", "forky");
- fetchArchStats("armel", "trixie");
- fetchArchStats("armhf", "forky");
- fetchArchStats("i386", "forky");
- fetchArchStats("riscv64", "forky");
- fetchArchStats("ppc64el", "forky");
- }
-
- function fetchArchStats(arch, release) {
- fetch(`https://reproduce.debian.net/${arch}/api/v1/dashboard?release=${release}`)
- .then(response => response.json())
- .then(data => {
- let good = data['rebuilds']['good'];
- let bad = data['rebuilds']['bad'];
- let fail = data['rebuilds']['fail'];
- let unknown = data['rebuilds']['unknown'];
-
- let running = data['jobs']['running'];
- let available = data['jobs']['available'];
-
- updateStats('stats', 7, arch, release, [
- ['reproduced', (100 / (good + bad + fail) * good).toFixed(2) + '%'],
- ['good', good],
- ['bad', bad],
- ['fail', fail],
- ['unknown', unknown],
- ])
- updateStats('progress', 8, arch, release, [
- [(100 / (good + bad + fail + unknown) * (good + bad + fail)).toFixed(2) + '%', (running + available)],
- ]);
- });
- }
-
- setInterval(fetchStats, 60 * 1000);
- fetchStats();
- });
- </script>
- </head>
- <body>
- <h1>reproduce.debian.net</h1>
- <h3>Attempts to bit-for-bit identically rebuild each Debian binary package found in the <a href="https://ftp.debian.org/debian/dists/">distribution archive</a>, using the <a href="https://wiki.debian.org/ReproducibleBuilds/BuildinfoFiles">.buildinfo</a> file produced when the <a href="https://buildd.debian.org">buildd</a> originally built the package.</h3>
- <p>
- For each distributed package, <em>rebuilderd</em> calls <em>debrebuild</em> that calls <em>debootsnap</em>, <em>mmdebstrap</em> and finally <em>sbuild</em> to build that package within a user namespace.</p>
- <ul>
- <li><a href="https://buildinfos.debian.net">buildinfos.debian.net</a> provides <em>.buildinfo</em> files for each distributed binary package.
- (see <a href="https://bugs.debian.org/763822">#763822</a>,
- <a href="https://bugs.debian.org/929397">#929397</a>)
- </li>
- <li><em>debootsnap</em> uses <a href="https://snapshot.debian.org">snapshot.debian.org</a> to retrieve the exact same version of each build dependency package (which was used for the "original build"). (see <a href="https://bugs.debian.org/1096129">#1096129</a>)</li>
- <li>The goal 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>Variance testing, used to find factors that can prevent packages from rebuilding reproducibly, will continue at <a href="https://tests.reproducible-builds.org/debian/reproducible.html">https://tests.reproducible-builds.org/debian/reproducible.html</a>.</li>
- <li>If you are wondering why we are doing this at all, then hopefully the <a href="https://reproducible-builds.org">Reproducible Builds website</a> will explain why this is useful.</li>
- </ul>
- <table>
- <tr>
- <th width=25%><code>arch</code></th><th width=25%>reproduced builds (forky)</th><th width=25%>graph for <code>forky</code></th><th width=25%>percentage tried / queued sources (forky) and on which workers</th>
- </tr><tr>
- <td>
- <a href="https://reproduce.debian.net/all/">
- all
- </a>
- </td><td>
- <div id="stats-all">Loading stats...</div>
- </td><td>
- <a href="https://reproduce.debian.net/all/">
- <img src="https://reproduce.debian.net/all/stats/forky/rb.png">
- </a>
- <a href="https://reproduce.debian.net/all/stats/forky/rb.png">📈</a>
- </td><td>
- <div id="progress-all">Loading progress...</div>
- <span id="worker">
- ionos(20|21|22|23|24|25)-amd64
- </span>
- </td></tr><tr><td>
- <a href="https://reproduce.debian.net/amd64/">
- amd64
- </a>
- </td><td>
- <div id="stats-amd64">Loading stats...</div>
- </td><td>
- <a href="https://reproduce.debian.net/amd64/">
- <img src="https://reproduce.debian.net/amd64/stats/forky/rb.png">
- </a>
- <a href="https://reproduce.debian.net/amd64/stats/forky/rb.png">📈</a>
- </td><td>
- <div id="progress-amd64">Loading progress...</div>
- <span id="worker">
- osuosl(41|42|43|44)-amd64
- </span>
- </td></tr><tr><td>
- <a href="https://reproduce.debian.net/arm64/">
- arm64
- </a>
- </td><td>
- <div id="stats-arm64">Loading stats...</div>
- </td><td>
- <a href="https://reproduce.debian.net/arm64/">
- <img src="https://reproduce.debian.net/arm64/stats/forky/rb.png">
- </a>
- <a href="https://reproduce.debian.net/arm64/stats/forky/rb.png">📈</a>
- </td><td>
- <div id="progress-arm64">Loading progress...</div>
- <span id="worker">
- codethink02-arm64
- </span>
- </td></tr><tr><td>
- <a href="https://reproduce.debian.net/armel/">
- armel (trixie)
- </a>
- </td><td>
- <div id="stats-armel">Loading stats...</div>
- </td><td>
- <a href="https://reproduce.debian.net/armel/">
- <img src="https://reproduce.debian.net/armel/stats/trixie/rb.png">
- </a>
- <a href="https://reproduce.debian.net/armel/stats/trixie/rb.png">📈</a>
- </td><td>
- <div id="progress-armel">Loading progress...</div>
- <span id="worker">
- codethink05-arm64
- </span>
- </td></tr><tr><td>
- <a href="https://reproduce.debian.net/armhf/">
- armhf
- </a>
- </td><td>
- <div id="stats-armhf">Loading stats...</div>
- </td><td>
- <a href="https://reproduce.debian.net/armhf/">
- <img src="https://reproduce.debian.net/armhf/stats/forky/rb.png">
- </a>
- <a href="https://reproduce.debian.net/armhf/stats/forky/rb.png">📈</a>
- </td><td>
- <div id="progress-armhf">Loading progress...</div>
- <span id="worker">
- codethink01-arm64
- </span>
- </td></tr><tr><td>
- <a href="https://reproduce.debian.net/i386/">
- i386
- </a>
- </td><td>
- <div id="stats-i386">Loading stats...</div>
- </td><td>
- <a href="https://reproduce.debian.net/i386/">
- <img src="https://reproduce.debian.net/i386/stats/forky/rb.png">
- </a>
- <a href="https://reproduce.debian.net/i386/stats/forky/rb.png">📈</a>
- </td><td>
- <div id="progress-i386">Loading progress...</div>
- <span id="worker">
- infomaniak0(7|8)-amd64
- </span>
- </td></tr><tr><td>
- <a href="https://reproduce.debian.net/ppc64el/">
- ppc64el
- </a>
- </td><td>
- <div id="stats-ppc64el">Loading stats...</div>
- </td><td>
- <a href="https://reproduce.debian.net/ppc64el/">
- <img src="https://reproduce.debian.net/ppc64el/stats/forky/rb.png">
- </a>
- <a href="https://reproduce.debian.net/ppc64el/stats/forky/rb.png">📈</a>
- </td><td>
- <div id="progress-ppc64el">Loading progress...</div>
- <span id="worker">
- osuosl(6|7)-ppc64el
- </span>
- </td></tr><tr><td>
- <a href="https://reproduce.debian.net/riscv64/">
- riscv64
- </a>
- </td><td>
- <div id="stats-riscv64">Loading stats...</div>
- </td><td>
- <a href="https://reproduce.debian.net/riscv64/">
- <img src="https://reproduce.debian.net/riscv64/stats/forky/rb.png">
- </a>
- <a href="https://reproduce.debian.net/riscv64/stats/forky/rb.png">📈</a>
- </td><td>
- <div id="progress-riscv64">Loading progress...</div>
- <span id="worker">
- riscv64-(04|06|07|33|34)<br>
- <s>riscv64-(01|02)</s>
- </span>
- </td></tr>
- </table>
- <br/>
- Coming soon: <code>s390x</code>!
- <br/>
- Help welcome:
- <h4>We want more and independent rebuilders</h4>
- Do you have hardware idling? Because, for sure, Debian rebuilding Debian is superb and it's something we've been working on for years!
- Yet we still want more: we also want <a href="https://wiki.debian.org/ReproducibleBuilds/rebuilderd-instances">independent rebuilders</a>, and we want them in a
- <em>diverse</em> variety of setups and settings...!
- And <em>then</em> we'll want anyone to be able to act on this data too.
- <br/>
- <h4>How to evaluate a system</h4>
- <code>
- sudo apt install <a href="https://tracker.debian.org/rust-debian-repro-status">debian-repro-status</a> ; debian-repro-status
- </code>
- <br/>
- <h4>Documentation hints for rebuilderd</h4>
- <ul>
- <li><a href="https://bugs.debian.org/1109459">#1109459: rebuilderd: config files and scripts for a simple one machine setup</a></li>
- <li><a href="https://bugs.debian.org/1110036">#1110036: rebuilderd: create rebuilderd user</a></li>
- <li><a href="https://bugs.debian.org/1110037">#1110037: rebuilderd-worker: config files and scripts for a simple one machine setup</a></li>
- <li><a href="https://bugs.debian.org/1110038">#1110038: rebuilderd-worker: create rebuilderd-worker user with subuid</a></li>
- <li><a href="/rebuilderd-setup.html">How to setup rebuilderd on Debian.</a> (outdated)</li>
- <li><a href="/rebuilderd-usage.html">How to use/control rebuilderd.</a> (outdated)</li>
- <li>https://r.d.n/$arch/api/v1/packages/binary?seen_only=true&release=$release (JSON)</li>
- <li><a href="https://github.com/Nihlus/rebuilderd/blob/database-rework/contrib/docs/rebuilderd-v1.yml">rebuilderd.git/contrib/docs/rebuilderd-v1.yml</a> v1 API specification</li>
- <li>https://r.d.n/$arch/stats/db-backup/ (rebuilderd database backups)</li>
- </ul>
- <hr/>
- <footer>
- pew pew, <a href="https://github.com/kpcyrd/rebuilderd">rebuilderd</a> using <a href="https://tracker.debian.org/pkg/devscripts">debrebuild</a> to reproduce what Debian distributes via <code><a href="https://ftp.debian.org/debian/dists/">ftp.debian.org</a></code>. ♥️
- <br/>
- <small>
- This setup is in its infancy, even though by now everything is in trixie. Still, please don't consider any URLs as stable here, and more to the point, especially don't take any numbers here seriously, unless...!?!
- <br/>Oh, and in case you are wondering why we are doing this, then hopefully the <a href="https://reproducible-builds.org">Reproducible Builds website</a> will explain why this is useful.
- </br>
- contact: IRC preferred: #debian-reproducible on OFTC or mail to holger at d.o
- </small>
- </footer>
- </body>
-</html>
=====================================
hosts/osuosl5-amd64/var/www/html/index.html
=====================================
@@ -0,0 +1 @@
+forky.html
\ No newline at end of file
=====================================
hosts/osuosl5-amd64/var/www/html/trixie.html
=====================================
@@ -0,0 +1,324 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>
+ reproduce.debian.net
+ </title>
+ <style>
+ body {
+ font-family: sans-serif;
+ font-size: 14pt;
+ }
+ h1 {
+ font-size: 24pt;
+ }
+ h3 {
+ font-size: 18pt;
+ }
+ h4 {
+ font-size: 12pt;
+ }
+
+ pre {
+ margin: 0;
+ }
+
+ pre.bad {
+ display: inline;
+ }
+
+ #stats-all, #stats-amd64, #stats-arm64, #stats-armel, #stats-armhf, #stats-i386, #stats-riscv64, #stats-ppc64el{
+ text-align: left;
+ }
+
+ #worker, #progress-all, #progress-amd64, #progress-arm64, #progress-armel, #progress-armhf, #progress-i386, #progress-riscv64, #progress-ppc64el{
+ font-size: 10pt;
+ }
+
+ td {
+ vertical-align: middle;
+ text-align: center;
+ white-space: nowrap;
+ }
+
+ img {
+ vertical-align: middle;
+ max-width: 1920;
+ width: 100%;
+ }
+
+ footer {
+ font-size: 12pt;
+ }
+
+ </style>
+ <script>
+ document.addEventListener('DOMContentLoaded', function() {
+ // display stats
+ function spanWith(text) {
+ let s = document.createElement('span');
+ s.textContent = text;
+ return s;
+ }
+
+ function linkTo(href, text) {
+ let a = document.createElement('a');
+ a.href = href;
+ a.textContent = text;
+ return a;
+ }
+
+ function updateStats(element, pad, arch, release, data) {
+ let div = document.getElementById(element+'-'+arch);
+ // clear children
+ div.innerHTML = '';
+ // add rows
+ data.map(row => {
+ let r = document.createElement('pre');
+ let key = row[0] + ': ';
+ r.className = row[0];
+ r.textContent = key.padEnd(pad) + row[1];
+ div.appendChild(r);
+ if ('bad' === row[0]) {
+ div.appendChild(spanWith(' ('));
+ div.appendChild(linkTo(`/${arch}/stats/${release}/`, 'reasons'));
+ div.appendChild(spanWith(')'));
+ }
+ });
+ }
+
+ function fetchStats() {
+ fetchArchStats("all", "trixie");
+ fetchArchStats("amd64", "trixie");
+ fetchArchStats("arm64", "trixie");
+ fetchArchStats("armel", "trixie");
+ fetchArchStats("armhf", "trixie");
+ fetchArchStats("i386", "trixie");
+ fetchArchStats("riscv64", "trixie");
+ fetchArchStats("ppc64el", "trixie");
+ }
+
+ function fetchArchStats(arch, release) {
+ fetch(`https://reproduce.debian.net/${arch}/api/v1/dashboard?release=${release}`)
+ .then(response => response.json())
+ .then(data => {
+ let good = data['rebuilds']['good'];
+ let bad = data['rebuilds']['bad'];
+ let fail = data['rebuilds']['fail'];
+ let unknown = data['rebuilds']['unknown'];
+
+ let running = data['jobs']['running'];
+ let available = data['jobs']['available'];
+
+ updateStats('stats', 7, arch, release, [
+ ['reproduced', (100 / (good + bad + fail) * good).toFixed(2) + '%'],
+ ['good', good],
+ ['bad', bad],
+ ['fail', fail],
+ ['unknown', unknown],
+ ])
+ updateStats('progress', 8, arch, release, [
+ [(100 / (good + bad + fail + unknown) * (good + bad + fail)).toFixed(2) + '%', (running + available)],
+ ]);
+ });
+ }
+
+ setInterval(fetchStats, 60 * 1000);
+ fetchStats();
+ });
+ </script>
+ </head>
+ <body>
+ <h1>reproduce.debian.net</h1>
+ <h3>Attempts to bit-for-bit identically rebuild each Debian binary package found in the <a href="https://ftp.debian.org/debian/dists/">distribution archive</a>, using the <a href="https://wiki.debian.org/ReproducibleBuilds/BuildinfoFiles">.buildinfo</a> file produced when the <a href="https://buildd.debian.org">buildd</a> originally built the package.</h3>
+ <p>
+ For each distributed package, <em>rebuilderd</em> calls <em>debrebuild</em> that calls <em>debootsnap</em>, <em>mmdebstrap</em> and finally <em>sbuild</em> to build that package within a user namespace.</p>
+ <ul>
+ <li><a href="https://buildinfos.debian.net">buildinfos.debian.net</a> provides <em>.buildinfo</em> files for each distributed binary package.
+ (see <a href="https://bugs.debian.org/763822">#763822</a>,
+ <a href="https://bugs.debian.org/929397">#929397</a>)
+ </li>
+ <li><em>debootsnap</em> uses <a href="https://snapshot.debian.org">snapshot.debian.org</a> to retrieve the exact same version of each build dependency package (which was used for the "original build"). (see <a href="https://bugs.debian.org/1096129">#1096129</a>)</li>
+ <li>The goal 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>Variance testing, used to find factors that can prevent packages from rebuilding reproducibly, will continue at <a href="https://tests.reproducible-builds.org/debian/reproducible.html">https://tests.reproducible-builds.org/debian/reproducible.html</a>.</li>
+ <li>If you are wondering why we are doing this at all, then hopefully the <a href="https://reproducible-builds.org">Reproducible Builds website</a> will explain why this is useful.</li>
+ </ul>
+ <table>
+ <tr>
+ <th width=25%><code>arch</code></th><th width=25%>reproduced builds (trixie)</th><th width=25%>graph for <code>trixie</code></th><th width=25%>percentage tried / queued sources (trixie) and on which workers</th>
+ </tr><tr>
+ <td>
+ <a href="https://reproduce.debian.net/all/">
+ all
+ </a>
+ </td><td>
+ <div id="stats-all">Loading stats...</div>
+ </td><td>
+ <a href="https://reproduce.debian.net/all/">
+ <img src="https://reproduce.debian.net/all/stats/trixie/rb.png">
+ </a>
+ <a href="https://reproduce.debian.net/all/stats/trixie/rb.png">📈</a>
+ </td><td>
+ <div id="progress-all">Loading progress...</div>
+ <span id="worker">
+ ionos(20|21|22|23|24|25)-amd64
+ </span>
+ </td></tr><tr><td>
+ <a href="https://reproduce.debian.net/amd64/">
+ amd64
+ </a>
+ </td><td>
+ <div id="stats-amd64">Loading stats...</div>
+ </td><td>
+ <a href="https://reproduce.debian.net/amd64/">
+ <img src="https://reproduce.debian.net/amd64/stats/trixie/rb.png">
+ </a>
+ <a href="https://reproduce.debian.net/amd64/stats/trixie/rb.png">📈</a>
+ </td><td>
+ <div id="progress-amd64">Loading progress...</div>
+ <span id="worker">
+ osuosl(41|42|43|44)-amd64
+ </span>
+ </td></tr><tr><td>
+ <a href="https://reproduce.debian.net/arm64/">
+ arm64
+ </a>
+ </td><td>
+ <div id="stats-arm64">Loading stats...</div>
+ </td><td>
+ <a href="https://reproduce.debian.net/arm64/">
+ <img src="https://reproduce.debian.net/arm64/stats/trixie/rb.png">
+ </a>
+ <a href="https://reproduce.debian.net/arm64/stats/trixie/rb.png">📈</a>
+ </td><td>
+ <div id="progress-arm64">Loading progress...</div>
+ <span id="worker">
+ codethink02-arm64
+ </span>
+ </td></tr><tr><td>
+ <a href="https://reproduce.debian.net/armel/">
+ armel (trixie)
+ </a>
+ </td><td>
+ <div id="stats-armel">Loading stats...</div>
+ </td><td>
+ <a href="https://reproduce.debian.net/armel/">
+ <img src="https://reproduce.debian.net/armel/stats/trixie/rb.png">
+ </a>
+ <a href="https://reproduce.debian.net/armel/stats/trixie/rb.png">📈</a>
+ </td><td>
+ <div id="progress-armel">Loading progress...</div>
+ <span id="worker">
+ codethink05-arm64
+ </span>
+ </td></tr><tr><td>
+ <a href="https://reproduce.debian.net/armhf/">
+ armhf
+ </a>
+ </td><td>
+ <div id="stats-armhf">Loading stats...</div>
+ </td><td>
+ <a href="https://reproduce.debian.net/armhf/">
+ <img src="https://reproduce.debian.net/armhf/stats/trixie/rb.png">
+ </a>
+ <a href="https://reproduce.debian.net/armhf/stats/trixie/rb.png">📈</a>
+ </td><td>
+ <div id="progress-armhf">Loading progress...</div>
+ <span id="worker">
+ codethink01-arm64
+ </span>
+ </td></tr><tr><td>
+ <a href="https://reproduce.debian.net/i386/">
+ i386
+ </a>
+ </td><td>
+ <div id="stats-i386">Loading stats...</div>
+ </td><td>
+ <a href="https://reproduce.debian.net/i386/">
+ <img src="https://reproduce.debian.net/i386/stats/trixie/rb.png">
+ </a>
+ <a href="https://reproduce.debian.net/i386/stats/trixie/rb.png">📈</a>
+ </td><td>
+ <div id="progress-i386">Loading progress...</div>
+ <span id="worker">
+ infomaniak0(7|8)-amd64
+ </span>
+ </td></tr><tr><td>
+ <a href="https://reproduce.debian.net/ppc64el/">
+ ppc64el
+ </a>
+ </td><td>
+ <div id="stats-ppc64el">Loading stats...</div>
+ </td><td>
+ <a href="https://reproduce.debian.net/ppc64el/">
+ <img src="https://reproduce.debian.net/ppc64el/stats/trixie/rb.png">
+ </a>
+ <a href="https://reproduce.debian.net/ppc64el/stats/trixie/rb.png">📈</a>
+ </td><td>
+ <div id="progress-ppc64el">Loading progress...</div>
+ <span id="worker">
+ osuosl(6|7)-ppc64el
+ </span>
+ </td></tr><tr><td>
+ <a href="https://reproduce.debian.net/riscv64/">
+ riscv64
+ </a>
+ </td><td>
+ <div id="stats-riscv64">Loading stats...</div>
+ </td><td>
+ <a href="https://reproduce.debian.net/riscv64/">
+ <img src="https://reproduce.debian.net/riscv64/stats/trixie/rb.png">
+ </a>
+ <a href="https://reproduce.debian.net/riscv64/stats/trixie/rb.png">📈</a>
+ </td><td>
+ <div id="progress-riscv64">Loading progress...</div>
+ <span id="worker">
+ riscv64-(04|06|07|33|34)<br>
+ <s>riscv64-(01|02)</s>
+ </span>
+ </td></tr>
+ </table>
+ <br/>
+ Coming soon: <code>s390x</code> and better navigation to
+ <a href="unstable.html">unstable</a>,
+ <a href="forky.html">forky</a>
+ and other tested suites.
+ <br/>
+ Help welcome:
+ <h4>We want more and independent rebuilders</h4>
+ Do you have hardware idling? Because, for sure, Debian rebuilding Debian is superb and it's something we've been working on for years!
+ Yet we still want more: we also want <a href="https://wiki.debian.org/ReproducibleBuilds/rebuilderd-instances">independent rebuilders</a>, and we want them in a
+ <em>diverse</em> variety of setups and settings...!
+ And <em>then</em> we'll want anyone to be able to act on this data too.
+ <br/>
+ <h4>How to evaluate a system</h4>
+ <code>
+ sudo apt install <a href="https://tracker.debian.org/rust-debian-repro-status">debian-repro-status</a> ; debian-repro-status
+ </code>
+ <br/>
+ <h4>Documentation hints for rebuilderd</h4>
+ <ul>
+ <li><a href="https://bugs.debian.org/1109459">#1109459: rebuilderd: config files and scripts for a simple one machine setup</a></li>
+ <li><a href="https://bugs.debian.org/1110036">#1110036: rebuilderd: create rebuilderd user</a></li>
+ <li><a href="https://bugs.debian.org/1110037">#1110037: rebuilderd-worker: config files and scripts for a simple one machine setup</a></li>
+ <li><a href="https://bugs.debian.org/1110038">#1110038: rebuilderd-worker: create rebuilderd-worker user with subuid</a></li>
+ <li><a href="/rebuilderd-setup.html">How to setup rebuilderd on Debian.</a> (outdated)</li>
+ <li><a href="/rebuilderd-usage.html">How to use/control rebuilderd.</a> (outdated)</li>
+ <li>https://r.d.n/$arch/api/v1/packages/binary?seen_only=true&release=$release (JSON)</li>
+ <li><a href="https://github.com/Nihlus/rebuilderd/blob/database-rework/contrib/docs/rebuilderd-v1.yml">rebuilderd.git/contrib/docs/rebuilderd-v1.yml</a> v1 API specification</li>
+ <li>https://r.d.n/$arch/stats/db-backup/ (rebuilderd database backups)</li>
+ </ul>
+ <hr/>
+ <footer>
+ pew pew, <a href="https://github.com/kpcyrd/rebuilderd">rebuilderd</a> using <a href="https://tracker.debian.org/pkg/devscripts">debrebuild</a> to reproduce what Debian distributes via <code><a href="https://ftp.debian.org/debian/dists/">ftp.debian.org</a></code>. ♥️
+ <br/>
+ <small>
+ This setup is in its infancy, even though by now everything is in trixie. Still, please don't consider any URLs as stable here, and more to the point, especially don't take any numbers here seriously, unless...!?!
+ <br/>Oh, and in case you are wondering why we are doing this, then hopefully the <a href="https://reproducible-builds.org">Reproducible Builds website</a> will explain why this is useful.
+ </br>
+ contact: IRC preferred: #debian-reproducible on OFTC or mail to holger at d.o
+ </small>
+ </footer>
+ </body>
+</html>
=====================================
hosts/osuosl5-amd64/var/www/html/unstable.html
=====================================
@@ -0,0 +1,307 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>
+ reproduce.debian.net
+ </title>
+ <style>
+ body {
+ font-family: sans-serif;
+ font-size: 14pt;
+ }
+ h1 {
+ font-size: 24pt;
+ }
+ h3 {
+ font-size: 18pt;
+ }
+ h4 {
+ font-size: 12pt;
+ }
+
+ pre {
+ margin: 0;
+ }
+
+ pre.bad {
+ display: inline;
+ }
+
+ #stats-all, #stats-amd64, #stats-arm64, #stats-armhf, #stats-i386, #stats-riscv64, #stats-ppc64el{
+ text-align: left;
+ }
+
+ #worker, #progress-all, #progress-amd64, #progress-arm64, #progress-armhf, #progress-i386, #progress-riscv64, #progress-ppc64el{
+ font-size: 10pt;
+ }
+
+ td {
+ vertical-align: middle;
+ text-align: center;
+ white-space: nowrap;
+ }
+
+ img {
+ vertical-align: middle;
+ max-width: 1920;
+ width: 100%;
+ }
+
+ footer {
+ font-size: 12pt;
+ }
+
+ </style>
+ <script>
+ document.addEventListener('DOMContentLoaded', function() {
+ // display stats
+ function spanWith(text) {
+ let s = document.createElement('span');
+ s.textContent = text;
+ return s;
+ }
+
+ function linkTo(href, text) {
+ let a = document.createElement('a');
+ a.href = href;
+ a.textContent = text;
+ return a;
+ }
+
+ function updateStats(element, pad, arch, release, data) {
+ let div = document.getElementById(element+'-'+arch);
+ // clear children
+ div.innerHTML = '';
+ // add rows
+ data.map(row => {
+ let r = document.createElement('pre');
+ let key = row[0] + ': ';
+ r.className = row[0];
+ r.textContent = key.padEnd(pad) + row[1];
+ div.appendChild(r);
+ if ('bad' === row[0]) {
+ div.appendChild(spanWith(' ('));
+ div.appendChild(linkTo(`/${arch}/stats/${release}/`, 'reasons'));
+ div.appendChild(spanWith(')'));
+ }
+ });
+ }
+
+ function fetchStats() {
+ fetchArchStats("all", "unstable");
+ fetchArchStats("amd64", "unstable");
+ fetchArchStats("arm64", "unstable");
+ fetchArchStats("armhf", "unstable");
+ fetchArchStats("i386", "unstable");
+ fetchArchStats("riscv64", "unstable");
+ fetchArchStats("ppc64el", "unstable");
+ }
+
+ function fetchArchStats(arch, release) {
+ fetch(`https://reproduce.debian.net/${arch}/api/v1/dashboard?release=${release}`)
+ .then(response => response.json())
+ .then(data => {
+ let good = data['rebuilds']['good'];
+ let bad = data['rebuilds']['bad'];
+ let fail = data['rebuilds']['fail'];
+ let unknown = data['rebuilds']['unknown'];
+
+ let running = data['jobs']['running'];
+ let available = data['jobs']['available'];
+
+ updateStats('stats', 7, arch, release, [
+ ['reproduced', (100 / (good + bad + fail) * good).toFixed(2) + '%'],
+ ['good', good],
+ ['bad', bad],
+ ['fail', fail],
+ ['unknown', unknown],
+ ])
+ updateStats('progress', 8, arch, release, [
+ [(100 / (good + bad + fail + unknown) * (good + bad + fail)).toFixed(2) + '%', (running + available)],
+ ]);
+ });
+ }
+
+ setInterval(fetchStats, 60 * 1000);
+ fetchStats();
+ });
+ </script>
+ </head>
+ <body>
+ <h1>reproduce.debian.net</h1>
+ <h3>Attempts to bit-for-bit identically rebuild each Debian binary package found in the <a href="https://ftp.debian.org/debian/dists/">distribution archive</a>, using the <a href="https://wiki.debian.org/ReproducibleBuilds/BuildinfoFiles">.buildinfo</a> file produced when the <a href="https://buildd.debian.org">buildd</a> originally built the package.</h3>
+ <p>
+ For each distributed package, <em>rebuilderd</em> calls <em>debrebuild</em> that calls <em>debootsnap</em>, <em>mmdebstrap</em> and finally <em>sbuild</em> to build that package within a user namespace.</p>
+ <ul>
+ <li><a href="https://buildinfos.debian.net">buildinfos.debian.net</a> provides <em>.buildinfo</em> files for each distributed binary package.
+ (see <a href="https://bugs.debian.org/763822">#763822</a>,
+ <a href="https://bugs.debian.org/929397">#929397</a>)
+ </li>
+ <li><em>debootsnap</em> uses <a href="https://snapshot.debian.org">snapshot.debian.org</a> to retrieve the exact same version of each build dependency package (which was used for the "original build"). (see <a href="https://bugs.debian.org/1096129">#1096129</a>)</li>
+ <li>The goal 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>Variance testing, used to find factors that can prevent packages from rebuilding reproducibly, will continue at <a href="https://tests.reproducible-builds.org/debian/reproducible.html">https://tests.reproducible-builds.org/debian/reproducible.html</a>.</li>
+ <li>If you are wondering why we are doing this at all, then hopefully the <a href="https://reproducible-builds.org">Reproducible Builds website</a> will explain why this is useful.</li>
+ </ul>
+ <table>
+ <tr>
+ <th width=25%><code>arch</code></th><th width=25%>reproduced builds (unstable)</th><th width=25%>graph for <code>unstable</code></th><th width=25%>percentage tried / queued sources (unstable) and on which workers</th>
+ </tr><tr>
+ <td>
+ <a href="https://reproduce.debian.net/all/">
+ all
+ </a>
+ </td><td>
+ <div id="stats-all">Loading stats...</div>
+ </td><td>
+ <a href="https://reproduce.debian.net/all/">
+ <img src="https://reproduce.debian.net/all/stats/unstable/rb.png">
+ </a>
+ <a href="https://reproduce.debian.net/all/stats/unstable/rb.png">📈</a>
+ </td><td>
+ <div id="progress-all">Loading progress...</div>
+ <span id="worker">
+ ionos(20|21|22|23|24|25)-amd64
+ </span>
+ </td></tr><tr><td>
+ <a href="https://reproduce.debian.net/amd64/">
+ amd64
+ </a>
+ </td><td>
+ <div id="stats-amd64">Loading stats...</div>
+ </td><td>
+ <a href="https://reproduce.debian.net/amd64/">
+ <img src="https://reproduce.debian.net/amd64/stats/unstable/rb.png">
+ </a>
+ <a href="https://reproduce.debian.net/amd64/stats/unstable/rb.png">📈</a>
+ </td><td>
+ <div id="progress-amd64">Loading progress...</div>
+ <span id="worker">
+ osuosl(41|42|43|44)-amd64
+ </span>
+ </td></tr><tr><td>
+ <a href="https://reproduce.debian.net/arm64/">
+ arm64
+ </a>
+ </td><td>
+ <div id="stats-arm64">Loading stats...</div>
+ </td><td>
+ <a href="https://reproduce.debian.net/arm64/">
+ <img src="https://reproduce.debian.net/arm64/stats/unstable/rb.png">
+ </a>
+ <a href="https://reproduce.debian.net/arm64/stats/unstable/rb.png">📈</a>
+ </td><td>
+ <div id="progress-arm64">Loading progress...</div>
+ <span id="worker">
+ codethink02-arm64
+ </span>
+ </td></tr><tr><td>
+ <a href="https://reproduce.debian.net/armhf/">
+ armhf
+ </a>
+ </td><td>
+ <div id="stats-armhf">Loading stats...</div>
+ </td><td>
+ <a href="https://reproduce.debian.net/armhf/">
+ <img src="https://reproduce.debian.net/armhf/stats/unstable/rb.png">
+ </a>
+ <a href="https://reproduce.debian.net/armhf/stats/unstable/rb.png">📈</a>
+ </td><td>
+ <div id="progress-armhf">Loading progress...</div>
+ <span id="worker">
+ codethink01-arm64
+ </span>
+ </td></tr><tr><td>
+ <a href="https://reproduce.debian.net/i386/">
+ i386
+ </a>
+ </td><td>
+ <div id="stats-i386">Loading stats...</div>
+ </td><td>
+ <a href="https://reproduce.debian.net/i386/">
+ <img src="https://reproduce.debian.net/i386/stats/unstable/rb.png">
+ </a>
+ <a href="https://reproduce.debian.net/i386/stats/unstable/rb.png">📈</a>
+ </td><td>
+ <div id="progress-i386">Loading progress...</div>
+ <span id="worker">
+ infomaniak0(7|8)-amd64
+ </span>
+ </td></tr><tr><td>
+ <a href="https://reproduce.debian.net/ppc64el/">
+ ppc64el
+ </a>
+ </td><td>
+ <div id="stats-ppc64el">Loading stats...</div>
+ </td><td>
+ <a href="https://reproduce.debian.net/ppc64el/">
+ <img src="https://reproduce.debian.net/ppc64el/stats/unstable/rb.png">
+ </a>
+ <a href="https://reproduce.debian.net/ppc64el/stats/unstable/rb.png">📈</a>
+ </td><td>
+ <div id="progress-ppc64el">Loading progress...</div>
+ <span id="worker">
+ osuosl(6|7)-ppc64el
+ </span>
+ </td></tr><tr><td>
+ <a href="https://reproduce.debian.net/riscv64/">
+ riscv64
+ </a>
+ </td><td>
+ <div id="stats-riscv64">Loading stats...</div>
+ </td><td>
+ <a href="https://reproduce.debian.net/riscv64/">
+ <img src="https://reproduce.debian.net/riscv64/stats/unstable/rb.png">
+ </a>
+ <a href="https://reproduce.debian.net/riscv64/stats/unstable/rb.png">📈</a>
+ </td><td>
+ <div id="progress-riscv64">Loading progress...</div>
+ <span id="worker">
+ riscv64-(04|06|07|33|34)<br>
+ <s>riscv64-(01|02)</s>
+ </span>
+ </td></tr>
+ </table>
+ <br/>
+ Coming soon: <code>s390x</code> and better navigation to
+ <a href="forky.html">forky</a>,
+ <a href="trixie.html">trixie</a>
+ and other tested suites.
+ <br/>
+ Help welcome:
+ <h4>We want more and independent rebuilders</h4>
+ Do you have hardware idling? Because, for sure, Debian rebuilding Debian is superb and it's something we've been working on for years!
+ Yet we still want more: we also want <a href="https://wiki.debian.org/ReproducibleBuilds/rebuilderd-instances">independent rebuilders</a>, and we want them in a
+ <em>diverse</em> variety of setups and settings...!
+ And <em>then</em> we'll want anyone to be able to act on this data too.
+ <br/>
+ <h4>How to evaluate a system</h4>
+ <code>
+ sudo apt install <a href="https://tracker.debian.org/rust-debian-repro-status">debian-repro-status</a> ; debian-repro-status
+ </code>
+ <br/>
+ <h4>Documentation hints for rebuilderd</h4>
+ <ul>
+ <li><a href="https://bugs.debian.org/1109459">#1109459: rebuilderd: config files and scripts for a simple one machine setup</a></li>
+ <li><a href="https://bugs.debian.org/1110036">#1110036: rebuilderd: create rebuilderd user</a></li>
+ <li><a href="https://bugs.debian.org/1110037">#1110037: rebuilderd-worker: config files and scripts for a simple one machine setup</a></li>
+ <li><a href="https://bugs.debian.org/1110038">#1110038: rebuilderd-worker: create rebuilderd-worker user with subuid</a></li>
+ <li><a href="/rebuilderd-setup.html">How to setup rebuilderd on Debian.</a> (outdated)</li>
+ <li><a href="/rebuilderd-usage.html">How to use/control rebuilderd.</a> (outdated)</li>
+ <li>https://r.d.n/$arch/api/v1/packages/binary?seen_only=true&release=$release (JSON)</li>
+ <li><a href="https://github.com/Nihlus/rebuilderd/blob/database-rework/contrib/docs/rebuilderd-v1.yml">rebuilderd.git/contrib/docs/rebuilderd-v1.yml</a> v1 API specification</li>
+ <li>https://r.d.n/$arch/stats/db-backup/ (rebuilderd database backups)</li>
+ </ul>
+ <hr/>
+ <footer>
+ pew pew, <a href="https://github.com/kpcyrd/rebuilderd">rebuilderd</a> using <a href="https://tracker.debian.org/pkg/devscripts">debrebuild</a> to reproduce what Debian distributes via <code><a href="https://ftp.debian.org/debian/dists/">ftp.debian.org</a></code>. ♥️
+ <br/>
+ <small>
+ This setup is in its infancy, even though by now everything is in trixie. Still, please don't consider any URLs as stable here, and more to the point, especially don't take any numbers here seriously, unless...!?!
+ <br/>Oh, and in case you are wondering why we are doing this, then hopefully the <a href="https://reproducible-builds.org">Reproducible Builds website</a> will explain why this is useful.
+ </br>
+ contact: IRC preferred: #debian-reproducible on OFTC or mail to holger at d.o
+ </small>
+ </footer>
+ </body>
+</html>
View it on GitLab: https://salsa.debian.org/qa/jenkins.debian.net/-/compare/a2a28e77108a112d2a179ee54c7f34dbd1e24d57...6386e965c19c42c6b8ac7f7541dc44e44e9b0c3b
--
View it on GitLab: https://salsa.debian.org/qa/jenkins.debian.net/-/compare/a2a28e77108a112d2a179ee54c7f34dbd1e24d57...6386e965c19c42c6b8ac7f7541dc44e44e9b0c3b
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/qa-jenkins-scm/attachments/20260226/0dd013bd/attachment-0001.htm>
More information about the Qa-jenkins-scm
mailing list