rpms/mc/devel mc-lzma.patch, NONE, 1.1 mc-extensions.patch, 1.10, 1.11 mc.spec, 1.131, 1.132

Jindrich Novy (jnovy) fedora-extras-commits at redhat.com
Fri Mar 7 14:37:44 UTC 2008


Author: jnovy

Update of /cvs/extras/rpms/mc/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv11251

Modified Files:
	mc-extensions.patch mc.spec 
Added Files:
	mc-lzma.patch 
Log Message:
* Fri Mar  7 2008 Jindrich Novy <jnovy at redhat.com> 4.6.2-2.pre1
- add lzma vfs support by Lasse Collin
- update extensions patch to use xdg-open


mc-lzma.patch:

--- NEW FILE mc-lzma.patch ---
# LZMA support for Midnight Commander
# 2006-03-17
#
# This patch adds basic support for LZMA compressed files to
# Midnight Commander 4.6.1. You should have LZMA utils 4.32.x
# or later. Older versions of LZMA utils will *not* work.
#
# Copyright (C) 2006 Lasse Collin <lasse.collin at tukaani.org>
#
# This patch is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.

diff -Naru mc-4.6.1.orig/edit/edit.c mc-4.6.1/edit/edit.c
--- mc-4.6.1.orig/edit/edit.c	2005-05-27 17:19:18.000000000 +0300
+++ mc-4.6.1/edit/edit.c	2006-03-17 17:39:49.000000000 +0200
@@ -186,6 +186,7 @@
 static const struct edit_filters {
     const char *read, *write, *extension;
 } all_filters[] = {
+    { "lzma -cd %s 2>&1",   "lzma > %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",   ".Z"   }

diff -Naru mc-4.6.1.orig/src/util.c mc-4.6.1/src/util.c
--- mc-4.6.1.orig/src/util.c	2005-05-27 17:19:18.000000000 +0300
+++ mc-4.6.1/src/util.c	2006-03-17 18:20:50.000000000 +0200
@@ -900,7 +900,7 @@
  * Warning: this function moves the current file pointer */
 int get_compression_type (int fd)
 {
-    unsigned char magic[4];
+    unsigned char magic[16];
 
     /* Read the magic signature */
     if (mc_read (fd, (char *) magic, 4) != 4)
@@ -944,6 +944,31 @@
 	    return COMPRESSION_BZIP2;
 	}
     }
+
+    /* LZMA files; both LZMA_Alone and LZMA utils formats. The LZMA_Alone
+     * format is used by the LZMA_Alone tool from LZMA SDK. The LZMA utils
+     * format is the default format of LZMA utils 4.32.1 and later. */
+    if (magic[0] < 0xE1 || (magic[0] == 0xFF && magic[1] == 'L' &&
+	magic[2] == 'Z' && magic[3] == 'M')) {
+	if (mc_read (fd, (char *) magic + 4, 9) == 9) {
+	    /* LZMA utils format */
+	    if (magic[0] == 0xFF && magic[4] == 'A' && magic[5] == 0x00)
+		return COMPRESSION_LZMA;
+	    /* The LZMA_Alone format has no magic bytes, thus we
+	     * need to play a wizard. This can give false positives,
+	     * thus the detection below should be removed when
+	     * the newer LZMA utils format has got popular. */
+	    if (magic[0] < 0xE1 && magic[4] < 0x20 &&
+		((magic[10] == 0x00 && magic[11] == 0x00 &&
+		  magic[12] == 0x00) ||
+		 (magic[5] == 0xFF && magic[6] == 0xFF &&
+		  magic[7] == 0xFF && magic[8] == 0xFF &&
+		  magic[9] == 0xFF && magic[10] == 0xFF &&
+		  magic[11] == 0xFF && magic[12] == 0xFF)))
+		return COMPRESSION_LZMA;
+	}
+    }
+
     return 0;
 }
 
@@ -954,6 +979,7 @@
 	case COMPRESSION_GZIP: return "#ugz";
 	case COMPRESSION_BZIP:   return "#ubz";
 	case COMPRESSION_BZIP2:  return "#ubz2";
+	case COMPRESSION_LZMA:  return "#ulzma";
 	}
 	/* Should never reach this place */
 	fprintf (stderr, "Fatal: decompress_extension called with an unknown argument\n");
diff -Naru mc-4.6.1.orig/src/util.h mc-4.6.1/src/util.h
--- mc-4.6.1.orig/src/util.h	2005-01-13 21:20:47.000000000 +0200
+++ mc-4.6.1/src/util.h	2006-03-17 17:34:34.000000000 +0200
@@ -169,7 +169,8 @@
 	COMPRESSION_NONE,
 	COMPRESSION_GZIP,
 	COMPRESSION_BZIP,
-	COMPRESSION_BZIP2
+	COMPRESSION_BZIP2,
+	COMPRESSION_LZMA
 };
 
 int get_compression_type (int fd);
diff -Naru mc-4.6.1.orig/vfs/extfs/iso9660.in mc-4.6.1/vfs/extfs/iso9660.in
--- mc-4.6.1.orig/vfs/extfs/iso9660.in	2004-10-29 12:14:38.000000000 +0300
+++ mc-4.6.1/vfs/extfs/iso9660.in	2006-03-17 17:45:28.000000000 +0200
@@ -25,6 +25,7 @@
 mcisofs_list () {
 # left as a reminder to implement compressed image support =)
 case "$1" in
+  *.lzma) MYCAT="lzma -dc";;
   *.bz2) MYCAT="bzip2 -dc";;
   *.gz)  MYCAT="gzip -dc";;
   *.z)   MYCAT="gzip -dc";;
diff -Naru mc-4.6.1.orig/vfs/extfs/lslR.in mc-4.6.1/vfs/extfs/lslR.in
--- mc-4.6.1.orig/vfs/extfs/lslR.in	2003-06-22 12:54:21.000000000 +0300
+++ mc-4.6.1/vfs/extfs/lslR.in	2006-03-17 17:45:08.000000000 +0200
@@ -12,6 +12,7 @@
 
 mclslRfs_list () {
 case "$1" in
+  *.lzma) MYCAT="lzma -dc";;
   *.bz2) MYCAT="bzip2 -dc";;
   *.gz)  MYCAT="gzip -dc";;
   *.z)   MYCAT="gzip -dc";;
diff -Naru mc-4.6.1.orig/vfs/extfs/mailfs.in mc-4.6.1/vfs/extfs/mailfs.in
--- mc-4.6.1.orig/vfs/extfs/mailfs.in	2002-12-24 08:56:17.000000000 +0200
+++ mc-4.6.1/vfs/extfs/mailfs.in	2006-03-17 17:53:47.000000000 +0200
@@ -7,6 +7,7 @@
 
 $zcat="zcat";                 # gunzip to stdout
 $bzcat="bzip2 -dc";           # bunzip2 to stdout
+$lzcat="lzma -dc";            # unlzma to stdout
 $file="file";                 # "file" command
 $TZ='GMT';                    # default timezone (for Date module)
 
@@ -132,6 +133,8 @@
     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|");
 } else {
     exit 1 unless (open IN, "<$mbox_name");
 }
diff -Naru mc-4.6.1.orig/vfs/extfs/patchfs.in mc-4.6.1/vfs/extfs/patchfs.in
--- mc-4.6.1.orig/vfs/extfs/patchfs.in	2004-11-17 01:00:40.000000000 +0200
+++ mc-4.6.1/vfs/extfs/patchfs.in	2006-03-17 17:52:47.000000000 +0200
@@ -12,6 +12,7 @@
 use File::Temp 'tempfile';
 
 # standard binaries
+my $lzma = 'lzma';
 my $bzip = 'bzip2';
 my $gzip = 'gzip';
 my $fileutil = 'file';
@@ -70,7 +71,9 @@
     my ($qfname)=(quotemeta $_[0]);
 
     $_=`$fileutil $qfname`;
-    if (/bzip/) {
+    if (/lzma/) {
+	return "$lzma -dc $qfname";
+    } elsif (/bzip/) {
 	return "$bzip -dc $qfname";
     } elsif (/gzip/) {
 	return "$gzip -dc $qfname";
@@ -86,7 +89,9 @@
     my ($sep) = $append ? '>>' : '>';
 
     $_=`$fileutil $qfname`;
-    if (/bzip/) {
+    if (/lzma/) {
+	return "$lzma -c $sep $qfname";
+    } elsif (/bzip/) {
 	return "$bzip -c $sep $qfname";
     } elsif (/gzip/) {
 	return "$gzip -c $sep $qfname";
diff -Naru mc-4.6.1.orig/vfs/extfs/sfs.ini mc-4.6.1/vfs/extfs/sfs.ini
--- mc-4.6.1.orig/vfs/extfs/sfs.ini	1998-12-15 17:57:43.000000000 +0200
+++ mc-4.6.1/vfs/extfs/sfs.ini	2006-03-17 17:44:01.000000000 +0200
@@ -10,6 +10,8 @@
 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
 tar/1	tar cf %3 %1
 tgz/1	tar czf %3 %1
 uhtml/1	lynx -force_html -dump %1 > %3

mc-extensions.patch:

Index: mc-extensions.patch
===================================================================
RCS file: /cvs/extras/rpms/mc/devel/mc-extensions.patch,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- mc-extensions.patch	4 Jan 2007 16:14:38 -0000	1.10
+++ mc-extensions.patch	7 Mar 2008 14:37:40 -0000	1.11
@@ -1,17 +1,7 @@
---- mc/configure.ac.extensions	2006-12-28 06:34:31.000000000 +0100
-+++ mc/configure.ac	2007-01-04 15:42:15.000000000 +0100
-@@ -83,7 +83,7 @@
- AC_CHECK_TOOL(AR, ar, ar)
- 
- dnl Only list browsers here that can be run in background (i.e. with `&')
--AC_CHECK_PROGS(X11_WWW, [gnome-moz-remote mozilla konqueror opera netscape])
-+AC_CHECK_PROGS(X11_WWW, [firefox gnome-moz-remote mozilla konqueror opera netscape])
- 
- dnl
- dnl Ovverriding mmap support.  This has to be before AC_FUNC_MMAP is used.
---- mc/configure.extensions	2006-12-28 06:34:48.000000000 +0100
-+++ mc/configure	2007-01-04 15:42:15.000000000 +0100
-@@ -7166,7 +7166,7 @@
+diff -up mc-4.6.2-pre1/configure.extensions mc-4.6.2-pre1/configure
+--- mc-4.6.2-pre1/configure.extensions	2007-09-11 16:33:32.000000000 +0200
++++ mc-4.6.2-pre1/configure	2008-03-07 14:28:51.000000000 +0100
+@@ -5736,7 +5736,7 @@
  fi
  
  
@@ -20,9 +10,22 @@
  do
    # Extract the first word of "$ac_prog", so it can be a program name with args.
  set dummy $ac_prog; ac_word=$2
---- mc/lib/mc.ext.in.extensions	2006-12-28 04:45:29.000000000 +0100
-+++ mc/lib/mc.ext.in	2007-01-04 15:53:33.000000000 +0100
-@@ -220,14 +220,25 @@
+diff -up mc-4.6.2-pre1/lib/mc.ext.in.extensions mc-4.6.2-pre1/lib/mc.ext.in
+--- mc-4.6.2-pre1/lib/mc.ext.in.extensions	2006-12-28 04:57:01.000000000 +0100
++++ mc-4.6.2-pre1/lib/mc.ext.in	2008-03-07 14:28:31.000000000 +0100
+@@ -119,6 +119,11 @@
+ 	Open=%cd %p#utar
+ 	View=%view{ascii} bzip2 -dc %f 2>/dev/null | tar tvvf -
+ 
++# .tar.lzma, .tlz
++regex/\.t(ar\.lzma|lz)$
++	Open=%cd %p#utar
++	View=%view{ascii} lzma -dc %f 2>/dev/null | tar tvvf -
++
+ # .tar.F - used in QNX
+ regex/\.tar\.F$
+ 	# Open=%cd %p#utar
+@@ -220,14 +225,25 @@
  
  # C
  shell/.c
@@ -35,7 +38,8 @@
 +	Include=editor
  	
  # Header
- regex/\.(h|hpp)$
+-regex/\.(h|hpp)$
++regex/\.([Hh]|[Hh]pp|HPP)$
 +	Include=editor
 +
 +# Asm
@@ -50,7 +54,7 @@
  	Open=%var{EDITOR:vi} %f
  
  # Object
-@@ -251,10 +262,12 @@
+@@ -251,10 +267,12 @@
  
  # GNU Info page
  type/^Info\ text
@@ -65,7 +69,18 @@
  
  # Manual page
  # Exception - .so libraries are not manual pages
-@@ -328,18 +341,24 @@
+@@ -298,6 +316,10 @@
+ 	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
++
+ 
+ ### Images ###
+ 
+@@ -328,18 +350,24 @@
  type/^Netpbm
  	Include=image
  
@@ -88,11 +103,11 @@
  
  include/image
 -	Open=if [ "$DISPLAY" = "" ]; then zgv %f; else (gqview %f &); fi
-+	Open=if [ "$DISPLAY" = "" ]; then zgv %f; else (display %f &); fi
++	Open=if [ "$DISPLAY" = "" ]; then zgv %f; else (xdg-open %f &); fi
  	View=%view{ascii} identify %f
  	#View=%view{ascii} asciiview %f
  
-@@ -347,7 +366,8 @@
+@@ -347,7 +375,8 @@
  ### Sound files ###
  
  regex/\.([wW][aA][vV]|[sS][nN][dD]|[vV][oO][cC]|[aA][uU]|[sS][mM][pP]|[aA][iI][fF][fF]|[sS][nN][dD])$
@@ -102,7 +117,7 @@
  
  regex/\.([mM][oO][dD]|[sS]3[mM]|[xX][mM]|[iI][tT]|[mM][tT][mM]|669|[sS][tT][mM]|[uU][lL][tT]|[fF][aA][rR])$
         Open=mikmod %f
-@@ -357,11 +377,16 @@
+@@ -357,11 +386,16 @@
         Open=vplay -s 22 %f
  
  regex/\.([mM][pP]3)$
@@ -122,7 +137,7 @@
  	View=%view{ascii} ogginfo %s
  
  regex/\.([mM][iI][dD][iI]?|[rR][mM][iI][dD]?)$
-@@ -371,11 +396,15 @@
+@@ -371,11 +405,15 @@
  	Open=mplayer -vo null %f
  	View=%view{ascii} mplayer -quiet -slave -frames 0 -vo null -ao null -identify %f 2>/dev/null | tail +13 || file %f
  
@@ -139,7 +154,7 @@
  
  
  ### Video ###
-@@ -395,20 +424,27 @@
+@@ -395,20 +433,27 @@
  regex/\.([mM][pP]4|[mM][pP][eE]?[gG])$
  	Include=video
  
@@ -168,7 +183,7 @@
  	#Open=(gtv %f >/dev/null 2>&1 &)
  	#Open=(xanim %f >/dev/null 2>&1 &)
  
-@@ -417,12 +453,13 @@
+@@ -417,12 +462,13 @@
  
  # Postscript
  type/^PostScript
@@ -179,12 +194,12 @@
  # PDF
  type/^PDF
 -	Open=(xpdf %f &)
-+	Open=(evince %f >/dev/null 2>&1 &)
++	Open=(xdg-open %f >/dev/null 2>&1 &)
 +	#Open=(xpdf %f >/dev/null 2>&1 &)
  	#Open=(acroread %f &)
  	#Open=(ghostview %f &)
  	View=%view{ascii} pdftotext %f -
-@@ -433,7 +470,7 @@
+@@ -433,7 +479,7 @@
  # html
  regex/\.([hH][tT][mM][lL]?)$
  	Open=(if test -n "@X11_WWW@" && test -n "$DISPLAY"; then (@X11_WWW@ file://%d/%p &) 1>&2; else links %f || lynx -force_html %f || ${PAGER:-more} %f; fi) 2>/dev/null
@@ -193,7 +208,7 @@
  
  # StarOffice 5.2
  shell/.sdw
-@@ -450,22 +487,27 @@
+@@ -450,22 +496,27 @@
  
  # Microsoft Word Document
  regex/\.([Dd][oO][cCtT]|[Ww][rR][iI])$
@@ -226,3 +241,27 @@
  	View=%view{ascii} xls2csv %f || strings %f
  
  # Use OpenOffice.org to open any MS Office documents
+@@ -542,6 +593,11 @@
+ 	Open=gzip -dc %f | %var{PAGER:more}
+ 	View=%view{ascii} gzip -dc %f 2>/dev/null
+ 
++# lzma
++regex/\.lzma$
++	Open=lzma -dc %f | %var{PAGER:more}
++	View=%view{ascii} lzma -dc %f 2>/dev/null
++
+ 
+ ### Default ###
+ 
+diff -up mc-4.6.2-pre1/configure.ac.extensions mc-4.6.2-pre1/configure.ac
+--- mc-4.6.2-pre1/configure.ac.extensions	2007-09-10 16:25:30.000000000 +0200
++++ mc-4.6.2-pre1/configure.ac	2008-03-07 14:28:51.000000000 +0100
+@@ -83,7 +83,7 @@
+ AC_CHECK_TOOL(AR, ar, ar)
+ 
+ dnl Only list browsers here that can be run in background (i.e. with `&')
+-AC_CHECK_PROGS(X11_WWW, [gnome-moz-remote mozilla konqueror opera netscape])
++AC_CHECK_PROGS(X11_WWW, [firefox gnome-moz-remote mozilla konqueror opera netscape])
+ 
+ dnl
+ dnl Ovverriding mmap support.  This has to be before AC_FUNC_MMAP is used.


Index: mc.spec
===================================================================
RCS file: /cvs/extras/rpms/mc/devel/mc.spec,v
retrieving revision 1.131
retrieving revision 1.132
diff -u -r1.131 -r1.132
--- mc.spec	25 Feb 2008 15:01:14 -0000	1.131
+++ mc.spec	7 Mar 2008 14:37:40 -0000	1.132
@@ -1,7 +1,7 @@
 Summary:	User-friendly text console file manager and visual shell
 Name:		mc
 Version:	4.6.2
-Release:	1.pre1%{?dist}
+Release:	2.pre1%{?dist}
 Epoch:		1
 License:	GPLv2
 Group:		System Environment/Shells
@@ -29,6 +29,7 @@
 Patch15:	mc-prompt.patch
 Patch16:	mc-refresh.patch
 Patch17:	mc-preserveattr.patch
+Patch18:	mc-lzma.patch
 
 %description
 Midnight Commander is a visual shell much like a file manager, only
@@ -57,6 +58,7 @@
 %patch15 -p1 -b .prompt
 %patch16 -p1 -b .refresh
 %patch17 -p1 -b .preserveattr
+%patch18 -p1 -b .lzmavfs
 
 # convert files in /lib to UTF-8
 pushd lib
@@ -195,6 +197,10 @@
 %dir %{_libexecdir}/mc
 
 %changelog
+* Fri Mar  7 2008 Jindrich Novy <jnovy at redhat.com> 4.6.2-2.pre1
+- add lzma vfs support by Lasse Collin
+- update extensions patch to use xdg-open
+
 * Mon Feb 25 2008 Jindrich Novy <jnovy at redhat.com> 4.6.2-1.pre1
 - update to 4.6.2-pre1
 - forwardport the UTF-8 patch to 4.6.2-pre1 and convert new




More information about the fedora-extras-commits mailing list