Date: Monday, September 30, 2013 @ 10:01:47
  Author: jgc
Revision: 195293

upgpkg: file-roller 3.10.0-2

Added:
  file-roller/trunk/bug708854.patch
  file-roller/trunk/bug709035.patch
Modified:
  file-roller/trunk/PKGBUILD

-----------------+
 PKGBUILD        |   23 ++++++++-----
 bug708854.patch |   92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 bug709035.patch |   43 +++++++++++++++++++++++++
 3 files changed, 150 insertions(+), 8 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2013-09-30 02:32:04 UTC (rev 195292)
+++ PKGBUILD    2013-09-30 08:01:47 UTC (rev 195293)
@@ -4,24 +4,31 @@
 
 pkgname=file-roller
 pkgver=3.10.0
-pkgrel=1
+pkgrel=2
 pkgdesc="Create and modify archives"
 arch=('i686' 'x86_64')
 license=('GPL')
-depends=('desktop-file-utils' 'gtk3' 'hicolor-icon-theme' 'dconf' 'libarchive' 
'file' 'json-glib' 'libnotify')
+depends=('desktop-file-utils' 'gtk3' 'hicolor-icon-theme' 'dconf' 'libarchive' 
'file' 'json-glib' 'libnotify' 'p7zip')
 makedepends=('intltool' 'gnome-doc-utils' 'pkg-config' 'libnautilus-extension' 
'itstool' 'docbook-xsl')
-optdepends=('unrar: the RAR uncompression program'
-            'zip: creates PKZIP-compatible .zip files'
-            'p7zip: 7zip compression utility'
-            'arj: ARJ archiver'
+optdepends=('lrzip: lrzip archive support'
             'unace: extraction tool for the proprietary ace archive format')
 groups=('gnome-extra')
 options=('!libtool' '!emptydirs')
 install=file-roller.install
 url="http://www.gnome.org";
-source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz)
-sha256sums=('d889bb9904146e5715c082aa9a6d96b0606a066ba2bf05fbfb7030f2bf274f13')
+source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz
+        bug708854.patch
+        bug709035.patch)
+sha256sums=('d889bb9904146e5715c082aa9a6d96b0606a066ba2bf05fbfb7030f2bf274f13'
+            'a8f4e856924b6b78e47cc134c723d1d93119f90ec9ab69dd0b59ec8a934688ba'
+            '59f07968b720ccd9c70e6232b2bfcaa3cf9298d6ce48be4882154d69cbe7a909')
 
+prepare() {
+  cd $pkgname-$pkgver
+  patch -Np1 -i ../bug708854.patch
+  patch -Np1 -i ../bug709035.patch
+}
+
 build() {
   cd $pkgname-$pkgver
 

Added: bug708854.patch
===================================================================
--- bug708854.patch                             (rev 0)
+++ bug708854.patch     2013-09-30 08:01:47 UTC (rev 195293)
@@ -0,0 +1,92 @@
+From d3ce6fe6964857c89212ab1a5a7aaa052d93c584 Mon Sep 17 00:00:00 2001
+From: Aleksander Morgado <aleksan...@lanedo.com>
+Date: Thu, 26 Sep 2013 16:06:21 +0000
+Subject: 7z: allow extracting/opening/adding files prefixed with '@'
+
+7z uses '@' to specify a listfile; i.e. a file with a list of files to add or
+extract. Therefore, if working with single files (e.g. open, add or extract a
+single file from the archive), the filenames need to be escaped with '!' and
+specified with '-i'. It is ok to mix files specified with '-i' and the ones
+given after the archive filename.
+
+E.g. instead of:
+  7z x -bd -y -o/tmp/.fr-2z9FXz -- HS04603.ZIP @HS04603.PDF
+
+it should be:
+  7z x -bd -y -o/tmp/.fr-2z9FXz -i!@HS04603.PDF -- HS04603.ZIP
+
+https://bugzilla.gnome.org/show_bug.cgi?id=708854
+---
+diff --git a/src/fr-command-7z.c b/src/fr-command-7z.c
+index f2e70a6..a9d15fd 100644
+--- a/src/fr-command-7z.c
++++ b/src/fr-command-7z.c
+@@ -375,11 +375,20 @@ fr_command_7z_add (FrCommand  *command,
+       if (from_file != NULL)
+               fr_process_add_arg_concat (command->process, "-i@", from_file, 
NULL);
+ 
++      if (from_file == NULL)
++              for (scan = file_list; scan; scan = scan->next)
++                      /* Files prefixed with '@' need to be handled specially 
*/
++                      if (g_str_has_prefix (scan->data, "@"))
++                              fr_process_add_arg_concat (command->process, 
"-i!", scan->data, NULL);
++
+       fr_process_add_arg (command->process, "--");
+       fr_process_add_arg (command->process, command->filename);
++
+       if (from_file == NULL)
+               for (scan = file_list; scan; scan = scan->next)
+-                      fr_process_add_arg (command->process, scan->data);
++                      /* Skip files prefixed with '@', already added */
++                      if (!g_str_has_prefix (scan->data, "@"))
++                              fr_process_add_arg (command->process, 
scan->data);
+ 
+       fr_process_end_command (command->process);
+ }
+@@ -409,11 +418,20 @@ fr_command_7z_delete (FrCommand  *command,
+       if (from_file != NULL)
+               fr_process_add_arg_concat (command->process, "-i@", from_file, 
NULL);
+ 
++      if (from_file == NULL)
++              for (scan = file_list; scan; scan = scan->next)
++                      /* Files prefixed with '@' need to be handled specially 
*/
++                      if (g_str_has_prefix (scan->data, "@"))
++                              fr_process_add_arg_concat (command->process, 
"-i!", scan->data, NULL);
++
+       fr_process_add_arg (command->process, "--");
+       fr_process_add_arg (command->process, command->filename);
++
+       if (from_file == NULL)
+               for (scan = file_list; scan; scan = scan->next)
+-                      fr_process_add_arg (command->process, scan->data);
++                      /* Skip files prefixed with '@', already added */
++                      if (!g_str_has_prefix (scan->data, "@"))
++                              fr_process_add_arg (command->process, 
scan->data);
+ 
+       fr_process_end_command (command->process);
+ }
+@@ -463,11 +481,21 @@ fr_command_7z_extract (FrCommand  *command,
+       if (from_file != NULL)
+               fr_process_add_arg_concat (command->process, "-i@", from_file, 
NULL);
+ 
++      if (from_file == NULL)
++              for (scan = file_list; scan; scan = scan->next)
++                      /* Files prefixed with '@' need to be handled specially 
*/
++                      if (g_str_has_prefix (scan->data, "@"))
++                              fr_process_add_arg_concat (command->process, 
"-i!", scan->data, NULL);
++
++
+       fr_process_add_arg (command->process, "--");
+       fr_process_add_arg (command->process, command->filename);
++
+       if (from_file == NULL)
+               for (scan = file_list; scan; scan = scan->next)
+-                      fr_process_add_arg (command->process, scan->data);
++                      /* Skip files prefixed with '@', already added */
++                      if (!g_str_has_prefix (scan->data, "@"))
++                              fr_process_add_arg (command->process, 
scan->data);
+ 
+       fr_process_end_command (command->process);
+ }
+--
+cgit v0.9.2

Added: bug709035.patch
===================================================================
--- bug709035.patch                             (rev 0)
+++ bug709035.patch     2013-09-30 08:01:47 UTC (rev 195293)
@@ -0,0 +1,43 @@
+From d05bdc3b60d928f1f40338208419f0ffa41195f6 Mon Sep 17 00:00:00 2001
+From: Paolo Bacchilega <pao...@src.gnome.org>
+Date: Sun, 29 Sep 2013 16:30:29 +0000
+Subject: libarchive: fixed failure when extracting some tar archives
+
+do not try to restore the creation time;
+do not set the G_FILE_ATTRIBUTE_TIME_CREATED_USEC attribute
+
+[bug #709035]
+---
+diff --git a/src/fr-archive-libarchive.c b/src/fr-archive-libarchive.c
+index 42673df..44aaad2 100644
+--- a/src/fr-archive-libarchive.c
++++ b/src/fr-archive-libarchive.c
+@@ -428,15 +428,8 @@ _g_file_info_create_from_entry (struct archive_entry 
*entry,
+ 
+       /* times */
+ 
+-      if (archive_entry_ctime_is_set (entry)) {
+-              g_file_info_set_attribute_uint64 (info, 
G_FILE_ATTRIBUTE_TIME_CREATED, archive_entry_ctime (entry));
+-              g_file_info_set_attribute_uint32 (info, 
G_FILE_ATTRIBUTE_TIME_CREATED_USEC, archive_entry_ctime_nsec (entry));
+-      }
+-
+-      if (archive_entry_mtime_is_set (entry)) {
++      if (archive_entry_mtime_is_set (entry))
+               g_file_info_set_attribute_uint64 (info, 
G_FILE_ATTRIBUTE_TIME_MODIFIED, archive_entry_mtime (entry));
+-              g_file_info_set_attribute_uint32 (info, 
G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC, archive_entry_mtime_nsec (entry));
+-      }
+ 
+       /* username */
+ 
+@@ -529,7 +522,8 @@ restore_modification_time (GHashTable    *created_folders,
+ 
+               info = g_file_info_new ();
+               g_file_info_set_attribute_uint64 (info, 
G_FILE_ATTRIBUTE_TIME_MODIFIED, g_file_info_get_attribute_uint64 
(original_info, G_FILE_ATTRIBUTE_TIME_MODIFIED));
+-              g_file_info_set_attribute_uint32 (info, 
G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC, g_file_info_get_attribute_uint32 
(original_info, G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC));
++              if (g_file_info_get_attribute_status (original_info, 
G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC) == G_FILE_ATTRIBUTE_STATUS_SET)
++                      g_file_info_set_attribute_uint32 (info, 
G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC, g_file_info_get_attribute_uint32 
(original_info, G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC));
+               result = _g_file_set_attributes_from_info (file, info, 
cancellable, error);
+ 
+               g_object_unref (info);
+--
+cgit v0.9.2

Reply via email to