[less/f14/master] - Add support for *.xz and *.lzma man pages

Vojtěch Vítek vvitek at fedoraproject.org
Tue Feb 15 14:36:58 UTC 2011


commit 05f3751b7c7172bef0bbd67d0d0d2e7f0320d437
Author: Vojtech Vitek (V-Teq) <vojtech.vitek at gmail.com>
Date:   Mon Feb 14 22:20:13 2011 +0100

    - Add support for *.xz and *.lzma man pages
    
    Split case for compressed and plain troff files
    
    Signed-off-by: Vojtech Vitek (V-Teq) <vvitek at redhat.com>

 less.spec   |    3 +++
 lesspipe.sh |   34 +++++++++++++++-------------------
 2 files changed, 18 insertions(+), 19 deletions(-)
---
diff --git a/less.spec b/less.spec
index 4f8bf60..744916d 100644
--- a/less.spec
+++ b/less.spec
@@ -71,6 +71,9 @@ ls -la $RPM_BUILD_ROOT/etc/profile.d
 rm -rf $RPM_BUILD_ROOT
 
 %changelog
+- Split case for compressed and plain troff files
+- Add support for *.xz and *.lzma man pages
+  Resolves: #676057
 - Add support for reading UTF-16 and UTF-32 files
   Resolves: #638312
 - Don't require correct exit status from LESSOPEN scripts until
diff --git a/lesspipe.sh b/lesspipe.sh
index 441207a..b12727f 100755
--- a/lesspipe.sh
+++ b/lesspipe.sh
@@ -13,32 +13,28 @@
 
 lesspipe() {
   case "$1" in
-  *.[1-9n]|*.man|*.[1-9n].bz2|*.man.bz2|*.[1-9].gz|*.[1-9]x.gz|*.man.gz|*.[1-9].xz|*.[1-9]x.xz|*.man.xz)
-	case "$1" in
-		*.gz)	DECOMPRESSOR="gzip -dc" ;;
-		*.bz2)	DECOMPRESSOR="bzip2 -dc" ;;
+  *.[1-9n].bz2|*.[1-9]x.bz2|*.man.bz2|*.[1-9n].[gx]z|*.[1-9]x.[gx]z|*.man.[gx]z|*.[1-9n].lzma|*.[1-9]x.lzma|*.man.lzma)
+  	case "$1" in
+		*.gz)		DECOMPRESSOR="gzip -dc" ;;
+		*.bz2)		DECOMPRESSOR="bzip2 -dc" ;;
+		*.xz|*.lzma)	DECOMPRESSOR="xz -dc" ;;
 	esac
-	if [ ! -z "$DECOMPRESSOR" ] ; then
-	    if $DECOMPRESSOR -- "$1" | file - | grep -q troff; then
-		    if echo "$1" | grep -q ^/; then	#absolute path
-			    man -- "$1" | cat -s
-		    else
-			    man -- "./$1" | cat -s
-		    fi
-	    else
-		    $DECOMPRESSOR -- "$1"
-	    fi
-	else
-	    exit 1
-	fi ;;
+	if [ -n "$DECOMPRESSOR" ] && $DECOMPRESSOR -- "$1" | file - | grep -q troff; then
+		$DECOMPRESSOR -- "$1" | man -l - | cat -s
+		exit $?
+	fi ;;&
+  *.[1-9n]|*.[1-9]x|*.man)
+	if file "$1" | grep -q troff; then
+		man -l "$1" | cat -s
+		exit $?
+	fi ;;&
   *.tar) tar tvvf "$1" ;;
   *.tgz|*.tar.gz|*.tar.[zZ]) tar tzvvf "$1" ;;
   *.tar.xz) tar Jtvvf "$1" ;;
-  *.xz) xz -dc -- "$1" ;;
+  *.xz|*.lzma) xz -dc -- "$1" ;;
   *.tar.bz2|*.tbz2) bzip2 -dc -- "$1" | tar tvvf - ;;
   *.[zZ]|*.gz) gzip -dc -- "$1" ;;
   *.bz2) bzip2 -dc -- "$1" ;;
-  *.lzma) lzma -c -d -- "$1" ;;
   *.zip|*.jar|*.nbm) zipinfo -- "$1" ;;
   *.rpm) rpm -qpivl --changelog -- "$1" ;;
   *.cpi|*.cpio) cpio -itv < "$1" ;;


More information about the scm-commits mailing list