-#!/bin/sh
-#
-# Compress documentation files found in $DOCDIR. Omit some files we don't
-# want to get compressed.
-#
-# /etc/rpm/noautocompressdoc and --noautocompressdoc= option can contain
-# whitespace delimated list of patters to omit.
-#
-
-#set -x
-
-COMPRESS_CMD="gzip -9nf"
-EXCLUDE_SUFFIXES="htm html jpg jpeg png gif pdf css dia js abw HTM JPG PNG GIF PDF CSS JS"
-EXCLUDE_MASKS=
-RECOMPRESS_BZIP2=yes
-
-nocompressdoc=''
-while [ $# -gt 0 ]; do
- case "$1" in
- --noautocompressdoc=*)
- EXCLUDE_MASKS=`echo "${1#--noautocompressdoc=}" | sed -e 's/^ *//;s/ *$//;s/ \+/|/g'`
- esac
- shift
-done
-
-if [ -r /etc/rpm/noautocompressdoc ]; then
- exclude=$(cat /etc/rpm/noautocompressdoc | grep -v '^#' | xargs echo | sed -e 's/^ *//;s/ *$//;s/ \+/|/g')
- if [ -n "${exclude}" ]; then
- if [ -n "${EXCLUDE_MASKS}" ]; then
- EXCLUDE_MASKS="${EXCLUDE_MASKS}|${exclude}"
- else
- EXCLUDE_MASKS="${exclude}"
- fi
- fi
-fi
-
-if [ "$DOCDIR" = "" ] ; then
- echo '$DOCDIR not set; exiting.'
- exit 1
-fi
-
-cd $DOCDIR
-
-echo "Compressing documentation in $DOCDIR..."
-
-if test "$EXCLUDE_MASKS" ; then
- echo "Excluding pattern '$EXCLUDE_MASKS'"
-fi
-
-FIND_CMD="find . -type f "
-for SUF in $EXCLUDE_SUFFIXES ; do
- FIND_CMD="$FIND_CMD -a -not -name '*.$SUF'"
-done
-
-eval $FIND_CMD | while read FILENAME ; do
- if test -n "$EXCLUDE_MASKS" ; then
- if eval "case \$(basename \"$FILENAME\") in
- $EXCLUDE_MASKS ) true ;;
- * ) false ;;
- esac" ; then
- continue
- fi
- fi
- case "$FILENAME" in
- *.gz | *.Z)
- gzip -d "$FILENAME"
- FILENAME=$(echo "$FILENAME" | sed -e 's/\.gz$//; s/\.Z$//')
- ;;
- *.bz2)
- if [ "$RECOMPRESS_BZIP2" = yes ] ; then
- bzip2 -d "$FILENAME"
- FILENAME=$(echo "$FILENAME" | sed -e 's/\.bz2$//')
- else
- continue
- fi
- ;;
- esac
-
- $COMPRESS_CMD "$FILENAME"
-
- echo -n "$FILENAME "
-done
-
-echo
-echo "Documentation compressed."