[Git][reproducible-builds/reproducible-website][master] Make a bunch of cosmetic updates to _posts/2026-08-25-supporter-spotlight-jochen-sprickerhof.md.
Chris Lamb (@lamby)
gitlab at salsa.debian.org
Thu Sep 3 01:17:10 UTC 2026
Chris Lamb pushed to branch master at Reproducible Builds / reproducible-website
Commits:
534e5276 by Chris Lamb at 2026-09-02T18:16:47-07:00
Make a bunch of cosmetic updates to _posts/2026-08-25-supporter-spotlight-jochen-sprickerhof.md.
- - - - -
1 changed file:
- _posts/2026-08-25-supporter-spotlight-jochen-sprickerhof.md
Changes:
=====================================
_posts/2026-08-25-supporter-spotlight-jochen-sprickerhof.md
=====================================
@@ -18,117 +18,59 @@ one of the newer members of the Reproducible Builds project core team.
<br>
<br>
-**Vagrant Cascadian: Could you tell me a bit about yourself? What sort
- of things do you work on?**
+**Vagrant Cascadian: Could you tell me a bit about yourself? What sort of things do you work on?**
**Jochen Sprickerhof:**
-I am a freelance programmer working on Open Source. Mainly doing [Debian](https://debian.org),
-[F-Droid](https://f-droid.org) and some smaller software projects. In general I made it a
-habit to look into every software I use and try to fix bugs or add
-features I need. In Debian I maintain about 180 packages with topics
-from home banking over build systems to robotics. Most of my time I
-currently work on [reproduce.debian.net](https://reproduce.debian.net) where we try to bit by
-bit reproduce the packages distributed by Debian.
+I am a freelance programmer working on Open Source. Mainly doing [Debian](https://debian.org), [F-Droid](https://f-droid.org) and some smaller software projects. In general I made it a habit to look into every software I use and try to fix bugs or add features I need. In Debian, I maintain about 180 packages with topics covering home banking, build systems and robotics. Most of my time, I currently work on [*reproduce.debian.net*](https://reproduce.debian.net), where we try to bit-for-bit reproduce the packages distributed by Debian.
<br>
-**Vagrant: Could you describe the path that lead you to working on
- reproducible-builds?**
+**Vagrant: Could you describe the path that lead you to working on reproducible builds?**
**Jochen:**
-I started my Debian journey as a teenager, converting my school to Debian
-and serving as its system administrator for 13 years. After studying
-applied system science I joined the university's robotics labs where I
-worked on the robot operating system ROS and the point cloud library
-PCL. In the end I enjoyed programming more than writing papers so I
-eventually left academia for a robotics startup. Some years ago I
-realized that the open source work I was doing in my spare time was
-actually the work I cared most about. Nowadays I am really grateful
-that I can spend my days working on things I find important and have
-lots of fun with.
+I started my Debian journey as a teenager, converting my school to Debian and serving as its system administrator for 13 years. After studying Applied System Science, I joined the university's robotics labs, where I worked on the [Robot Operating System](https://www.ros.org/) (ROS) and the [Point Cloud Library](https://pointclouds.org/) (PCL). In the end, I enjoyed programming more than writing papers, so I eventually left academia for a robotics startup. Some years ago, I realized that the open source work I was doing in my spare time was actually the work I cared most about. Nowadays I am really grateful that I can spend my days working on things I find important and have lots of fun with.
<br>
**Vagrant: What projects did you recently make big progress on?**
**Jochen:**
-A recent example is [metasnap.debian.net](https://metasnap.debian.net). It is a meta archive of
-[snapshot.debian.org](https://snapshot.debian.org) that is an archive of all packages in Debian. Let
-me explain it the other way round. With reproduce.debian.net we try to
-reproduce the packages as they are distributed by the Debian
-archive. For that we need the same build environment (compilers,
-build tools..) as was used by Debian back when the original package
-was compiled. Luckily snapshot.debian.org has all those but they are not
-easily accessible via apt, Debians package manager. So metasnap provides a mapping from a
-package name and version to the apt repo on snapshot.debian.org to download
-it from. It was created by josch some time ago and is an awesome
-work. But when we tried to reproduce more and more packages on
-reproduce.debian.net we found that some were missing packages from the build
-environment even though they where visible on snapshot.debian.org. We found
-that metasnap excluded some archive areas because they where not
-expected to be needed. Reimporting all the data took more than two
-months and surfaced a couple more flaws.
-
-With this fixed we were able to build more packages only to find out
-that metasnap also needs better support for version numbers. Luckily we
-were able to rewrite the data in a day instead of starting
-the import again.
+
+A recent example is [*metasnap.debian.net*](https://metasnap.debian.net). It is a 'meta archive' of
+[*snapshot.debian.org*](https://snapshot.debian.org) which is itself archive of all packages in Debian. But let
+me explain it the other way round: with *reproduce.debian.net*, we try to reproduce the packages as they are distributed by the Debian archive. For that, we need the same build environment (compilers, libraries, build tools, etc) that was used by Debian back when the original package was compiled. Luckily, *snapshot.debian.org* has all those packages, but they are not easily accessible via *apt*, Debian's package manager. So, *metasnap* provides a mapping from a package name and version pair to the APT repo on *snapshot.debian.org* needed to download it from. It was created by `josch` some time ago, and is an awesome work. But when we tried to reproduce more and more packages on *reproduce.debian.net*, we found that some were missing packages from the build environment — even though they where visible on *snapshot.debian.org*. We found that *metasnap* excluded some archive areas because they where not expected to be needed. Reimporting all the data took more than two months and surfaced a couple more flaws.
+
+With this fixed, we were able to build more packages, only to find out that *metasnap* also needs better support for version numbers. Luckily we were able to rewrite the data in a day instead of starting the import again.
<br>
-**Vagrant: You have been working on infrastructure to support reproducible
- builds for a while, has recent adoption of reproduce.debian.net into the
- Debian release tooling changed the focus of your work?**
+**Vagrant: You have been working on infrastructure to support reproducible builds for a while. Has recent adoption of *reproduce.debian.net* into the Debian release tooling changed the focus of your work?**
**Jochen:**
-Quite a bit. When we started reproduce.debian.net in 2024 only around
-33% of the packages could be reproduced successfully. Today we are
-above 98%. Most were not bugs in the packages themselves, but in the
-infrastructure. Like the metasnap thing I talked about earlier or
-packages just needed a rebuild because something else, like the
-toolchain, was fixed in the meantime. In May people from the Debian
-release team and reproducible builds sat together and decided that the
-overall state is good enough and now packages that regress on
-reproducibility are blocked from entering the next Debian release. But
-that does not mean all the work is on the shoulders of the Debian
-package maintainers. Since then I have been constantly looking at the
-migration tooling to spot regressions and provide fixes. Also a couple
-of maintainers reached out to us for help and I hope more will do so
-in future.
+Quite a bit. When we started *reproduce.debian.net* in 2024, only around 33% of the packages could be reproduced successfully. Today we are above 98%. Most were not bugs in the packages themselves but in the *infrastructure*. Similar to the *metasnap* issue I reference above, packages just needed a rebuild because something else, like the toolchain, was fixed in the meantime. In May, people from the Debian release team and the Reproducible Builds project sat together and decided that the overall state is good enough, and now packages that regress on reproducibility are blocked from entering the next Debian release. But that does not mean all the work is on the shoulders of Debian package maintainers. Since then I have been constantly looking at the migration tooling to spot regressions and provide fixes. Furthermore, a couple of maintainers reached out to us for help and I hope more will do so in future.
<br>
-**Vagrant: What is one small thing you (or others) have not yet gotten to
- that you would really like to see?**
+**Vagrant: What is one small thing you (or others) have not yet gotten to that you would really like to see?**
**Jochen:**
-The central tool to reproduce Debian packages is `debrebuild`, also written
-by josch. Currently it has two ways to retrieve the build dependencies of
-a package. Either it uses metasnap.debian.net as explained above or it can
-access the Debian unstable apt repository directly. This allows to test packages
-locally before everything is indexed on metasnap by compiling
-against unstable. But actually there are many other apt repositories
-to query, like Debian stable or even derivatives. Adding support for an
-optional list of apt repositories in `debrebuild` would be great. That would
-also be a big step to support reproducing other Debian based distributions.
+The central tool to reproduce Debian packages is *debrebuild*, also written by `josch`. Currently it has two ways to retrieve the build dependencies of a package. Either it uses *metasnap.debian.net* (as explained above), or it can access the Debian *unstable* APT repository directly. This allows to test packages locally before everything is indexed on *metasnap* by compiling against Debian *unstable*. But actually there are many other APT repositories to query, like Debian stable or even derivatives. Adding support for an optional list of APT repositories in `debrebuild` would be great. That would also be a big step to support reproducing other Debian based distributions.
<br>
-**Vagrant: ... one big thing?**
+**Vagrant: ... and one *big* thing?**
**Jochen:**
-It would be great to integrate metasnap.debian.net into
-snapshot.debian.org. There is some discussion on it already in
-[bugs.debian.org/650783](https://bugs.debian.org/650783).
+It would be great to integrate *metasnap.debian.net* into *snapshot.debian.org*. There is some discussion on it already in Debian bug [#650783](https://bugs.debian.org/650783).
<br>
**Vagrant: What are the tools you use the most?**
**Jochen:**
-According to my fish shell history:
+According to my *fish* shell history:
-<pre>
+```
$ history | cut -d' ' -f1 | sort | uniq -c | sort -nr | head -10
36199 git
20941 vi
@@ -140,70 +82,41 @@ $ history | cut -d' ' -f1 | sort | uniq -c | sort -nr | head -10
4249 mv
3655 dpkg
2873 cp
-</pre>
+```
<br>
-**Vagrant: So, is the fish shell reproducible? I remember it did not
- used to...**
+**Vagrant: So, is the *fish* shell reproducible? I remember it did not used to be...**
**Jochen:**
-You can check for yourself - it was last time I did:
-[reproduce.debian.net/excuses.html?source_name=fish](https://reproduce.debian.net/excuses.html?source_name=fish) But looking
-through the other commands, neovim sadly is not:
-[reproduce.debian.net/excuses.html?source_name=neovim](https://reproduce.debian.net/excuses.html?source_name=neovim) I hope we
-can fix that in future.
+You can check for yourself — [it was last time I checked](https://reproduce.debian.net/excuses.html?source_name=fish). But looking through the other commands, [*neovim* sadly is not](https://reproduce.debian.net/excuses.html?source_name=neovim). I hope we can fix that in future.
<br>
-**Vagrant: Oh, that's a nice URL to check for reproducible package...
- you can just pass the source package name to check the current results?**
+**Vagrant: Oh, that's a nice URL to check for reproducible package... you can just pass the source package name to check the current results?**
**Jochen:**
-Yes. An other one is [udd.debian.org/reproducibility/](https://udd.debian.org/reproducibility/) where you
-can list all packages of a Debian maintainer. It also lists source
-reproducibility and has nice filters.
+
+Yes. Another one is [`udd.debian.org/reproducibility/hello`](https://udd.debian.org/reproducibility/hello), where you
+can list all packages of a Debian maintainer. It also lists source reproducibility and has nice filters as well.
<br>
**Vagrant: What tools do you use specifically working on reproducible builds?**
**Jochen:**
-I don't have statistics for that but I would say `sbuild`, to build the
-package, `debrebuild`, to reproduce it, and `diffoscope` to analyze the
-differences. Obviously I also need `apt source <package>` or `git-buildpackage`
-to get the sources and all the tools I mentioned above.
+I don't have statistics for that, but I would say *sbuild* to build the package, *debrebuild* to reproduce it, and `diffoscope` to analyze the differences. Obviously I also need run `apt source <package>` or use *git-buildpackage* to get the sources and all the tools I mentioned above.
<br>
-**Vagrant: So how many packages are left to build reproducibly, and once
- those are finished, what is next?**
+**Vagrant: So how many packages are left to build reproducibly, and once those are finished, what is next?**
**Jochen:**
-Right now reproduce.debian.net shows over 98% reproducibility though
-there are still over 650 package left and some will probably need a
-lot of work. But actually I think making packages reproducible is just
-the first step. For me this is a project to build confidence in the
-system. To reproduce a package we have two parts: The source of the
-package and the build environment. Fixing the packages means gaining
-confidence in the first part but we still rely on the individual build
-environments for each package, as we need to use the same compiler
-that was used when the package was build initially. So we have to keep
-around every historical version of all toolchain packages. I really
-would like to remove this extra archive which means we would have to rebuild
-all of Debian around release time. I am dreaming of a Debian release
-where you could bit by bit reproduce every package just from the
-released versions. Due to how Debian works this is not a trivial
-rebuild but will need some work on the infrastructure. By the way,
-initially there was a third component to pay attention to: any
-connection to the outside world during the build. Luckily we fixed the
-Debian build daemons to not allow network connections during the build some
-time ago.
+Right now, *reproduce.debian.net* shows over 98% reproducibility, though there are still over 650 package left and some will probably need a lot of work. But actually I think making packages reproducible is just the first step. For me, this is a project to build confidence in the system. To reproduce a package we have two parts: the source of the package and the build environment. Fixing the packages means gaining confidence in the first part but we still rely on the individual build environments for each package as we need to use the same compiler that was used when the package was build initially. Because of this, we have to keep around every historical version of all toolchain packages. I really would like to remove this extra archive, which means we would have to rebuild all of Debian around release time. I am dreaming of a Debian release where you could bit-for-bit reproduce every package just from the released versions. Due to how Debian works, however, this is not a trivial rebuild and it would need some work on the infrastructure. By the way, initially there was a third component to pay attention to: any connection to the outside world during the build. Luckily we fixed the Debian build daemons to not allow network connections during the build some time ago.
<br>
-**Vagrant: Thanks for all that work, and taking the time to tell us a bit
- about yourself!**
+**Vagrant: Thanks for all that work, and taking the time to tell us a bit about yourself!**
**Jochen:**
Thanks a lot for the interview!
View it on GitLab: https://salsa.debian.org/reproducible-builds/reproducible-website/-/commit/534e527653319a2ce6f7a482e6e9d40b0904b9aa
--
View it on GitLab: https://salsa.debian.org/reproducible-builds/reproducible-website/-/commit/534e527653319a2ce6f7a482e6e9d40b0904b9aa
You're receiving this email because of your account on salsa.debian.org. Manage all notifications: https://salsa.debian.org/-/profile/notifications | Help: https://salsa.debian.org/help
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.reproducible-builds.org/pipermail/rb-commits/attachments/20260903/da9ba460/attachment.htm>
More information about the rb-commits
mailing list