Bug #193486 - Use xargs to avoid 'bash: /bin/rm: Argument list too long'
authorZac Medico <zmedico@gentoo.org>
Thu, 27 Sep 2007 15:40:26 +0000 (15:40 -0000)
committerZac Medico <zmedico@gentoo.org>
Thu, 27 Sep 2007 15:40:26 +0000 (15:40 -0000)
errors. This patch uses a weird tr '\001' '\000' workaround since bash
doesn't echo null bytes like one might expect.

svn path=/main/trunk/; revision=7848

bin/ecompress

index bf886e1c40b44df848f30bdfed0363561ba7449b..676929d4496d174ba9a1e705735056e6721e6c1d 100755 (executable)
@@ -67,7 +67,8 @@ case $1 in
                # delete it so that the compressor doesn't whine (bzip2 will
                # complain and skip, gzip will prompt for input)
                suffix=$(ecompress --suffix)
-               [[ -n ${suffix} ]] && rm -f "${@/%/${suffix}}"
+               [[ -n ${suffix} ]] && echo ${@/%/${suffix}$'\001'} | \
+                       tr '\001' '\000' | ${XARGS} -0 rm -f
                # Finally, let's actually do some real work
                exec "${PORTAGE_COMPRESS}" ${PORTAGE_COMPRESS_FLAGS} "$@"
                ;;