Hi!
After handing a good number of patches regarding NetBSD
reproducibility to Christos during the last months (years?), the
current state over all port/arch combinations emitted by
./build.sh list-arch | grep -v NO_DEFAULT | \
while IFS=$'\t'= read _1 MACHINE _2 ARCH _; do
echo "${MACHINE}-${ARCH}"
done
when running a `current` build in a Debian `unstable` Docker container
as well as in a NetBSD `current` Qemu VM (hosted on a Linux system)
are consistent enough so that I started to auto-generate a report:
http://toolchain.lug-owl.de/reports/netbsd-reproducibility-overview-1.html
Each port/arch combination is built four times:
* two builds in a Debian unstable Docker and
* two builds in a NetBSD current VM.
The table shows the build state for those four builds, whether or not
the two Linux builds produces a fully matching result, whether or not
the two NetBSD builds match, and whether or not the NetBSD builds
match the Linux builds.
Build artifacts taken into consideration are all sets, install
filesystems as well as the install ISOs if available. Everything is
packed into a tarball (with carefully overridden timestamps) and
compressed (gzip -n). With matching build artifacts, the tarballs also
have to be bit-identical.
I intend to work down the remaining differences, but that takes
time. (Esp. my computation power is limited, so it *really* takes time
to track things down.)
Stats:
96 considered port/arch
83 had successful builds on Linux and NetBSD
45 were completely reproducible comparing Linux- and NetBSD-based builds
Remarks:
* amd64-x86_64 failed to build on NetBSD due to the virtual disk
being too small. Disk is larger now, should work in the next
build round.
* hp300-m68k failed on Linux with a mmap error. The boot code was
recently reworked, that may have caused this issue.
MfG, JBG
--
Attachment:
signature.asc
Description: PGP signature