Hi,
this patch has been in OpenMandriva's rpm package forever - looks like it's 
generally useful and without drawbacks, so it may make sense to apply it 
upstream.

ttyl
bero
--- rpm-5.4.10/macros/mandriva.in.brpcomp~	2012-12-26 08:56:29.522684255 +0100
+++ rpm-5.4.10/macros/mandriva.in	2012-12-26 09:37:59.322548015 +0100
@@ -137,8 +137,9 @@ end\
 %_enable_debug_packages 1
 
 
-# Default extension to use (for info files)
+# Default extension to use (for man & info files)
 %_extension .xz
+%_compress xz -0f --text -T0
 
 
 # Macro: %{mklibname <name> [<major> [<minor>]] [-s] [-d]}
--- rpm-5.4.10/scripts/brp-compress.brpcomp~	2012-12-26 08:55:38.248052991 +0100
+++ rpm-5.4.10/scripts/brp-compress	2012-12-26 09:38:15.914753103 +0100
@@ -8,8 +8,8 @@ fi
 cd "$RPM_BUILD_ROOT"
 
 # Compress man pages
-COMPRESS="gzip -9 -n"
-COMPRESS_EXT=.gz
+COMPRESS=${COMPRESS:-gzip -9 -n}
+COMPRESS_EXT=${COMPRESS_EXT:-.gz}
 
 for d in ./usr/man/man* ./usr/man/*/man* ./usr/info \
 	./usr/share/man/man* ./usr/share/man/*/man* ./usr/share/info \
@@ -17,15 +17,14 @@ for d in ./usr/man/man* ./usr/man/*/man*
 	./usr/share/doc/*/man/man* ./usr/lib/*/man/man*
 do
     [ -d $d ] || continue
-    for f in `find $d -type f`
+    for f in `find $d -type f ! -name dir`
     do
         [ -f "$f" ] || continue
-	[ "`basename $f`" = "dir" ] && continue
 
 	case "$f" in
-	 *.Z) gunzip -f $f; b=`echo $f | sed -e 's/\.Z$//'`;;
-	 *.gz) gunzip -f $f; b=`echo $f | sed -e 's/\.gz$//'`;;
-	 *.bz2) bunzip2 -f $f; b=`echo $f | sed -e 's/\.bz2$//'`;;
+	 *.gz|*.Z)    gunzip  -f $f; b=`echo $f | sed -e 's/\.\(gz\|Z\)$//'`;;
+	 *.bz2)       bunzip2 -f $f; b=`echo $f | sed -e 's/\.bz2$//'`;;
+	 *.xz|*.lzma) unxz    -f $f; b=`echo $f | sed -e 's/\.\(xz\|lzma\)$//'`;;
 	 *) b=$f;;
 	esac
 
@@ -48,9 +47,10 @@ do
 
     for f in `find $d -type l`
     do
-	l=`ls -l $f | sed -e 's/.* -> //' -e 's/\.gz$//' -e 's/\.bz2$//' -e 's/\.Z$//'`
+	l=`ls -l $f | sed -e 's/.* -> //' -e 's/\.\(gz\|Z\|bz2\|xz\|lzma\)$//'`
+	echo $l
 	rm -f $f
-	b=`echo $f | sed -e 's/\.gz$//' -e 's/\.bz2$//' -e 's/\.Z$//'`
+	b=`echo $f | sed -e 's/\.\(gz\|Z\|bz2\|xz\|lzma\)$//'`
 	ln -sf $l$COMPRESS_EXT $b$COMPRESS_EXT
     done
 done

Reply via email to