Enabling the WITH_REPRODUCIBLE_BUILD knob for 12.0-REL

Ed Maste emaste at freebsd.org
Mon Sep 10 15:26:55 UTC 2018


On 10 September 2018 at 11:11, Jonathan Anderson
<jonathan.robert.anderson at gmail.com> wrote:
> Hi Ed,
>
> I think that sounds great. In the future, could we go even further and, by
> default, only emit date/user/path if the source tree is “dirty” with respect
> to SVN? If the build really is reproducible, that data should only be
> informative when building something that doesn’t match a FreeBSD SVN
> revision (e.g., a Git commit in a local repo or a tree with local changes).

Indeed, and I already have that support in newvers.sh: -r means build
reproducibly and -R means build reproducibly if the source tree
represents an unmodified checkout from a version control system. It's
currently not hooked up to a src.conf knob, and we don't really have a
great way to handle options with more than two states.

We could have REPRODUCIBLE_BUILD always on by default, using the -R
mode - something to revisit after we're done with the 12.0 process.
Also, note that the build will currently not be reproducible between
svn/git/tarball because the version control info is included in the
ident strings.


More information about the freebsd-current mailing list