summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@parabola.nu>2017-05-06 00:41:02 +0200
committerJan Alexander Steffens (heftig) <jan.steffens@gmail.com>2017-07-05 18:21:55 +0200
commit4f23609d4e4a9a8be837b6d426442de1cd68c653 (patch)
treebcdeb601c475e00800e84659c32952c48dec8c10
parent31a800fd8821396f6a17a2e38e04c792c7f61b3e (diff)
downloaddevtools-4f23609d4e4a9a8be837b6d426442de1cd68c653.tar.gz
devtools-4f23609d4e4a9a8be837b6d426442de1cd68c653.tar.xz
makechroot: download_sources: Accept makepkg_owner as an argument
What this is really doing is fixing a conflict that I had incorrectly resolved when rebasing what became 2fd5931 onto cda9cf4. Of course, because of dynamic scoping, everything worked out, and everything worked as intended. Before cda9cf4, it was appropriate for download_sources to take src_owner as an argument, but after cda9cf4, it is now appropriate to take makepkg_user as an argument. However, it still takes src_owner as an argument, but pays 0 attention to it; instead looking at makepkg_user which it happily inherited because of dynamic scoping. So change it to take makepkg_user as the argument.
-rw-r--r--makechrootpkg.in10
1 files changed, 5 insertions, 5 deletions
diff --git a/makechrootpkg.in b/makechrootpkg.in
index cc3c738..d922fa0 100644
--- a/makechrootpkg.in
+++ b/makechrootpkg.in
@@ -252,20 +252,19 @@ _chrootnamcap() {
done
}
-# Usage: download_sources $copydir $src_owner
+# Usage: download_sources $copydir $makepkg_user
# Globals:
# - SRCDEST
# - USER
download_sources() {
local copydir=$1
- local src_owner=$2
+ local makepkg_user=$2
local builddir="$(mktemp -d)"
chmod 1777 "$builddir"
# Ensure sources are downloaded
- makepkg_user=${makepkg_user:-$SUDO_USER}
- if [[ -n $makepkg_user ]]; then
+ if [[ "$(id -u "$makepkg_user")" != 0 ]]; then
sudo -u "$makepkg_user" env SRCDEST="$SRCDEST" BUILDDIR="$builddir" \
makepkg --config="$copydir/etc/makepkg.conf" --verifysource -o
else
@@ -332,6 +331,7 @@ main() {
[[ ! -f PKGBUILD && -z "${install_pkgs[*]}" ]] && die 'This must be run in a directory containing a PKGBUILD.'
[[ -n $makepkg_user && -z $(id -u "$makepkg_user") ]] && die 'Invalid makepkg user.'
+ makepkg_user=${makepkg_user:-${SUDO_USER:-$USER}}
check_root
@@ -394,7 +394,7 @@ main() {
[[ -f PKGBUILD ]] || return $ret
fi
- download_sources "$copydir" "$src_owner"
+ download_sources "$copydir" "$makepkg_user"
prepare_chroot "$copydir" "$USER_HOME" "$repack"