summaryrefslogtreecommitdiff
path: root/lib/archroot.sh
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 /lib/archroot.sh
parent2a308821b3de179ca1946051d7733362ed45ed04 (diff)
downloaddevtools-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 'lib/archroot.sh')
-rw-r--r--lib/archroot.sh6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/archroot.sh b/lib/archroot.sh
index 98fd2cf..f279603 100644
--- a/lib/archroot.sh
+++ b/lib/archroot.sh
@@ -6,13 +6,15 @@
CHROOT_VERSION='v4'
##
-# usage : check_root
+# usage : check_root $keepenv
##
orig_argv=("$0" "$@")
check_root() {
+ local keepenv=$1
+
(( EUID == 0 )) && return
if type -P sudo >/dev/null; then
- exec sudo -- "${orig_argv[@]}"
+ exec sudo --preserve-env=$keepenv -- "${orig_argv[@]}"
else
exec su root -c "$(printf ' %q' "${orig_argv[@]}")"
fi