diff options
author | Dave Reisner <dreisner@archlinux.org> | 2013-02-17 18:02:20 +0100 |
---|---|---|
committer | Allan McRae <allan@archlinux.org> | 2013-02-24 04:11:54 +0100 |
commit | 972528c021606934da85aef1d9223dea1d40e2c6 (patch) | |
tree | d91d1278bf359388cc8cf1addec13f2ed6794409 | |
parent | 34749e177db5d4aafdb9f3de630c7ab193a0f36d (diff) | |
download | pacman-972528c021606934da85aef1d9223dea1d40e2c6.tar.gz pacman-972528c021606934da85aef1d9223dea1d40e2c6.tar.xz |
paccache: use xargs to execute mv/rm commands
This removes the restriction on the length of the command line, as xargs
will work around by running multiple instances of the command for us.
As seen: https://bbs.archlinux.org/viewtopic.php?pid=1232959
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
-rw-r--r-- | contrib/paccache.sh.in | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/contrib/paccache.sh.in b/contrib/paccache.sh.in index 74bac8a4..46eb2306 100644 --- a/contrib/paccache.sh.in +++ b/contrib/paccache.sh.in @@ -310,9 +310,9 @@ totalsaved=$(@SIZECMD@ "${candidates[@]}" | awk '{ sum += $1 } END { print sum } # crush. kill. destroy. (( verbose )) && cmdopts+=(-v) if (( delete )); then - runcmd rm "${cmdopts[@]}" "${candidates[@]}" + printf '%s\0' "${candidates[@]}" | runcmd xargs -0 rm "${cmdopts[@]}" elif (( move )); then - runcmd mv "${cmdopts[@]}" "${candidates[@]}" "$movedir" + printf '%s\0' "${candidates[@]}" | runcmd xargs -0 mv "${cmdopts[@]}" -t "$movedir" fi summarize "$pkgcount" "${candidates[@]}" |