Hello community,
here is the log from the commit of package mc for openSUSE:Factory checked in at 2013-11-30 07:36:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mc (Old)
and /work/SRC/openSUSE:Factory/.mc.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mc"
Changes:
--------
--- /work/SRC/openSUSE:Factory/mc/mc.changes 2013-11-29 12:03:58.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.mc.new/mc.changes 2013-11-30 07:36:41.000000000 +0100
@@ -1,0 +2,7 @@
+Thu Nov 28 12:27:16 UTC 2013 - dnh@opensuse.org
+
+- Reimplementation of mcrar5fs_list in vfs/extfs/helpers/urar using
+ 'unrar vt' fixing the "trailing space" problem with 'unrar [lv]'
+ closing http://www.midnight-commander.org/ticket/3073 and bnc#849082
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mc.spec ++++++
--- /var/tmp/diff_new_pack.lkstzC/_old 2013-11-30 07:36:42.000000000 +0100
+++ /var/tmp/diff_new_pack.lkstzC/_new 2013-11-30 07:36:42.000000000 +0100
@@ -45,6 +45,7 @@
# add mc-extfs-helpers-urar.patch (by dnh@opensuse.org) - Fix urar
# extfs failing on files with spaces (bnc#849082). Forwarded to upstream.
+# see http://www.midnight-commander.org/ticket/3073
Patch22: mc-extfs-helpers-urar.patch
#debian fixes for vfs
++++++ mc-extfs-helpers-urar.patch ++++++
--- /var/tmp/diff_new_pack.lkstzC/_old 2013-11-30 07:36:42.000000000 +0100
+++ /var/tmp/diff_new_pack.lkstzC/_new 2013-11-30 07:36:42.000000000 +0100
@@ -1,10 +1,25 @@
diff -urN -x '*~' mc-4.8.10.orig/src/vfs/extfs/helpers/urar.in mc-4.8.10/src/vfs/extfs/helpers/urar.in
--- mc-4.8.10.orig/src/vfs/extfs/helpers/urar.in 2013-08-02 17:02:39.000000000 +0200
-+++ mc-4.8.10/src/vfs/extfs/helpers/urar.in 2013-11-25 23:10:36.000000000 +0100
-@@ -42,14 +42,43 @@
- $UNRAR v -c- -cfg- "$1" | @AWK@ -v uid=`id -u` -v gid=`id -g` '
- BEGIN { flag=0 }
- /^-----------/ { flag++; if (flag > 1) exit 0; next }
++++ mc-4.8.10/src/vfs/extfs/helpers/urar.in 2013-11-28 07:14:54.000000000 +0100
+@@ -4,6 +4,11 @@
+ # (C) 1996 2:5020/337.13@fidonet.org
+ # Updated by christian.gennerat@alcatel.fr 1999
+ # Andrew V. Samoilov 2000
++#
++# Andrew Borodin
++# David Haller
++# 2013: support unrar5
++#
+ # beta version 2.0
+ #
+ # rar and unrar can be found on http://www.rarlabs.com/
+@@ -39,18 +44,62 @@
+
+ mcrar5fs_list ()
+ {
+- $UNRAR v -c- -cfg- "$1" | @AWK@ -v uid=`id -u` -v gid=`id -g` '
+-BEGIN { flag=0 }
+-/^-----------/ { flag++; if (flag > 1) exit 0; next }
-flag==1 {
- split($5, a, "-")
- if (index($1, "D") != 0)
@@ -13,43 +28,63 @@
- if (index($1, ".") != 0)
- $1="-rw-r--r--"
- printf "%s 1 %s %s %d %02d/%02d/%02d %s ./%s\n", $1, uid, gid, $2, a[2], a[1], a[3], $6, $8
-+flag == 1 {
-+ name=""; delete fields; delete seps;
-+
-+ ### split line, save n-fields and save seperators in "seps"
-+ ### tested with busybox awk
-+ nameparts = split($0, fields, " ");
-+ split($0, seps, "[^ \t]+");
-+ sub("^ ", "", seps[8]);
-+
-+ ### split date for reformatting
-+ split(fields[5], date, "-");
+-}'
++ $UNRAR vt -c- -cfg- "$1" | @AWK@ -F ':' -v uid=`id -u` -v gid=`id -g` '
++ {
++ ### remove space after the ":" of the field name
++ sub ("^ ", "", $2);
++ }
+
-+ ### check/adjust rights
-+ if (index(fields[1], "D") != 0) {
-+ fields[1] = "drwxr-xr-x";
-+ } else {
-+ if (index(fields[1], ".") != 0) {
-+ fields[1] = "-rw-r--r--";
++ $1 ~ / *Name$/ {
++ ### next file
++ name = mtime = size = attrs = "";
++ delete date;
++ name = $2;
++ ### if the name contains ":", append the rest of the fields
++ if (NF > 2) {
++ for (i = 3; i <= NF; i++) {
++ name = name ":" $i;
++ }
+ }
+ }
-+
-+ ### join filename from fields 8 .. nameparts (saved above)
-+ for(i = 8; i <= nameparts; i++) {
-+ name=name seps[i] fields[i];
++ $1 ~ /^ *mtime$/ {
++ mtime = $2 ":" $3;
++ }
++ $1 ~ /^ *Size$/ {
++ size = $2;
++ }
++ $1 ~ /^ *Attributes$/ {
++ attrs = $2;
+ }
-+ name=name seps[i];
+
-+# ### where did this come from? I say: if in doubt: pass on the
-+# ### unrar bug to our users ... I leave this in for reference.
-+# ### remove padding blanks from short names
-+# if (length(name)<13) {
-+# sub(" *$", "", name);
-+# }
++ $1 ~ /^ *Compression$/ {
++ ### file done, using /^$/ is not so good you
++ ### would have to skip the version stuff first
++
++ ### get date and time
++ split (mtime, date, " ");
++ time = date[2];
++ ### cut off seconds from the time
++ sub (",[0-9]*$", "", time);
++ ### split for reordering of the date in the printf below
++ split (date[1], date, "-");
++ ### mc seems to be able to parse 4 digit years too, so remove if tested
++ # sub ("^..", "", date[1]); ### cut year to 2 digits only
++
++ ### check/adjust rights
++ if (index (attrs, "D") != 0) {
++ attrs = "drwxr-xr-x";
++ } else {
++ if (index (attrs, ".") != 0) {
++ attrs = "-rw-r--r--";
++ }
++ }
+
-+ printf("%s 1 %s %s %d %02d/%02d/%02d %s ./%s\n",
-+ fields[1], uid, gid, fields[2], date[2],
-+ date[1], date[3], fields[6], name);
- }'
++ ### and finally
++ printf ("%s 1 %s %s %d %02d/%02d/%02d %s ./%s\n",
++ attrs, uid, gid, size, date[2], date[3], date[1], time, name);
++ }
++'
}
+ mcrarfs_list ()
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org