Most of FreeBSD builds "reproducibly" (aka. with two builds producing identical binaries) but there are a few deviations from this. It would be great if these could be eliminated.

Known problem files in HEAD:

/var/db/mergemaster.mtree -- contains user and host names, and the build time.

/boot/{loader, pxeboot,, zfsloader} -- contain build time/date.

/boot/kernel/kernel -- contains time/date, user, and host.

Triage required

The build option survey (from phk@, recently resurrected by bz@) demonstrated possible non-reproducibility in a number of files unrelated to the option being tested - for example:

                usr/lib/debug/boot/kernel/aacraid.ko.debug file size=429288
                usr/lib/debug/boot/kernel/aacraid.ko.debug file size=429280
                usr/lib/debug/boot/kernel/acpi_asus.ko.debug file size=72032
                usr/lib/debug/boot/kernel/acpi_asus.ko.debug file size=72024
                usr/share/man/mandoc.db file size=5998592
                usr/share/man/mandoc.db file size=5997568
                usr/share/openssl/man/mandoc.db file size=174080
                usr/share/openssl/man/mandoc.db file size=171008

Failures appear to be none, one, or both of the .db files and a variety of different kernel module .debug files.

Resolved issues

/usr/include/osreldate.h -- copyright year derived from src/COPYRIGHT as of r274458 (Previously the build year was placed in the Copyright statement. This isn't even valid since the passage of time doesn't create new copyrightable work.)

/usr/sbin/amd -- still contains the build OS name and version. Build host and user removed as of r264374.

/usr/sbin/bhyve -- build date/time removed in r267949

/etc/mail/*.cf -- contains the user and host names from the build. Fixed in r277787

/usr/bin/svnlite -- weird things happening here, even after time stamps were removed in r257129. Fixed in an unknown revision.

ReproducibleBuilds (last edited 2015-11-02 18:58:46 by EdMaste)