summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/ecompress31
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