Reproducible Builds: Reproducible Builds in October 2026
Welcome to the October 2026 report from the Reproducible Builds project!
In our reports, we try to outline the most important things that we have been up to over the past month. As a quick recap about what problem our project intends to solve, whilst anyone may inspect the source code of free software for malicious flaws, almost all software is distributed to end users as pre-compiled binaries. The motivation behind the reproducible builds effort is to ensure no flaws have been introduced during this compilation process by promising identical results are always generated from a given source, thus allowing multiple third parties to come to a consensus on whether a build was compromised or not.
As ever, if you are interested in contributing to the project, please visit our Contribute page on our website.
In this month s report, we cover:
- GNU tar sparse archive non-determinism reported
- Reproducible Builds at SeaGL 2026
- Tool and documentation development
- Distribution work
SOURCE_DATE_EPOCHspecification updates- Mailing list news
- Patches
GNU tar sparse archive non-determinism reported
Johannes Schauer Marin Rodrigues (josch) reported an issue to the GNU tar mailing list where creating PAX-format sparse tar archives produces unreproducible outputs. Specifically, when GNU tar generates a PAX archive containing a sparse file it embeds the process ID into the member filename path structure (e.g. ./GNUSparseFile.<pid>/<filename>). Because process IDs vary between build runs, however, archiving identical sparse input files yields different binary outputs.
In his report, Johannes outlined potential workarounds, such as running tar inside an unshared PID namespace where the process ID is pinned to 1, and proposed that GNU tar either omit the PID by default or provide a command-line flag to suppress it. Full details can be found in the post itself, and Johannes also filed the bug in Debian for completeness.
Reproducible Builds at SeaGL 2026
Reproducible Builds was present at SeaGL in Seattle, WA, on October 23rd & 24th. Thanks to everyone who attended and spoke with us!
Members of the Reproducible Builds project attended SeaGL (the Seattle GNU/Linux Conference) in Seattle, WA, on October 23rd & 24th. It was a fantastic opportunity to connect with local community members, discuss software supply chain security and share updates on build verification tooling. Thanks to everyone who stopped by our sessions or spoke with us during the event.
Founded in 2013, SeaGL is an annual free-as-in-freedom, grassroots technical summit dedicated to spreading awareness, community engagement and practical knowledge about free software, open hardware and libre culture.
Tool and documentation development
diffoscope is our in-depth and content-aware diff utility that can locate and diagnose reproducibility issues. This month, Chris Lamb made a number of changes, including preparing and uploading versions 333, 334, 335 and 336 to Debian:
-
New features:
-
Bug fixes:
- Drop
Recommends: guix from the diffoscope-minimal package as it is not minimal. (#1114739) [ ]
- Fix a crash when using the latest version(s) of Androguard. Thanks, hc! [ ]
-
Codebase improvements:
-
Misc:
In addition, Johannes Schauer Marin Rodrigues added support for POSIX.1-2001 PAX headers in the .tar file comparator [ ] and Vagrant Cascadian proposed an update in diffoscope in GNU Guix to version 335.
Distribution work
In Debian this month, 20 reviews of Debian packages were added, 28 were updated and 27 were removed this month adding to our knowledge about identified issues. One issue type was updated to reflect that Debhelper compat level 14 is no longer experimental. [ ]
In addition, Vagrant Cascadian performed a number of Non-Maintainer Uploads (NMUs) and Quality Assurance (QA) uploads in Debian for several packages with outstanding reproducibility issues. These included clhep, tea-cli, argparse-manpage, ruby-timers, mandos and cdebootstrap.
Lastly, Bernhard M. Wiedemann posted another openSUSE monthly update for their reproducibility work there.
SOURCE_DATE_EPOCH specification updates
As announced in last month s report, further work has been done by Bernhard M. Wiedemann regarding updating the SOURCE_DATE_EPOCH specification following discussions at a project summit. Seven distinct proposed changes were originally submitted as merge requests on Salsa, and many of these have been approved or otherwise collapsed.
Bernhard s proposed modifications were independent of one another, allowing for any combination to be merged depending on community feedback. Bernhard noted that one proposal may see the most debate, and could still benefit from further refinement before reaching consensus. Community members are invited to review and provide feedback on the individual merge requests; as Bernhard writes, The other MRs could still use feedback from more people before December . Input can be submitted via reactions or comments on Salsa, directly by email to Bernhard or the mailing list.
The SOURCE_DATE_EPOCH specification was first published in 2015 and updated in 2017.
Mailing list news
On our mailing list this month:
-
Robin Candau posted to the list to announce the revival of a central repository to share reproducible builds patches. Following discussions at this year s Reproducible Builds summit, Robin and Bernhard M. Wiedemann brought back a repository originally created a decade ago to collect distro-specific fixes in a unified location. Bernhard has already populated the repository with reproducible builds patches from openSUSE, while Robin has contributed patches from Arch Linux and has invited maintainers from other distributions to request push access.
-
Last month, Alexander Sosedkin inquired on the mailing list about the preferred approach for sourcing pinned translation files to create reproducible GnuTLS release tarballs, asking whether external hosting should provide versioned downloads, or if projects ought to use Git submodules, dedicated side-repositories or some other mechanism. The conversation continued this month with a number of proposals.
-
Jeremy B cha wrote that he was seeking assistance with a reproducibility failure in GNOME s
libsoup library when built using debrebuild. Filed as Debian bug #1126440, the issue stems from a Meson build system check that inspects Apache and its local configuration during the build process, which fails inside debrebuild environments. His query solicited a number of replies (including one from an AI agent).
-
Janneke Nieuwenhuizen and Ekaitz Zarraga announced two releases of GNU Mes: version 0.27.2 and version 0.28. GNU Mes is a Scheme interpreter and C compiler created to facilitate bootstrapping the GNU system without relying on opaque binary blobs, serving as a core component of the Bootstrappable Builds effort. Version 0.27.2 serves as a bug-fix release adding compatibility for the recently-released GCC 16 and NYACC versions 2.02.4 and 3.00.0, etc. whilst version 0.28 introduces a major overhaul of the core interpreter.
Patches
The Reproducible Builds project detects, dissects and attempts to fix as many currently-unreproducible packages as possible. We endeavour to send all of our patches upstream where applicable or possible. This month, we wrote a large number of such patches, including:
-
Bernhard M. Wiedemann:
-
Chris Lamb:
- #1150109 filed against
js8call.
- #1150326 filed against
pywps.
- #1150327 filed against
php-nesbot-carbon.
- #1150439 filed against
kicad-library-utils.
- #1150440 filed against
ros-dynamic-reconfigure.
- #1150916 filed against
golang-github-anacrolix-log.
- #1150917 filed against
complexity.
- #1151669 filed against
node-uplot.
- #1152182 filed against
python-poetry-dynamic-versioning.
-
Jochen Sprickerhof:
- #1150414 filed against
open-build-service.
-
Johannes Schauer Marin Rodrigues:
-
Vagrant Cascadian:
-
Zackary Loevseth:
In addition, two build failure bugs were reported by Jochen Sprickerhof.
If you are interested in contributing to the Reproducible Builds project, please visit our Contribute page on our website. However, you can get in touch with us via:
-
IRC:
#reproducible-builds on irc.oftc.net.
-
Mastodon: @reproducible_builds@fosstodon.org
-
Mailing list:
rb-general@lists.reproducible-builds.org
Reproducible Builds was present at SeaGL in Seattle, WA, on October 23rd & 24th. Thanks to everyone who attended and spoke with us!
Members of the Reproducible Builds project attended SeaGL (the Seattle GNU/Linux Conference) in Seattle, WA, on October 23rd & 24th. It was a fantastic opportunity to connect with local community members, discuss software supply chain security and share updates on build verification tooling. Thanks to everyone who stopped by our sessions or spoke with us during the event.
Founded in 2013, SeaGL is an annual free-as-in-freedom, grassroots technical summit dedicated to spreading awareness, community engagement and practical knowledge about free software, open hardware and libre culture.
Tool and documentation development
diffoscope is our in-depth and content-aware diff utility that can locate and diagnose reproducibility issues. This month, Chris Lamb made a number of changes, including preparing and uploading versions 333, 334, 335 and 336 to Debian:
-
New features:
-
Bug fixes:
- Drop
Recommends: guix from the diffoscope-minimal package as it is not minimal. (#1114739) [ ]
- Fix a crash when using the latest version(s) of Androguard. Thanks, hc! [ ]
-
Codebase improvements:
-
Misc:
In addition, Johannes Schauer Marin Rodrigues added support for POSIX.1-2001 PAX headers in the .tar file comparator [ ] and Vagrant Cascadian proposed an update in diffoscope in GNU Guix to version 335.
Distribution work
In Debian this month, 20 reviews of Debian packages were added, 28 were updated and 27 were removed this month adding to our knowledge about identified issues. One issue type was updated to reflect that Debhelper compat level 14 is no longer experimental. [ ]
In addition, Vagrant Cascadian performed a number of Non-Maintainer Uploads (NMUs) and Quality Assurance (QA) uploads in Debian for several packages with outstanding reproducibility issues. These included clhep, tea-cli, argparse-manpage, ruby-timers, mandos and cdebootstrap.
Lastly, Bernhard M. Wiedemann posted another openSUSE monthly update for their reproducibility work there.
SOURCE_DATE_EPOCH specification updates
As announced in last month s report, further work has been done by Bernhard M. Wiedemann regarding updating the SOURCE_DATE_EPOCH specification following discussions at a project summit. Seven distinct proposed changes were originally submitted as merge requests on Salsa, and many of these have been approved or otherwise collapsed.
Bernhard s proposed modifications were independent of one another, allowing for any combination to be merged depending on community feedback. Bernhard noted that one proposal may see the most debate, and could still benefit from further refinement before reaching consensus. Community members are invited to review and provide feedback on the individual merge requests; as Bernhard writes, The other MRs could still use feedback from more people before December . Input can be submitted via reactions or comments on Salsa, directly by email to Bernhard or the mailing list.
The SOURCE_DATE_EPOCH specification was first published in 2015 and updated in 2017.
Mailing list news
On our mailing list this month:
-
Robin Candau posted to the list to announce the revival of a central repository to share reproducible builds patches. Following discussions at this year s Reproducible Builds summit, Robin and Bernhard M. Wiedemann brought back a repository originally created a decade ago to collect distro-specific fixes in a unified location. Bernhard has already populated the repository with reproducible builds patches from openSUSE, while Robin has contributed patches from Arch Linux and has invited maintainers from other distributions to request push access.
-
Last month, Alexander Sosedkin inquired on the mailing list about the preferred approach for sourcing pinned translation files to create reproducible GnuTLS release tarballs, asking whether external hosting should provide versioned downloads, or if projects ought to use Git submodules, dedicated side-repositories or some other mechanism. The conversation continued this month with a number of proposals.
-
Jeremy B cha wrote that he was seeking assistance with a reproducibility failure in GNOME s
libsoup library when built using debrebuild. Filed as Debian bug #1126440, the issue stems from a Meson build system check that inspects Apache and its local configuration during the build process, which fails inside debrebuild environments. His query solicited a number of replies (including one from an AI agent).
-
Janneke Nieuwenhuizen and Ekaitz Zarraga announced two releases of GNU Mes: version 0.27.2 and version 0.28. GNU Mes is a Scheme interpreter and C compiler created to facilitate bootstrapping the GNU system without relying on opaque binary blobs, serving as a core component of the Bootstrappable Builds effort. Version 0.27.2 serves as a bug-fix release adding compatibility for the recently-released GCC 16 and NYACC versions 2.02.4 and 3.00.0, etc. whilst version 0.28 introduces a major overhaul of the core interpreter.
Patches
The Reproducible Builds project detects, dissects and attempts to fix as many currently-unreproducible packages as possible. We endeavour to send all of our patches upstream where applicable or possible. This month, we wrote a large number of such patches, including:
-
Bernhard M. Wiedemann:
-
Chris Lamb:
- #1150109 filed against
js8call.
- #1150326 filed against
pywps.
- #1150327 filed against
php-nesbot-carbon.
- #1150439 filed against
kicad-library-utils.
- #1150440 filed against
ros-dynamic-reconfigure.
- #1150916 filed against
golang-github-anacrolix-log.
- #1150917 filed against
complexity.
- #1151669 filed against
node-uplot.
- #1152182 filed against
python-poetry-dynamic-versioning.
-
Jochen Sprickerhof:
- #1150414 filed against
open-build-service.
-
Johannes Schauer Marin Rodrigues:
-
Vagrant Cascadian:
-
Zackary Loevseth:
In addition, two build failure bugs were reported by Jochen Sprickerhof.
If you are interested in contributing to the Reproducible Builds project, please visit our Contribute page on our website. However, you can get in touch with us via:
-
IRC:
#reproducible-builds on irc.oftc.net.
-
Mastodon: @reproducible_builds@fosstodon.org
-
Mailing list:
rb-general@lists.reproducible-builds.org
- Drop
Recommends: guixfrom thediffoscope-minimalpackage as it is not minimal. (#1114739) [ ] - Fix a crash when using the latest version(s) of Androguard. Thanks, hc! [ ]
In Debian this month, 20 reviews of Debian packages were added, 28 were updated and 27 were removed this month adding to our knowledge about identified issues. One issue type was updated to reflect that Debhelper compat level 14 is no longer experimental. [ ]
In addition, Vagrant Cascadian performed a number of Non-Maintainer Uploads (NMUs) and Quality Assurance (QA) uploads in Debian for several packages with outstanding reproducibility issues. These included clhep, tea-cli, argparse-manpage, ruby-timers, mandos and cdebootstrap.
Lastly, Bernhard M. Wiedemann posted another openSUSE monthly update for their reproducibility work there.
SOURCE_DATE_EPOCH specification updates
As announced in last month s report, further work has been done by Bernhard M. Wiedemann regarding updating the SOURCE_DATE_EPOCH specification following discussions at a project summit. Seven distinct proposed changes were originally submitted as merge requests on Salsa, and many of these have been approved or otherwise collapsed.
Bernhard s proposed modifications were independent of one another, allowing for any combination to be merged depending on community feedback. Bernhard noted that one proposal may see the most debate, and could still benefit from further refinement before reaching consensus. Community members are invited to review and provide feedback on the individual merge requests; as Bernhard writes, The other MRs could still use feedback from more people before December . Input can be submitted via reactions or comments on Salsa, directly by email to Bernhard or the mailing list.
The SOURCE_DATE_EPOCH specification was first published in 2015 and updated in 2017.
Mailing list news
On our mailing list this month:
-
Robin Candau posted to the list to announce the revival of a central repository to share reproducible builds patches. Following discussions at this year s Reproducible Builds summit, Robin and Bernhard M. Wiedemann brought back a repository originally created a decade ago to collect distro-specific fixes in a unified location. Bernhard has already populated the repository with reproducible builds patches from openSUSE, while Robin has contributed patches from Arch Linux and has invited maintainers from other distributions to request push access.
-
Last month, Alexander Sosedkin inquired on the mailing list about the preferred approach for sourcing pinned translation files to create reproducible GnuTLS release tarballs, asking whether external hosting should provide versioned downloads, or if projects ought to use Git submodules, dedicated side-repositories or some other mechanism. The conversation continued this month with a number of proposals.
-
Jeremy B cha wrote that he was seeking assistance with a reproducibility failure in GNOME s
libsoup library when built using debrebuild. Filed as Debian bug #1126440, the issue stems from a Meson build system check that inspects Apache and its local configuration during the build process, which fails inside debrebuild environments. His query solicited a number of replies (including one from an AI agent).
-
Janneke Nieuwenhuizen and Ekaitz Zarraga announced two releases of GNU Mes: version 0.27.2 and version 0.28. GNU Mes is a Scheme interpreter and C compiler created to facilitate bootstrapping the GNU system without relying on opaque binary blobs, serving as a core component of the Bootstrappable Builds effort. Version 0.27.2 serves as a bug-fix release adding compatibility for the recently-released GCC 16 and NYACC versions 2.02.4 and 3.00.0, etc. whilst version 0.28 introduces a major overhaul of the core interpreter.
Patches
The Reproducible Builds project detects, dissects and attempts to fix as many currently-unreproducible packages as possible. We endeavour to send all of our patches upstream where applicable or possible. This month, we wrote a large number of such patches, including:
-
Bernhard M. Wiedemann:
-
Chris Lamb:
- #1150109 filed against
js8call.
- #1150326 filed against
pywps.
- #1150327 filed against
php-nesbot-carbon.
- #1150439 filed against
kicad-library-utils.
- #1150440 filed against
ros-dynamic-reconfigure.
- #1150916 filed against
golang-github-anacrolix-log.
- #1150917 filed against
complexity.
- #1151669 filed against
node-uplot.
- #1152182 filed against
python-poetry-dynamic-versioning.
-
Jochen Sprickerhof:
- #1150414 filed against
open-build-service.
-
Johannes Schauer Marin Rodrigues:
-
Vagrant Cascadian:
-
Zackary Loevseth:
In addition, two build failure bugs were reported by Jochen Sprickerhof.
If you are interested in contributing to the Reproducible Builds project, please visit our Contribute page on our website. However, you can get in touch with us via:
-
IRC:
#reproducible-builds on irc.oftc.net.
-
Mastodon: @reproducible_builds@fosstodon.org
-
Mailing list:
rb-general@lists.reproducible-builds.org
- Robin Candau posted to the list to announce the revival of a central repository to share reproducible builds patches. Following discussions at this year s Reproducible Builds summit, Robin and Bernhard M. Wiedemann brought back a repository originally created a decade ago to collect distro-specific fixes in a unified location. Bernhard has already populated the repository with reproducible builds patches from openSUSE, while Robin has contributed patches from Arch Linux and has invited maintainers from other distributions to request push access.
- Last month, Alexander Sosedkin inquired on the mailing list about the preferred approach for sourcing pinned translation files to create reproducible GnuTLS release tarballs, asking whether external hosting should provide versioned downloads, or if projects ought to use Git submodules, dedicated side-repositories or some other mechanism. The conversation continued this month with a number of proposals.
-
Jeremy B cha wrote that he was seeking assistance with a reproducibility failure in GNOME s
libsouplibrary when built usingdebrebuild. Filed as Debian bug #1126440, the issue stems from a Meson build system check that inspects Apache and its local configuration during the build process, which fails insidedebrebuildenvironments. His query solicited a number of replies (including one from an AI agent). - Janneke Nieuwenhuizen and Ekaitz Zarraga announced two releases of GNU Mes: version 0.27.2 and version 0.28. GNU Mes is a Scheme interpreter and C compiler created to facilitate bootstrapping the GNU system without relying on opaque binary blobs, serving as a core component of the Bootstrappable Builds effort. Version 0.27.2 serves as a bug-fix release adding compatibility for the recently-released GCC 16 and NYACC versions 2.02.4 and 3.00.0, etc. whilst version 0.28 introduces a major overhaul of the core interpreter.
Patches
The Reproducible Builds project detects, dissects and attempts to fix as many currently-unreproducible packages as possible. We endeavour to send all of our patches upstream where applicable or possible. This month, we wrote a large number of such patches, including:
-
Bernhard M. Wiedemann:
-
Chris Lamb:
- #1150109 filed against
js8call.
- #1150326 filed against
pywps.
- #1150327 filed against
php-nesbot-carbon.
- #1150439 filed against
kicad-library-utils.
- #1150440 filed against
ros-dynamic-reconfigure.
- #1150916 filed against
golang-github-anacrolix-log.
- #1150917 filed against
complexity.
- #1151669 filed against
node-uplot.
- #1152182 filed against
python-poetry-dynamic-versioning.
-
Jochen Sprickerhof:
- #1150414 filed against
open-build-service.
-
Johannes Schauer Marin Rodrigues:
-
Vagrant Cascadian:
-
Zackary Loevseth:
In addition, two build failure bugs were reported by Jochen Sprickerhof.
If you are interested in contributing to the Reproducible Builds project, please visit our Contribute page on our website. However, you can get in touch with us via:
-
IRC:
#reproducible-builds on irc.oftc.net.
-
Mastodon: @reproducible_builds@fosstodon.org
-
Mailing list:
rb-general@lists.reproducible-builds.org
- #1150109 filed against
js8call. - #1150326 filed against
pywps. - #1150327 filed against
php-nesbot-carbon. - #1150439 filed against
kicad-library-utils. - #1150440 filed against
ros-dynamic-reconfigure. - #1150916 filed against
golang-github-anacrolix-log. - #1150917 filed against
complexity. - #1151669 filed against
node-uplot. - #1152182 filed against
python-poetry-dynamic-versioning.
- #1150414 filed against
open-build-service.
#reproducible-builds on irc.oftc.net.
rb-general@lists.reproducible-builds.org
My Debian contributions this month were all
I have a Samsung Q800A soundbar. It ships with built-in support for the Apple Airplay protocol, but I m not really an Apple kind of guy so that s never been particularly helpful for me. So, instead, I have a Chromecast Audio plugged into it via TOSLINK, and that works fine - except for the fact that there s no way to explicitly pick TOSLINK as the audio input. Instead, there s a Digital In option that refers to both the optical in and eARC input from a TV. Not inherently a problem, given I m unlikely to be watching TV while listening to music, but my TV is a Samsung Frame, a device that s intended to display art whenever someone is standing nearby, and which infuriatingly generates an eARC signal even if it s only in art mode and isn t going to make any noise. This switches the soundbar away from optical and I get sad. I could plug a video cast device into the HDMI port on the soundbar and cast audio to that, but then the art would get replaced with album covers whenever I m playing music, and again that s not quite the ambience I want. Still, none of this is that important.
Until I learned that the Australian version of the soundbar does have Google Cast support. The firmware image was downloadable from Samsung support, so I grabbed that, but unfortunately found that it was encrypted. However, if I downloaded the firmware image for the US model, the encrypted blob was identical - there s no difference in the underlying firmware between the two of them. So, how come one has support, and the other doesn t?
I d need an unencrypted copy of the firmware to have a real chance of figuring this out, and the easiest way to get one was to just run an ebay watch for a broken model of the same series. Once I had one in my hands I used hot air to remove the eMMC storage from the device, cleaned up the chip, and then stuck it in
A brand new release 0.1.17 of the
The Debian LTS Team, funded by 







Just some notes about fixing some issues while installing Ubuntu on Macbook Pro 2017


