Debian and reproducible-builds.org incoherence?
Alexis PM
miscelaneanatural at yahoo.es
Wed Apr 12 20:39:36 UTC 2023
Hello
> The missing piece is the buildinfo file. :)
Attached.
> https://buildinfos.debian.net/buildinfo-pool/f/fbreader/fbreader_0.12.10dfsg2-4_amd64.buildinfo
>
> This describes the environment (and most importantly which packages in
> which version were present back then).
>
> For example gcc 4:9.2.1-3 was used to build
> fbreader_0.12.10dfsg2-4_amd64.deb, while the gcc version currently in
> Debian bullseye is 4:10.2.1-1. The `4:`, `-3`, `-1` are Debian specific,
> if we remove them (for the sake of making it simpler to explain) it's
> gcc 9.2.1 vs gcc 10.2.1. This alone makes it highly unlikely that both
> gcc versions are going to generate an identical binary for the given
> source code (other packages that have been updated in the meantime may
> have an effect as well).
Yes, gcc (= 4:9.2.1-3) versus gcc (= 4:10.2.1-1).
Among many other version changes of build dependences.
I had not considered that the package was compiled when bullseye was testing,
with another compiler version.
I had a simpler idea in mind: "stable" and "reproducible".
Comparing sizes, my compiled binary is smaller.
-rwxr-xr-x 1 alexis alexis 1754752 sep 1 2019 test/usr/bin/FBReader
-rwxr-xr-x 1 alexis alexis 2139744 sep 1 2019 debian/usr/bin/FBReader
> To reproduce the package on packages.debian.org (the one everybody cares
> about), you need:
>
> - this tool: https://github.com/fepitre/debrebuild
> - the build info file I linked above.
>
> I've last looked into this early 2022, the command I used back then was:
>
> ./debrebuild.py --output="some/dir/" --builder=mmdebstrap --use-metasnap
> path/to/fbreader_0.12.10dfsg2-4_amd64.buildinfo
>
> There's a service doing this, run by Frédéric Pierret from QubesOS:
>
> https://beta.tests.reproducible-builds.org/ (results may take a while to
> load)
>
> The system at https://tests.reproducible-builds.org/debian/ doesn't use
> buildinfo files and always tests with the latest version of all
> dependencies, in otherwise very different environments (different
> hardware, different system time, different kernel, etc). I've sometimes
> referred to this as "build environment fuzzing". It's trying to detect
> potential problems as early as possible to make sure it's able to build
> them reproducible despite these factors.
It goes beyond my initial intentions, which was to know what was happening,
but very interesting.
> I hope this helps, please let me know if anything is still unclear!
Thank you so much.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fbreader_0.12.10dfsg2-4_amd64.buildinfo
Type: application/octet-stream
Size: 14158 bytes
Desc: not available
URL: <http://lists.reproducible-builds.org/pipermail/rb-general/attachments/20230412/b717f860/attachment.obj>
More information about the rb-general
mailing list