OBS User unknown 2009-03-13 15:04:32 +00:00 committed by Git OBS Bridge
parent 6f5761eaf6
commit 3fb1c260f9
3 changed files with 75 additions and 51 deletions

View File

@ -2,11 +2,12 @@ diff --git a/edit/edit.c b/edit/edit.c
index ff2b2e7..3b9c750 100644
--- a/edit/edit.c
+++ b/edit/edit.c
@@ -182,6 +182,7 @@ edit_load_file_fast (WEdit *edit, const char *filename)
@@ -182,6 +182,8 @@ edit_load_file_fast (WEdit *edit, const char *filename)
static const struct edit_filters {
const char *read, *write, *extension;
} all_filters[] = {
+ { "lzma -cd %s 2>&1", "lzma > %s", ".bz2" },
+ { "xz -cd %s 2>&1", "xz > %s", ".xz" },
+ { "lzma -cd %s 2>&1", "lzma > %s", ".lzma" },
{ "bzip2 -cd %s 2>&1", "bzip2 > %s", ".bz2" },
{ "gzip -cd %s 2>&1", "gzip > %s", ".gz" },
{ "gzip -cd %s 2>&1", "gzip > %s", ".Z" }
@ -14,7 +15,7 @@ diff --git a/lib/mc.ext.in b/lib/mc.ext.in
index af63f0e..dfe72bb 100644
--- a/lib/mc.ext.in
+++ b/lib/mc.ext.in
@@ -119,6 +119,11 @@ regex/\.t(ar\.bz2|bz|b2)$
@@ -119,6 +119,16 @@ regex/\.t(ar\.bz2|bz|b2)$
Open=%cd %p#utar
View=%view{ascii} bzip2 -dc %f 2>/dev/null | tar tvvf -
@ -22,22 +23,31 @@ index af63f0e..dfe72bb 100644
+regex/\.t(ar\.lzma|lz)$
+ Open=%cd %p#utar
+ View=%view{ascii} lzma -dc %f 2>/dev/null | tar tvvf -
+
+# .tar.xz, .txz
+regex/\.t(ar\.xz|xz)$
+ Open=%cd %p#utar
+ View=%view{ascii} xz -dc %f 2>/dev/null | tar tvvf -
+
# .tar.F - used in QNX
regex/\.tar\.F$
# Open=%cd %p#utar
@@ -298,6 +303,10 @@ regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.bz2$
@@ -298,6 +303,14 @@ regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.bz2$
Open=case %d/%f in */log/*|*/logs/*) bzip2 -dc %f ;; *) bzip2 -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac | %var{PAGER:more}
View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) bzip2 -dc %f ;; *) bzip2 -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac
+regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.lzma$
+ Open=case %d/%f in */log/*|*/logs/*) lzma -dc %f ;; *) lzma -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac | %var{PAGER:more}
+ View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) lzma -dc %f ;; *) lzma -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac
+
+regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.xz$
+ Open=case %d/%f in */log/*|*/logs/*) xz -dc %f ;; *) xz -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac | %var{PAGER:more}
+ View=%view{ascii,nroff} case %d/%f in */log/*|*/logs/*) xz -dc %f ;; *) xz -dc %f | nroff @MAN_FLAGS@ @MANDOC@ ;; esac
+
### Images ###
@@ -545,6 +554,11 @@ type/^compress
@@ -545,6 +554,16 @@ type/^compress
Open=gzip -dc %f | %var{PAGER:more}
View=%view{ascii} gzip -dc %f 2>/dev/null
@ -45,6 +55,11 @@ index af63f0e..dfe72bb 100644
+regex/\.lzma$
+ Open=lzma -dc %f | %var{PAGER:more}
+ View=%view{ascii} lzma -dc %f 2>/dev/null
+
+# xz
+regex/\.xz$
+ Open=xz -dc %f | %var{PAGER:more}
+ View=%view{ascii} xz -dc %f 2>/dev/null
+
### Default ###
@ -94,11 +109,12 @@ index da6d1b2..b27f3b3 100644
return 0;
}
@@ -996,6 +1021,7 @@ decompress_extension (int type)
@@ -996,6 +1021,8 @@ decompress_extension (int type)
case COMPRESSION_GZIP: return "#ugz";
case COMPRESSION_BZIP: return "#ubz";
case COMPRESSION_BZIP2: return "#ubz2";
+ case COMPRESSION_LZMA: return "#ulzma";
+ case COMPRESSION_XZ: return "#uxz";
}
/* Should never reach this place */
fprintf (stderr, "Fatal: decompress_extension called with an unknown argument\n");
@ -106,13 +122,14 @@ diff --git a/src/util.h b/src/util.h
index 4e9a113..5e773f8 100644
--- a/src/util.h
+++ b/src/util.h
@@ -179,7 +179,8 @@ enum compression_type {
@@ -179,7 +179,9 @@ enum compression_type {
COMPRESSION_NONE,
COMPRESSION_GZIP,
COMPRESSION_BZIP,
- COMPRESSION_BZIP2
+ COMPRESSION_BZIP2,
+ COMPRESSION_LZMA
+ COMPRESSION_LZMA,
+ COMPRESSION_XZ
};
/* Looks for ``magic'' bytes at the start of the VFS file to guess the
@ -120,11 +137,12 @@ diff --git a/vfs/extfs/iso9660.in b/vfs/extfs/iso9660.in
index 91d1b1e..467efdb 100644
--- a/vfs/extfs/iso9660.in
+++ b/vfs/extfs/iso9660.in
@@ -29,6 +29,7 @@ test_iso () {
@@ -29,6 +29,8 @@ test_iso () {
mcisofs_list () {
# left as a reminder to implement compressed image support =)
case "$1" in
+ *.lzma) MYCAT="lzma -dc";;
+ *.xz) MYCAT="xz -dc";;
*.bz2) MYCAT="bzip2 -dc";;
*.gz) MYCAT="gzip -dc";;
*.z) MYCAT="gzip -dc";;
@ -132,11 +150,12 @@ diff --git a/vfs/extfs/lslR.in b/vfs/extfs/lslR.in
index 273fe5e..67f5edb 100644
--- a/vfs/extfs/lslR.in
+++ b/vfs/extfs/lslR.in
@@ -12,6 +12,7 @@ AWK=@AWK@
@@ -12,6 +12,8 @@ AWK=@AWK@
mclslRfs_list () {
case "$1" in
+ *.lzma) MYCAT="lzma -dc";;
+ *.xz) MYCAT="xz -dc";;
*.bz2) MYCAT="bzip2 -dc";;
*.gz) MYCAT="gzip -dc";;
*.z) MYCAT="gzip -dc";;
@ -144,20 +163,23 @@ diff --git a/vfs/extfs/mailfs.in b/vfs/extfs/mailfs.in
index 7bb62f9..91cf3d7 100644
--- a/vfs/extfs/mailfs.in
+++ b/vfs/extfs/mailfs.in
@@ -7,6 +7,7 @@ use bytes;
@@ -7,6 +7,8 @@ use bytes;
$zcat="zcat"; # gunzip to stdout
$bzcat="bzip2 -dc"; # bunzip2 to stdout
+$lzcat="lzma -dc"; # unlzma to stdout
+$xzcat="xz -dc"; # unxz to stdout
$file="file"; # "file" command
$TZ='GMT'; # default timezone (for Date module)
@@ -182,6 +183,8 @@ if (/gzip/) {
@@ -182,6 +183,10 @@ if (/gzip/) {
exit 1 unless (open IN, "$zcat $mbox_qname|");
} elsif (/bzip/) {
exit 1 unless (open IN, "$bzcat $mbox_qname|");
+} elsif (/lzma/) {
+ exit 1 unless (open IN, "$lzcat $mbox_qname|");
+} elsif (/xz/) {
+ exit 1 unless (open IN, "$xzcat $mbox_qname|");
} else {
exit 1 unless (open IN, "<$mbox_name");
}
@ -165,31 +187,36 @@ diff --git a/vfs/extfs/patchfs.in b/vfs/extfs/patchfs.in
index dc3757d..62a6d0d 100644
--- a/vfs/extfs/patchfs.in
+++ b/vfs/extfs/patchfs.in
@@ -12,6 +12,7 @@ use POSIX;
@@ -12,6 +12,8 @@ use POSIX;
use File::Temp 'tempfile';
# standard binaries
+my $lzma = 'lzma';
+my $xz = 'xz';
my $bzip = 'bzip2';
my $gzip = 'gzip';
my $fileutil = 'file';
@@ -70,7 +71,9 @@ sub myin
@@ -70,7 +71,11 @@ sub myin
my ($qfname)=(quotemeta $_[0]);
$_=`$fileutil $qfname`;
- if (/bzip/) {
+ if (/lzma/) {
+ if (/xz/) {
+ return "$xz -dc $qfname";
+ } elsif (/lzma/) {
+ return "$lzma -dc $qfname";
+ } elsif (/bzip/) {
return "$bzip -dc $qfname";
} elsif (/gzip/) {
return "$gzip -dc $qfname";
@@ -86,7 +89,9 @@ sub myout
@@ -86,7 +89,11 @@ sub myout
my ($sep) = $append ? '>>' : '>';
$_=`$fileutil $qfname`;
- if (/bzip/) {
+ if (/lzma/) {
+ if (/xz/) {
+ return "$xz -c $sep $qfname";
+ } elsif (/lzma/) {
+ return "$lzma -c $sep $qfname";
+ } elsif (/bzip/) {
return "$bzip -c $sep $qfname";
@ -199,12 +226,14 @@ diff --git a/vfs/extfs/sfs.ini b/vfs/extfs/sfs.ini
index 5c3d8e2..fc77e04 100644
--- a/vfs/extfs/sfs.ini
+++ b/vfs/extfs/sfs.ini
@@ -10,6 +10,8 @@ bz/1 bzip < %1 > %3
@@ -10,6 +10,10 @@ bz/1 bzip < %1 > %3
ubz/1 bzip -d < %1 > %3
bz2/1 bzip2 < %1 > %3
ubz2/1 bzip2 -d < %1 > %3
+lzma/1 lzma < %1 > %3
+ulzma/1 lzma -d < %1 > %3
+xz/1 xz < %1 > %3
+uxz/1 xz -d < %1 > %3
tar/1 tar cf %3 %1
tgz/1 tar czf %3 %1
uhtml/1 lynx -force_html -dump %1 > %3

View File

@ -1,3 +1,8 @@
-------------------------------------------------------------------
Thu Mar 12 16:35:18 CET 2009 - prusnak@suse.cz
- added xz support (05_add_lzma_xz_support.patch)
-------------------------------------------------------------------
Wed Feb 25 16:45:41 CET 2009 - sbrabec@suse.cz
@ -844,27 +849,21 @@ Wed Nov 19 13:01:54 MET 1997 - florian@suse.de
- update to mc 4.1.11
----------------------------------------------------------------------------
Sun Nov 16 23:10:51 MET 1997 - florian@suse.de
- oops, forgot mc.lib-changes from Werner
----------------------------------------------------------------------------
Fri Oct 10 13:16:04 MEST 1997 - florian@suse.de
- update to version 4.1.4
----------------------------------------------------------------------------
Sun Jun 22 18:57:49 MEST 1997 - florian@suse.de
- update to version 4.0
----------------------------------------------------------------------------
Wed May 28 17:03:24 MET DST 1997 - werner@suse.de
@ -873,17 +872,13 @@ Wed May 28 17:03:24 MET DST 1997 - werner@suse.de
----------------------------------------------------------------------------
Wed Jan 22 22:24:11 CET 1997 - florian@suse.de
- enable gpm support
----------------------------------------------------------------------------
Tue Nov 26 20:15:03 CET 1996 - florian@suse.de
- update to version 3.2.11
----------------------------------------------------------------------------
Mon Sep 2 17:49:41 MET DST 1996 - florian@suse.de
@ -891,11 +886,9 @@ Mon Sep 2 17:49:41 MET DST 1996 - florian@suse.de
und libgpm sich nicht vertragen. (libgpm laed libncurses, das geht
mit libslang.a nicht...)
----------------------------------------------------------------------
Sun Aug 25 19:28:50 MET DST 1996
Sun Aug 25 19:28:50 MET DST 1996 - florian@suse.de
new version 3.2.7
for screen output, mc now uses the slang library and not the ncurses functions
- new version 3.2.7
- for screen output, mc now uses the slang library and not the ncurses functions
directly

12
mc.spec
View File

@ -26,7 +26,7 @@ Group: Productivity/File utilities
PreReq: permissions
AutoReqProv: on
Version: 4.6.2
Release: 2
Release: 3
Summary: Midnight Commander
Source: mc-4.6.2.tar.bz2
Source1: x11_browser
@ -55,7 +55,7 @@ Patch22: mc-utf8-look-and-feel.patch
#debian fixes for vfs
Patch23: 01_ftpfs_symlink.patch
Patch24: 02_ignore_ftp_chmod_error.patch
Patch28: 05_add_lzma_support.patch
Patch28: 05_add_lzma_xz_support.patch
Patch30: 06_remove_obsolete_rpm_tags.patch
Patch32: 08_improved_u7z_support.patch
Patch33: 09_choose_correct_urar.patch
@ -277,6 +277,8 @@ rm -rf %{buildroot}
%lang(sr) %doc %{_datadir}/mc/mc.*.sr
%changelog
* Thu Mar 12 2009 prusnak@suse.cz
- added xz support (05_add_lzma_xz_support.patch)
* Wed Feb 25 2009 sbrabec@suse.cz
- Fixed Esc + Numeral F-key emulation (mc#287).
- Convert Serbian files to UTF-8.
@ -704,7 +706,7 @@ rm -rf %{buildroot}
- Es wird nicht mehr mit libgpm-Unterstuetzung kompiliert, da slang
und libgpm sich nicht vertragen. (libgpm laed libncurses, das geht
mit libslang.a nicht...)
Sun Aug 25 19:28:50 MET DST 1996
new version 3.2.7
for screen output, mc now uses the slang library and not the ncurses functions
* Thu Jan 02 1997 florian@suse.de
- new version 3.2.7
- for screen output, mc now uses the slang library and not the ncurses functions
directly