diff options
-rwxr-xr-x | bin/ecompress | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/bin/ecompress b/bin/ecompress index 046e546fb..bf886e1c4 100755 --- a/bin/ecompress +++ b/bin/ecompress @@ -24,20 +24,23 @@ case $1 in --suffix) [[ -n $2 ]] && vecho "${0##*/}: --suffix takes no additional arguments" 1>&2 - set -e - tmpdir="${T}"/.ecompress$$.${RANDOM} - mkdir "${tmpdir}" - cd "${tmpdir}" - # we have to fill the file enough so that there is something - # to compress as some programs will refuse to do compression - # if it cannot actually compress the file - echo {0..1000} > compressme - ${PORTAGE_COMPRESS} ${PORTAGE_COMPRESS_FLAGS} compressme > /dev/null - suffix=$(ls compressme*) - suffix=${suffix#compressme} - cd / - rm -rf "${tmpdir}" - echo "${suffix}" + if [[ ! -e ${T}/.ecompress.suffix ]] ; then + set -e + tmpdir="${T}"/.ecompress$$.${RANDOM} + mkdir "${tmpdir}" + cd "${tmpdir}" + # we have to fill the file enough so that there is something + # to compress as some programs will refuse to do compression + # if it cannot actually compress the file + echo {0..1000} > compressme + ${PORTAGE_COMPRESS} ${PORTAGE_COMPRESS_FLAGS} compressme > /dev/null + suffix=$(ls compressme*) + suffix=${suffix#compressme} + cd / + rm -rf "${tmpdir}" + echo "${suffix}" > "${T}/.ecompress.suffix" + fi + cat "${T}/.ecompress.suffix" ;; --bin) [[ -n $2 ]] && vecho "${0##*/}: --bin takes no additional arguments" 1>&2 |