diff options
-rwxr-xr-x | bin/ecompress | 16 | ||||
-rw-r--r-- | cnf/make.globals | 3 | ||||
-rw-r--r-- | man/make.conf.5 | 7 |
3 files changed, 26 insertions, 0 deletions
diff --git a/bin/ecompress b/bin/ecompress index 1a51f9d63..c20bfa1e1 100755 --- a/bin/ecompress +++ b/bin/ecompress @@ -63,6 +63,22 @@ case $1 in exit 1 ;; *) + mask_ext_re="" + set -f + for x in $PORTAGE_COMPRESS_EXCLUDE_SUFFIXES ; do + mask_ext_re+="|$x" + done + set +f + mask_ext_re="^(${mask_ext_re:1})\$" + declare -a filtered_args=() + i=0 + for x in "$@" ; do + [[ ${x##*.} =~ $mask_ext_re ]] && continue + filtered_args[$i]=$x + (( i++ )) + done + set "${filtered_args[@]}" + # If a compressed version of the file already exists, simply # delete it so that the compressor doesn't whine (bzip2 will # complain and skip, gzip will prompt for input) diff --git a/cnf/make.globals b/cnf/make.globals index 005961628..f379fb1c1 100644 --- a/cnf/make.globals +++ b/cnf/make.globals @@ -56,6 +56,9 @@ EMERGE_WARNING_DELAY="10" # This option will be removed and forced to yes. AUTOCLEAN="yes" +# Don't compress files with these suffixes. +PORTAGE_COMPRESS_EXCLUDE_SUFFIXES="css gif htm[l]? jp[e]?g js pdf png" + # Number of mirrors to try when a downloaded file has an incorrect checksum. PORTAGE_FETCH_CHECKSUM_TRY_MIRRORS="5" diff --git a/man/make.conf.5 b/man/make.conf.5 index c60203038..6eab4b2dd 100644 --- a/man/make.conf.5 +++ b/man/make.conf.5 @@ -430,6 +430,13 @@ install phase. \fBPORTAGE_COMPRESS_FLAGS\fR = \fI"\-9"\fR This variable contains flags for the \fBPORTAGE_COMPRESS\fR command. .TP +.TP +\fBPORTAGE_COMPRESS_EXCLUDE_SUFFIXES\fR = \fI"gif htm[l]? jp[e]?g pdf png"\fR +This variable contains a space delimited list of file suffixes for which +matching files are excluded when the \fBPORTAGE_COMPRESS\fR command is +called. Regular expressions are supported and the match is performed only +against the portion of the file name which follows the last period character. +.TP .B PORTAGE_ELOG_CLASSES .TP .B PORTAGE_ELOG_SYSTEM |