summaryrefslogtreecommitdiff
path: root/archbuild.in
diff options
context:
space:
mode:
authorEli Schwartz <eschwartz@archlinux.org>2017-10-30 11:17:56 -0400
committerLevente Polyak <anthraxx@archlinux.org>2017-11-22 16:35:25 +0100
commiteab5aba9b027a7689acaf2382a04ff69b5b8771e (patch)
treec007465661502736d8c90b3b9c2990cf6447c4ec /archbuild.in
parent2a308821b3de179ca1946051d7733362ed45ed04 (diff)
downloaddevtools32-eab5aba9b027a7689acaf2382a04ff69b5b8771e.tar.xz
Support reproducible builds
Recent development versions of makepkg support reproducible builds through the environment variable SOURCE_DATE_EPOCH. Pass this variable through makechrootpkg to makepkg when available. Also initialize SOURCE_DATE_EPOCH whenever running archbuild to enforce reproducible builds for repository packages. Signed-off-by: Eli Schwartz <eschwartz@archlinux.org> Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
Diffstat (limited to 'archbuild.in')
-rw-r--r--archbuild.in7
1 files changed, 6 insertions, 1 deletions
diff --git a/archbuild.in b/archbuild.in
index 8339aef..1e5b582 100644
--- a/archbuild.in
+++ b/archbuild.in
@@ -39,7 +39,7 @@ while getopts 'hcr:' arg; do
esac
done
-check_root
+check_root SOURCE_DATE_EPOCH
# Pass all arguments after -- right to makepkg
makechrootpkg_args+=("${@:$OPTIND}")
@@ -74,5 +74,10 @@ else
pacman -Syu --noconfirm || abort
fi
+# Always build official packages reproducibly
+if [[ ! -v SOURCE_DATE_EPOCH ]]; then
+ export SOURCE_DATE_EPOCH=$(date +%s)
+fi
+
msg "Building in chroot for [%s] (%s)..." "${repo}" "${arch}"
exec makechrootpkg -r "${chroots}/${repo}-${arch}" "${makechrootpkg_args[@]}"