--- /dev/null
+#!/bin/sh
+#
+# Compress documentation files found in $DOCDIR. Omit some files we don't
+# want to get compressed.
+#
+# $RPM_BUILD_DIR/__rpm_noautocompressdoc can contain whitespace delimated
+# list of patters to ommit.
+#
+
+#set -x
+
+COMPRESS_CMD="gzip -9nf"
+EXCLUDE_SUFFIXES="htm html jpg jpeg png gif pdf"
+EXCLUDE_MASKS=
+RECOMPRESS_BZIP2=yes
+
+if test -f $RPM_BUILD_DIR/__rpm_noautocompressdoc ; then
+ EXCLUDE_MASKS=$(cat $RPM_BUILD_DIR/__rpm_noautocompressdoc | \
+ xargs echo | sed -e 's/^ *//; s/ *$//; s/ \+/|/g')
+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
+
+$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."