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 index ff2b2e7..3b9c750 100644
--- a/edit/edit.c --- a/edit/edit.c
+++ b/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 { static const struct edit_filters {
const char *read, *write, *extension; const char *read, *write, *extension;
} all_filters[] = { } 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" }, { "bzip2 -cd %s 2>&1", "bzip2 > %s", ".bz2" },
{ "gzip -cd %s 2>&1", "gzip > %s", ".gz" }, { "gzip -cd %s 2>&1", "gzip > %s", ".gz" },
{ "gzip -cd %s 2>&1", "gzip > %s", ".Z" } { "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 index af63f0e..dfe72bb 100644
--- a/lib/mc.ext.in --- a/lib/mc.ext.in
+++ b/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 Open=%cd %p#utar
View=%view{ascii} bzip2 -dc %f 2>/dev/null | tar tvvf - View=%view{ascii} bzip2 -dc %f 2>/dev/null | tar tvvf -
@ -22,22 +23,31 @@ index af63f0e..dfe72bb 100644
+regex/\.t(ar\.lzma|lz)$ +regex/\.t(ar\.lzma|lz)$
+ Open=%cd %p#utar + Open=%cd %p#utar
+ View=%view{ascii} lzma -dc %f 2>/dev/null | tar tvvf - + 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 # .tar.F - used in QNX
regex/\.tar\.F$ regex/\.tar\.F$
# Open=%cd %p#utar # 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} 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 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$ +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} + 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 + 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 ### ### Images ###
@@ -545,6 +554,11 @@ type/^compress @@ -545,6 +554,16 @@ type/^compress
Open=gzip -dc %f | %var{PAGER:more} Open=gzip -dc %f | %var{PAGER:more}
View=%view{ascii} gzip -dc %f 2>/dev/null View=%view{ascii} gzip -dc %f 2>/dev/null
@ -45,6 +55,11 @@ index af63f0e..dfe72bb 100644
+regex/\.lzma$ +regex/\.lzma$
+ Open=lzma -dc %f | %var{PAGER:more} + Open=lzma -dc %f | %var{PAGER:more}
+ View=%view{ascii} lzma -dc %f 2>/dev/null + 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 ### ### Default ###
@ -94,11 +109,12 @@ index da6d1b2..b27f3b3 100644
return 0; 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_GZIP: return "#ugz";
case COMPRESSION_BZIP: return "#ubz"; case COMPRESSION_BZIP: return "#ubz";
case COMPRESSION_BZIP2: return "#ubz2"; case COMPRESSION_BZIP2: return "#ubz2";
+ case COMPRESSION_LZMA: return "#ulzma"; + case COMPRESSION_LZMA: return "#ulzma";
+ case COMPRESSION_XZ: return "#uxz";
} }
/* Should never reach this place */ /* Should never reach this place */
fprintf (stderr, "Fatal: decompress_extension called with an unknown argument\n"); 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 index 4e9a113..5e773f8 100644
--- a/src/util.h --- a/src/util.h
+++ b/src/util.h +++ b/src/util.h
@@ -179,7 +179,8 @@ enum compression_type { @@ -179,7 +179,9 @@ enum compression_type {
COMPRESSION_NONE, COMPRESSION_NONE,
COMPRESSION_GZIP, COMPRESSION_GZIP,
COMPRESSION_BZIP, COMPRESSION_BZIP,
- COMPRESSION_BZIP2 - COMPRESSION_BZIP2
+ COMPRESSION_BZIP2, + COMPRESSION_BZIP2,
+ COMPRESSION_LZMA + COMPRESSION_LZMA,
+ COMPRESSION_XZ
}; };
/* Looks for ``magic'' bytes at the start of the VFS file to guess the /* 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 index 91d1b1e..467efdb 100644
--- a/vfs/extfs/iso9660.in --- a/vfs/extfs/iso9660.in
+++ b/vfs/extfs/iso9660.in +++ b/vfs/extfs/iso9660.in
@@ -29,6 +29,7 @@ test_iso () { @@ -29,6 +29,8 @@ test_iso () {
mcisofs_list () { mcisofs_list () {
# left as a reminder to implement compressed image support =) # left as a reminder to implement compressed image support =)
case "$1" in case "$1" in
+ *.lzma) MYCAT="lzma -dc";; + *.lzma) MYCAT="lzma -dc";;
+ *.xz) MYCAT="xz -dc";;
*.bz2) MYCAT="bzip2 -dc";; *.bz2) MYCAT="bzip2 -dc";;
*.gz) MYCAT="gzip -dc";; *.gz) MYCAT="gzip -dc";;
*.z) 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 index 273fe5e..67f5edb 100644
--- a/vfs/extfs/lslR.in --- a/vfs/extfs/lslR.in
+++ b/vfs/extfs/lslR.in +++ b/vfs/extfs/lslR.in
@@ -12,6 +12,7 @@ AWK=@AWK@ @@ -12,6 +12,8 @@ AWK=@AWK@
mclslRfs_list () { mclslRfs_list () {
case "$1" in case "$1" in
+ *.lzma) MYCAT="lzma -dc";; + *.lzma) MYCAT="lzma -dc";;
+ *.xz) MYCAT="xz -dc";;
*.bz2) MYCAT="bzip2 -dc";; *.bz2) MYCAT="bzip2 -dc";;
*.gz) MYCAT="gzip -dc";; *.gz) MYCAT="gzip -dc";;
*.z) 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 index 7bb62f9..91cf3d7 100644
--- a/vfs/extfs/mailfs.in --- a/vfs/extfs/mailfs.in
+++ b/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 $zcat="zcat"; # gunzip to stdout
$bzcat="bzip2 -dc"; # bunzip2 to stdout $bzcat="bzip2 -dc"; # bunzip2 to stdout
+$lzcat="lzma -dc"; # unlzma to stdout +$lzcat="lzma -dc"; # unlzma to stdout
+$xzcat="xz -dc"; # unxz to stdout
$file="file"; # "file" command $file="file"; # "file" command
$TZ='GMT'; # default timezone (for Date module) $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|"); exit 1 unless (open IN, "$zcat $mbox_qname|");
} elsif (/bzip/) { } elsif (/bzip/) {
exit 1 unless (open IN, "$bzcat $mbox_qname|"); exit 1 unless (open IN, "$bzcat $mbox_qname|");
+} elsif (/lzma/) { +} elsif (/lzma/) {
+ exit 1 unless (open IN, "$lzcat $mbox_qname|"); + exit 1 unless (open IN, "$lzcat $mbox_qname|");
+} elsif (/xz/) {
+ exit 1 unless (open IN, "$xzcat $mbox_qname|");
} else { } else {
exit 1 unless (open IN, "<$mbox_name"); 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 index dc3757d..62a6d0d 100644
--- a/vfs/extfs/patchfs.in --- a/vfs/extfs/patchfs.in
+++ b/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'; use File::Temp 'tempfile';
# standard binaries # standard binaries
+my $lzma = 'lzma'; +my $lzma = 'lzma';
+my $xz = 'xz';
my $bzip = 'bzip2'; my $bzip = 'bzip2';
my $gzip = 'gzip'; my $gzip = 'gzip';
my $fileutil = 'file'; my $fileutil = 'file';
@@ -70,7 +71,9 @@ sub myin @@ -70,7 +71,11 @@ sub myin
my ($qfname)=(quotemeta $_[0]); my ($qfname)=(quotemeta $_[0]);
$_=`$fileutil $qfname`; $_=`$fileutil $qfname`;
- if (/bzip/) { - if (/bzip/) {
+ if (/lzma/) { + if (/xz/) {
+ return "$xz -dc $qfname";
+ } elsif (/lzma/) {
+ return "$lzma -dc $qfname"; + return "$lzma -dc $qfname";
+ } elsif (/bzip/) { + } elsif (/bzip/) {
return "$bzip -dc $qfname"; return "$bzip -dc $qfname";
} elsif (/gzip/) { } elsif (/gzip/) {
return "$gzip -dc $qfname"; return "$gzip -dc $qfname";
@@ -86,7 +89,9 @@ sub myout @@ -86,7 +89,11 @@ sub myout
my ($sep) = $append ? '>>' : '>'; my ($sep) = $append ? '>>' : '>';
$_=`$fileutil $qfname`; $_=`$fileutil $qfname`;
- if (/bzip/) { - if (/bzip/) {
+ if (/lzma/) { + if (/xz/) {
+ return "$xz -c $sep $qfname";
+ } elsif (/lzma/) {
+ return "$lzma -c $sep $qfname"; + return "$lzma -c $sep $qfname";
+ } elsif (/bzip/) { + } elsif (/bzip/) {
return "$bzip -c $sep $qfname"; 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 index 5c3d8e2..fc77e04 100644
--- a/vfs/extfs/sfs.ini --- a/vfs/extfs/sfs.ini
+++ b/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 ubz/1 bzip -d < %1 > %3
bz2/1 bzip2 < %1 > %3 bz2/1 bzip2 < %1 > %3
ubz2/1 bzip2 -d < %1 > %3 ubz2/1 bzip2 -d < %1 > %3
+lzma/1 lzma < %1 > %3 +lzma/1 lzma < %1 > %3
+ulzma/1 lzma -d < %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 tar/1 tar cf %3 %1
tgz/1 tar czf %3 %1 tgz/1 tar czf %3 %1
uhtml/1 lynx -force_html -dump %1 > %3 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 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 - update to mc 4.1.11
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
Sun Nov 16 23:10:51 MET 1997 - florian@suse.de Sun Nov 16 23:10:51 MET 1997 - florian@suse.de
- oops, forgot mc.lib-changes from Werner - oops, forgot mc.lib-changes from Werner
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
Fri Oct 10 13:16:04 MEST 1997 - florian@suse.de Fri Oct 10 13:16:04 MEST 1997 - florian@suse.de
- update to version 4.1.4 - update to version 4.1.4
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
Sun Jun 22 18:57:49 MEST 1997 - florian@suse.de Sun Jun 22 18:57:49 MEST 1997 - florian@suse.de
- update to version 4.0 - update to version 4.0
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
Wed May 28 17:03:24 MET DST 1997 - werner@suse.de 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 Wed Jan 22 22:24:11 CET 1997 - florian@suse.de
- enable gpm support - enable gpm support
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
Tue Nov 26 20:15:03 CET 1996 - florian@suse.de Tue Nov 26 20:15:03 CET 1996 - florian@suse.de
- update to version 3.2.11 - update to version 3.2.11
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
Mon Sep 2 17:49:41 MET DST 1996 - florian@suse.de 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 und libgpm sich nicht vertragen. (libgpm laed libncurses, das geht
mit libslang.a nicht...) 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 - new version 3.2.7
for screen output, mc now uses the slang library and not the ncurses functions - for screen output, mc now uses the slang library and not the ncurses functions
directly directly

12
mc.spec
View File

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