Portál AbcLinuxu, 17. června 2025 20:21
Tým Debianu zabývající se reprodukovatelnými sestaveními (Reproducible Builds), tj. kdokoli může nezávisle ověřit, že daný binární .deb balíček vznikl překladem daných zdrojových kódů, oznámil, že 94 % balíčků Debianu lze přeložit a sestavit reprodukovatelně. V únory 2015 to bylo 83 % [reddit].
Tiskni
Sdílej:
Z binárek jsou třeba stripnutý informace o tom, kdo a kdy to buldil. Ale asi to nebude jediná věc. Taková reprodukovatelnost vyžaduje zvláštní přístup.
Všimnout si lze rozdílu třeba u kernelu:
Debian:
# uname -a Linux server01 4.9.0-3-amd64 #1 SMP Debian 4.9.30-2+deb9u2 (2017-06-26) x86_64 GNU/Linux
Fedora:
$ uname -a Linux tomova-bedynka 4.11.8-300.fc26.x86_64 #1 SMP Thu Jun 29 20:09:48 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Jen pro pořádek: to druhé neznamená automaticky, že ten build není reprodukovatelný. Třeba v openSUSE tam není timestamp, kdy proběhl build, ale timestamp commitu, ze kterého byl ten build provedený, takže když se provede znovu build ze stejných zdrojáků, bude tam stejné datum a čas.
Těch potenciálních problémů je opravdu víc, např. je potřeba dávat pozor, aby linker řadil object files v deterministickém pořadí. Nebo některé generované soubory mohou obsahovat padding s pseudonáhodným obsahem atd. Tady je třeba pár příkladů toho, na co se dá narazit.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.