makepkg: add the $startdir to package .BUILDINFO

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>
Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
Eli Schwartz 2019-11-15 09:32:12 -05:00 committed by Allan McRae
parent 1e23b45851
commit 0428f6213b
2 changed files with 5 additions and 1 deletions

View File

@ -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.

View File

@ -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[@]}"