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 - [email protected]
+
+- 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 [email protected]) - 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/[email protected]
+ # Updated by [email protected] 1999
+ #            Andrew V. Samoilov <[email protected]> 2000
++#
++# Andrew Borodin <[email protected]>
++# David Haller <[email protected]>
++#     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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to