diff options
author | Dave Reisner <dreisner@archlinux.org> | 2013-05-15 09:58:43 -0400 |
---|---|---|
committer | Allan McRae <allan@archlinux.org> | 2013-05-18 10:43:16 +1000 |
commit | 8be08f7cae8257af6866febc9d2a57d8d8601a51 (patch) | |
tree | 2587d05ddae79c4ac6cfd36dc1b18d519ac7190b | |
parent | 72c6d19d64a89a5ad0d162fc0bb6517ea80fc252 (diff) | |
download | pacman-8be08f7cae8257af6866febc9d2a57d8d8601a51.tar.xz |
Revert "paccache: avoid subshell in calling runcmd"
su is terribad. In addition to reverting, this also removes support for
privilege escalation via su. If you want to use paccache as root and
fail to comprehend how much better sudo is than su, then run paccache
directly via su.
Fixes FS#35173.
This reverts commit 597286eb258f841dfc00f65474138fc6192f0092.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
-rw-r--r-- | contrib/paccache.sh.in | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/contrib/paccache.sh.in b/contrib/paccache.sh.in index 64c3c536..a9c6524f 100644 --- a/contrib/paccache.sh.in +++ b/contrib/paccache.sh.in @@ -109,8 +109,7 @@ runcmd() { if sudo -v &>/dev/null && sudo -l &>/dev/null; then sudo "$@" else - printf '%s ' 'root' - su -c "$(printf '%q ' "$@")" + die 'Unable to escalate privileges using sudo' fi else "$@" @@ -308,9 +307,9 @@ totalsaved=$(@SIZECMD@ "${candidates[@]}" | awk '{ sum += $1 } END { print sum } # crush. kill. destroy. (( verbose )) && cmdopts+=(-v) if (( delete )); then - runcmd xargs -0a <(printf '%s\0' "${candidates[@]}") rm "${cmdopts[@]}" + printf '%s\0' "${candidates[@]}" | runcmd xargs -0 rm "${cmdopts[@]}" elif (( move )); then - runcmd xargs -0a <(printf '%s\0' "${candidates[@]}") mv "${cmdopts[@]}" -t "$movedir" + printf '%s\0' "${candidates[@]}" | runcmd xargs -0 mv "${cmdopts[@]}" -t "$movedir" fi summarize "$pkgcount" "${candidates[@]}" |