It should be possible to reproduce, byte for byte, every build of every package in Debian. More information about reproducible builds in general are available at reproducible-builds.org.
Reproducible builds in Debian are still at the experimental stage. While we are making very good progress, it is a stretch to say that Debian is reproducible or even partially reproducible until the needed changes are integrated in the main distribution.
We need to get our patches for dpkg into Debian unstable and make dak process *.buildinfo files.
We have a tentative specification for a new control file *.buildinfo that records the build environment.
We have an experimental toolchain that creates *.buildinfo files and allows a good amount of source packages to be reproducible.
We have a addendum to sbuild that can rebuild a package after recreating the recorded enviroment.
We have a continuous integration platform that builds and immediately rebuilds packages. With this we can detect problems related to timestamps, file ordering, CPU usage, (pseudo-)randomness and other things.
Many patches have already been submitted, and we are continuously writing new ones.
You can check which packages installed on your system are still unreproducible by using the unreproducible-installed script.
- Identify more common problems.
- Get toolchain changes integrated.
- Start a campaign to get developers to fix their packages.
Get .buildinfo files in the archive.
Get dpkg supporting reproducible builds upload to unstable.
- Require matching binary packages from the developer and a buildd before accepting the package in the archive. This could initially be opt-in.
For more concrete tasks to be done, look at how to contribute.