diff options
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/brp-compress | 53 |
1 files changed, 28 insertions, 25 deletions
diff --git a/scripts/brp-compress b/scripts/brp-compress index 6f26a4b94..843d07e41 100755 --- a/scripts/brp-compress +++ b/scripts/brp-compress @@ -11,37 +11,40 @@ cd $RPM_BUILD_ROOT COMPRESS="gzip -9" COMPRESS_EXT=.gz -for d in ./usr/man/man* ./usr/man/*/man* \ - ./usr/share/man/man* ./usr/share/man/*/man* \ +for d in ./usr/man/man* ./usr/man/*/man* ./usr/info \ + ./usr/share/man/man* ./usr/share/man/*/man* ./usr/share/info \ ./usr/X11R6/man/man* ./usr/lib/perl5/man/man* do [ -d $d ] || continue for f in `find $d -type f` do - if [ -f "$f" ]; then - case "$f" in - *.Z) gunzip $f; b=`echo $f | sed -e 's/\.Z$//'`;; - *.gz) gunzip $f; b=`echo $f | sed -e 's/\.gz$//'`;; - *.bz2) bunzip2 $f; b=`echo $f | sed -e 's/\.bz2$//'`;; - *) b=$f;; - esac - $COMPRESS $b 2>/dev/null || { - inode=`ls -i $b | awk '{ print $1 }'` - others=`find $d -type f -inum $inode` - if [ -n "$others" ]; then - for afile in $others ; do - [ "$afile" != "$b" ] && rm -f $afile - done - $COMPRESS -f $b - for afile in $others ; do - [ "$afile" != "$b" ] && ln $b$COMPRESS_EXT $afile$COMPRESS_EXT - done - else - $COMPRESS -f $b - fi - } - fi + [ -f "$f" ] || continue + [ "`basename $f`" = "dir" ] && continue + + case "$f" in + *.Z) gunzip $f; b=`echo $f | sed -e 's/\.Z$//'`;; + *.gz) gunzip $f; b=`echo $f | sed -e 's/\.gz$//'`;; + *.bz2) bunzip2 $f; b=`echo $f | sed -e 's/\.bz2$//'`;; + *) b=$f;; + esac + + $COMPRESS $b 2>/dev/null || { + inode=`ls -i $b | awk '{ print $1 }'` + others=`find $d -type f -inum $inode` + if [ -n "$others" ]; then + for afile in $others ; do + [ "$afile" != "$b" ] && rm -f $afile + done + $COMPRESS -f $b + for afile in $others ; do + [ "$afile" != "$b" ] && ln $b$COMPRESS_EXT $afile$COMPRESS_EXT + done + else + $COMPRESS -f $b + fi + } done + for f in `find $d -type l` do l=`ls -l $f | awk '{ print $11 }' | sed -e 's/\.gz$//' -e 's/\.bz2$//' -e 's/\.Z$//'` |