summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Reisner <dreisner@archlinux.org>2014-10-19 22:06:31 +0200
committerDave Reisner <dreisner@archlinux.org>2014-10-19 22:48:03 +0200
commitbf7dc83bab4f002a29866fd30b1574b6fbca36aa (patch)
treeaad5aee7fe5d0840df6109eb86c42555cd9e4933
parentcae954ddb5d35877eaaea588b84f932863714568 (diff)
downloaddevtools-bf7dc83bab4f002a29866fd30b1574b6fbca36aa.tar.gz
devtools-bf7dc83bab4f002a29866fd30b1574b6fbca36aa.tar.xz
save and reuse original argv when auto-elevating
Fixes FS#42277.
-rw-r--r--arch-nspawn.in4
-rw-r--r--archbuild.in6
-rw-r--r--makechrootpkg.in6
-rw-r--r--mkarchroot.in4
4 files changed, 14 insertions, 6 deletions
diff --git a/arch-nspawn.in b/arch-nspawn.in
index b85d360..19f1410 100644
--- a/arch-nspawn.in
+++ b/arch-nspawn.in
@@ -26,6 +26,8 @@ usage() {
exit 1
}
+orig_argv=("$@")
+
while getopts 'hC:M:c:' arg; do
case "$arg" in
C) pac_conf="$OPTARG" ;;
@@ -38,7 +40,7 @@ done
shift $(($OPTIND - 1))
(( $# < 1 )) && die 'You must specify a directory.'
-check_root "$0" "$@"
+check_root "$0" "${orig_argv[@]}"
working_dir=$(readlink -f "$1")
shift 1
diff --git a/archbuild.in b/archbuild.in
index dc45c7f..9c5d706 100644
--- a/archbuild.in
+++ b/archbuild.in
@@ -29,6 +29,8 @@ usage() {
exit 1
}
+orig_argv=("$@")
+
while getopts 'hcr:' arg; do
case "${arg}" in
c) clean_first=true ;;
@@ -37,11 +39,11 @@ while getopts 'hcr:' arg; do
esac
done
+check_root "$0" "${orig_argv[@]}"
+
# Pass all arguments after -- right to makepkg
makechrootpkg_args+=("${@:$OPTIND}")
-check_root "$0" "$@"
-
if ${clean_first} || [[ ! -d "${chroots}/${repo}-${arch}" ]]; then
msg "Creating chroot for [${repo}] (${arch})..."
diff --git a/makechrootpkg.in b/makechrootpkg.in
index a340116..8957974 100644
--- a/makechrootpkg.in
+++ b/makechrootpkg.in
@@ -66,6 +66,8 @@ usage() {
exit 1
}
+orig_argv=("$@")
+
while getopts 'hcur:I:l:nTD:d:' arg; do
case "$arg" in
h) usage ;;
@@ -81,10 +83,10 @@ while getopts 'hcur:I:l:nTD:d:' arg; do
esac
done
-check_root "$0" "$@"
-
[[ ! -f PKGBUILD && -z "${install_pkgs[*]}" ]] && die 'This must be run in a directory containing a PKGBUILD.'
+check_root "$0" "${orig_argv[@]}"
+
# Canonicalize chrootdir, getting rid of trailing /
chrootdir=$(readlink -e "$passeddir")
[[ ! -d $chrootdir ]] && die "No chroot dir defined, or invalid path '%s'" "$passeddir"
diff --git a/mkarchroot.in b/mkarchroot.in
index 5f3d6fe..78384da 100644
--- a/mkarchroot.in
+++ b/mkarchroot.in
@@ -24,6 +24,8 @@ usage() {
exit 1
}
+orig_argv=("$@")
+
while getopts 'hC:M:c:' arg; do
case "$arg" in
C) pac_conf="$OPTARG" ;;
@@ -37,7 +39,7 @@ shift $(($OPTIND - 1))
(( $# < 2 )) && die 'You must specify a directory and one or more packages.'
-check_root "$0" "$@"
+check_root "$0" "${orig_argv[@]}"
working_dir="$(readlink -f $1)"
shift 1