[arch-projects] [devtools] makechrootpkg: respect GNUPGHOME
Emiel Wiedijk
me at aimileus.nl
Mon Feb 26 19:03:40 UTC 2018
Previously, makechrootpkg hardcoded ~/.gnupg. Therefore, if a user
uses a custom GPG home directory, the siganture checking would fail.
Now makechrootpkg uses $GNUPGHOME, with a fallback to ~/.gnupg.
Signed-off-by: Emiel Wiedijk <me at aimileus.nl>
---
makechrootpkg.in | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/makechrootpkg.in b/makechrootpkg.in
index afcd121..5a79dc0 100644
--- a/makechrootpkg.in
+++ b/makechrootpkg.in
@@ -182,9 +182,10 @@ prepare_chroot() {
$install -d "$copydir"/{build,build/.gnupg,startdir,{pkg,srcpkg,src,log}dest}
- for x in .gnupg/pubring.{kbx,gpg}; do
- [[ -r $USER_HOME/$x ]] || continue
- $install -m 644 "$USER_HOME/$x" "$copydir/build/$x"
+ for x in pubring.{kbx,gpg}; do
+ local pubring="${GNUPGHOME:-$USER_HOME/.gnupg}/$x"
+ [[ -r "$pubring" ]] || continue
+ $install -m 644 "$pubring" "$copydir/build/.gnupg/$x"
done
sed -e '/^MAKEFLAGS=/d' -e '/^PACKAGER=/d' -i "$copydir/etc/makepkg.conf"
@@ -252,7 +253,8 @@ download_sources() {
chmod 1777 "$builddir"
# Ensure sources are downloaded
- sudo -u "$makepkg_user" env SRCDEST="$SRCDEST" BUILDDIR="$builddir" \
+ sudo -u "$makepkg_user" --preserve-env=GNUPGHOME \
+ env SRCDEST="$SRCDEST" BUILDDIR="$builddir" \
makepkg --config="$copydir/etc/makepkg.conf" --verifysource -o ||
die "Could not download sources."
@@ -341,7 +343,7 @@ main() {
[[ -n $makepkg_user && -z $(id -u "$makepkg_user") ]] && die 'Invalid makepkg user.'
makepkg_user=${makepkg_user:-${SUDO_USER:-$USER}}
- check_root SOURCE_DATE_EPOCH
+ check_root SOURCE_DATE_EPOCH,GNUPGHOME
# Canonicalize chrootdir, getting rid of trailing /
chrootdir=$(readlink -e "$passeddir")
--
2.16.2
More information about the arch-projects
mailing list