This value is needed for reproducible builds. The reason is because $BUILDDIR changes its behavior depending on whether it is the same as $startdir, and the result is that we cannot know whether $srcdir (the path that is potentially embedded into the final package) is actually "$BUILDDIR/src" or "$BUILDDIR/$pkgbase/src". Signed-off-by: Eli Schwartz <eschwartz@archlinux.org> --- v2: add documentation and bump the format version. I went with '2' rather than require a pre-release bump to get a 'real number' which we might forget, so if anything else gets added in the current patch release cycle (unlikely?) we can just skip the bumping. doc/BUILDINFO.5.asciidoc | 3 +++ scripts/makepkg.sh.in | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/doc/BUILDINFO.5.asciidoc b/doc/BUILDINFO.5.asciidoc index 3db1e12f..bb300e18 100644 --- a/doc/BUILDINFO.5.asciidoc +++ b/doc/BUILDINFO.5.asciidoc @@ -53,6 +53,9 @@ BUILDINFO file format. *builddir*:: The directory where the package was built. +*startdir*:: + The directory from which makepkg was executed. + *buildenv (array)*:: The build environment specified in makepkg.conf. diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index 2deb61da..ca3e7459 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -626,7 +626,7 @@ write_pkginfo() { } write_buildinfo() { - write_kv_pair "format" "1" + write_kv_pair "format" "2" write_kv_pair "pkgname" "$pkgname" write_kv_pair "pkgbase" "$pkgbase" @@ -643,6 +643,7 @@ write_buildinfo() { write_kv_pair "packager" "${PACKAGER}" write_kv_pair "builddate" "${SOURCE_DATE_EPOCH}" write_kv_pair "builddir" "${BUILDDIR}" + write_kv_pair "startdir" "${startdir}" write_kv_pair "buildenv" "${BUILDENV[@]}" write_kv_pair "options" "${OPTIONS[@]}" -- 2.24.0