summaryrefslogtreecommitdiff
path: root/libre/lesspipe/libarchive.patch
diff options
context:
space:
mode:
Diffstat (limited to 'libre/lesspipe/libarchive.patch')
-rw-r--r--libre/lesspipe/libarchive.patch100
1 files changed, 100 insertions, 0 deletions
diff --git a/libre/lesspipe/libarchive.patch b/libre/lesspipe/libarchive.patch
new file mode 100644
index 000000000..b4fb48788
--- /dev/null
+++ b/libre/lesspipe/libarchive.patch
@@ -0,0 +1,100 @@
+diff --git a/configure b/configure
+index cbd34af..5df4a31 100755
+--- a/configure
++++ b/configure
+@@ -405,8 +405,7 @@ LESS_ADVANCED_PREPROCESSOR N # always interpret textlike files (html, ...)
+ # compression programs
+ bzip2 Y # include bzip2 and unzip code, it is fairly essential
+ unzip Y
+-rar Y
+-unrar Y
++bsdtar Y # bsdtar is the best free as in freedom alternative for rar
+ lzip N # default for lzma, lzip, xz, 7za should probably be N
+ lzma Y
+ xz Y
+diff --git a/lesspipe.sh b/lesspipe.sh
+index c80c75b..262a47b 100755
+--- a/lesspipe.sh
++++ b/lesspipe.sh
+@@ -276,12 +276,8 @@ get_cmd () {
+ cmd=(isrpm "$2" "$file2")
+ elif [[ "$1" = *Zip* || "$1" = *ZIP* ]] && cmd_exist unzip; then
+ cmd=(istemp "unzip -avp" "$2" "$file2")
+- elif [[ "$1" = *RAR\ archive* ]]; then
+- if cmd_exist unrar; then
+- cmd=(istemp "unrar p -inul" "$2" "$file2")
+- elif cmd_exist rar; then
+- cmd=(istemp "rar p -inul" "$2" "$file2")
+- fi
++ elif [[ "$1" = *RAR\ archive* ]] && cmd_exist bsdtar; then
++ cmd=(bsdtar xOf "$2" "$file2")
+ elif [[ "$1" = *7-zip\ archive* || "$1" = *7z\ archive* ]] && cmd_exist 7za; then
+ cmd=(istemp "7za e -so" "$2" "$file2")
+ elif [[ "$1" = *7-zip\ archive* || "$1" = *7z\ archive* ]] && cmd_exist 7zr; then
+@@ -534,14 +530,9 @@ isfinal() {
+ elif [[ "$1" = *Zip* || "$1" = *ZIP* ]] && cmd_exist unzip; then
+ msg "use zip_file${sep}contained_file to view a file in the archive"
+ istemp "unzip -lv" "$2"
+- elif [[ "$1" = *RAR\ archive* ]]; then
+- if cmd_exist unrar; then
+- msg "use rar_file${sep}contained_file to view a file in the archive"
+- istemp "unrar v" "$2"
+- elif cmd_exist rar; then
+- msg "use rar_file${sep}contained_file to view a file in the archive"
+- istemp "rar v" "$2"
+- fi
++ elif [[ "$1" = *RAR\ archive* ]] && cmd_exist bsdtar; then
++ msg "use rar_file${sep}contained_file to view a file in the archive"
++ bsdtar tf "$2"
+ elif [[ "$1" = *7-zip\ archive* || "$1" = *7z\ archive* ]] && cmd_exist 7za; then
+ typeset res
+ res=$(istemp "7za l" "$2")
+diff --git a/lesspipe.sh.in b/lesspipe.sh.in
+index 407bc7d..753f3c5 100755
+--- a/lesspipe.sh.in
++++ b/lesspipe.sh.in
+@@ -323,17 +323,10 @@ get_cmd () {
+ elif [[ "$1" = *Zip* || "$1" = *ZIP* ]] && cmd_exist unzip; then
+ set -A cmd istemp "unzip -avp" "$2" "$file2"
+ #endif
+-#ifdef unrar
+- elif [[ "$1" = *RAR\ archive* ]]; then
+- if cmd_exist unrar; then
+- set -A cmd istemp "unrar p -inul" "$2" "$file2"
+- elif cmd_exist rar; then
+- set -A cmd istemp "rar p -inul" "$2" "$file2"
+- fi
+-#elif rar
+- elif [[ "$1" = *RAR\ archive* ]] && cmd_exist rar; then
+- set -A cmd istemp "rar p -inul" "$2" "$file2"
+-#endif
++#ifdef bsdtar
++ elif [[ "$1" = *RAR\ archive* ]] && cmd_exist bsdtar; then
++ set -A cmd bsdtar xOf "$2" "$file2"
++#endif
+ #ifdef 7za
+ elif [[ "$1" = *7-zip\ archive* || "$1" = *7z\ archive* ]] && cmd_exist 7za; then
+ set -A cmd istemp "7za e -so" "$2" "$file2"
+@@ -705,19 +698,10 @@ isfinal() {
+ msg "use zip_file${sep}contained_file to view a file in the archive"
+ istemp "unzip -lv" "$2"
+ #endif
+-#ifdef unrar
+- elif [[ "$1" = *RAR\ archive* ]]; then
+- if cmd_exist unrar; then
+- msg "use rar_file${sep}contained_file to view a file in the archive"
+- istemp "unrar v" "$2"
+- elif cmd_exist rar; then
+- msg "use rar_file${sep}contained_file to view a file in the archive"
+- istemp "rar v" "$2"
+- fi
+-#elif rar
+- elif [[ "$1" = *RAR\ archive* ]] && cmd_exist rar; then
++#ifdef bsdtar
++ elif [[ "$1" = *RAR\ archive* ]] && cmd_exist bsdtar; then
+ msg "use rar_file${sep}contained_file to view a file in the archive"
+- istemp "rar v" "$2"
++ bsdtar tf "$2"
+ #endif
+ #ifdef 7za
+ elif [[ "$1" = *7-zip\ archive* || "$1" = *7z\ archive* ]] && cmd_exist 7za; then