summaryrefslogtreecommitdiffstats
path: root/scripts/brp-rtems-compress.in
diff options
context:
space:
mode:
authorRalf Corsepius <ralf.corsepius@rtems.org>2005-07-28 22:57:30 +0000
committerRalf Corsepius <ralf.corsepius@rtems.org>2005-07-28 22:57:30 +0000
commit0813e0da8b2873d9efaad75c25a846a44209aa9d (patch)
tree48e6d0a5c3007dbd742b27198ca3cfc13a9b4b97 /scripts/brp-rtems-compress.in
parentUpdate to automake-1.9.6 (diff)
downloadrtems-0813e0da8b2873d9efaad75c25a846a44209aa9d.tar.bz2
New.
Diffstat (limited to 'scripts/brp-rtems-compress.in')
-rwxr-xr-xscripts/brp-rtems-compress.in53
1 files changed, 53 insertions, 0 deletions
diff --git a/scripts/brp-rtems-compress.in b/scripts/brp-rtems-compress.in
new file mode 100755
index 0000000000..d25ca7cc5d
--- /dev/null
+++ b/scripts/brp-rtems-compress.in
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# If using normal root, avoid changing anything.
+if [ -z "$RPM_BUILD_ROOT" -o "$RPM_BUILD_ROOT" = "/" ]; then
+ exit 0
+fi
+
+cd $RPM_BUILD_ROOT
+
+# Compress man pages
+COMPRESS="gzip -9 -n"
+COMPRESS_EXT=.gz
+
+for d in @BRPCOMPRESSPATH@
+do
+ [ -d $d ] || continue
+ for f in `find $d -type f`
+ do
+ [ -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 </dev/null 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 | sed -e 's/.* -> //' -e 's/\.gz$//' -e 's/\.bz2$//' -e 's/\.Z$//'`
+ rm -f $f
+ b=`echo $f | sed -e 's/\.gz$//' -e 's/\.bz2$//' -e 's/\.Z$//'`
+ ln -sf $l$COMPRESS_EXT $b$COMPRESS_EXT
+ done
+done