r25155 - in /desktop/unstable/file-roller/debian: changelog patches/01_rar_crasher.patch patches/02_escape_newlines.patch patches/03_tar_xz_update.patch patches/series

joss at users.alioth.debian.org joss at users.alioth.debian.org
Sat Sep 18 11:37:27 UTC 2010


Author: joss
Date: Sat Sep 18 11:37:26 2010
New Revision: 25155

URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=25155
Log:
* Include some patches sitting in the upstream repository:
  + 01_rar_crasher.patch: fix a crasher with the rar command.
  + 02_escape_newlines.patch: handle the case of files with newlines 
    in their name. 
  + 03_tar_xz_update.patch: update .tar.xz files without losing the 
    data in them. Closes: #594839.

Added:
    desktop/unstable/file-roller/debian/patches/01_rar_crasher.patch
    desktop/unstable/file-roller/debian/patches/02_escape_newlines.patch
    desktop/unstable/file-roller/debian/patches/03_tar_xz_update.patch
Modified:
    desktop/unstable/file-roller/debian/changelog
    desktop/unstable/file-roller/debian/patches/series

Modified: desktop/unstable/file-roller/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/file-roller/debian/changelog?rev=25155&op=diff
==============================================================================
--- desktop/unstable/file-roller/debian/changelog [utf-8] (original)
+++ desktop/unstable/file-roller/debian/changelog [utf-8] Sat Sep 18 11:37:26 2010
@@ -1,8 +1,14 @@
-file-roller (2.30.2-2) UNRELEASED; urgency=low
+file-roller (2.30.2-2) unstable; urgency=low
 
   * Only suggest lzma. Closes: #595117.
-
- -- Josselin Mouette <joss at debian.org>  Sun, 05 Sep 2010 16:15:16 +0200
+  * Include some patches sitting in the upstream repository:
+    + 01_rar_crasher.patch: fix a crasher with the rar command.
+    + 02_escape_newlines.patch: handle the case of files with newlines 
+      in their name. 
+    + 03_tar_xz_update.patch: update .tar.xz files without losing the 
+      data in them. Closes: #594839.
+
+ -- Josselin Mouette <joss at debian.org>  Sat, 18 Sep 2010 13:37:15 +0200
 
 file-roller (2.30.2-1) unstable; urgency=low
 

Added: desktop/unstable/file-roller/debian/patches/01_rar_crasher.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/file-roller/debian/patches/01_rar_crasher.patch?rev=25155&op=file
==============================================================================
--- desktop/unstable/file-roller/debian/patches/01_rar_crasher.patch (added)
+++ desktop/unstable/file-roller/debian/patches/01_rar_crasher.patch [utf-8] Sat Sep 18 11:37:26 2010
@@ -1,0 +1,121 @@
+From bac5d03a29a411c79e0d838d48c404900d30066d Mon Sep 17 00:00:00 2001
+From: Paolo Bacchilega <paobac at src.gnome.org>
+Date: Fri, 25 Jun 2010 10:45:32 +0000
+Subject: [rar] fixed seg fault when there is an extra info line in the output
+
+---
+diff --git a/src/fr-command-rar.c b/src/fr-command-rar.c
+index 482ab57..2c42ba4 100644
+--- a/src/fr-command-rar.c
++++ b/src/fr-command-rar.c
+@@ -117,6 +117,59 @@ process_line (char     *line,
+ 		return;
+ 	}
+ 
++	if (! rar_comm->odd_line) {
++		FileData *fdata;
++
++		fdata = rar_comm->fdata;
++
++		/* read file info. */
++
++		fields = split_line (line, 6);
++		if (g_strv_length (fields) < 6) {
++			/* wrong line format, treat this line as a filename line */
++			g_strfreev (fields);
++			file_data_free (rar_comm->fdata);
++			rar_comm->fdata = NULL;
++			rar_comm->odd_line = TRUE;
++		}
++		else {
++			if ((strcmp (fields[2], "<->") == 0)
++			    || (strcmp (fields[2], "<--") == 0))
++			{
++				/* ignore files that span more volumes */
++
++				file_data_free (rar_comm->fdata);
++				rar_comm->fdata = NULL;
++			}
++			else {
++				fdata->size = g_ascii_strtoull (fields[0], NULL, 10);
++				fdata->modified = mktime_from_string (fields[3], fields[4]);
++
++				if ((fields[5][1] == 'D') || (fields[5][0] == 'd')) {
++					char *tmp;
++
++					tmp = fdata->full_path;
++					fdata->full_path = g_strconcat (fdata->full_path, "/", NULL);
++
++					fdata->original_path = g_strdup (fdata->original_path);
++					fdata->free_original_path = TRUE;
++
++					g_free (tmp);
++
++					fdata->name = dir_name_from_path (fdata->full_path);
++					fdata->dir = TRUE;
++				}
++				else
++					fdata->name = g_strdup (file_name_from_path (fdata->full_path));
++
++				fr_command_add_file (comm, fdata);
++				rar_comm->fdata = NULL;
++			}
++
++			g_strfreev (fields);
++		}
++	}
++
+ 	if (rar_comm->odd_line) {
+ 		FileData *fdata;
+ 
+@@ -141,48 +194,7 @@ process_line (char     *line,
+ 		fdata->path = remove_level_from_path (fdata->full_path);
+ 	}
+ 	else {
+-		FileData *fdata;
+-
+-		fdata = rar_comm->fdata;
+-
+-		/* read file info. */
+-
+-		fields = split_line (line, 6);
+-
+-		if ((strcmp (fields[2], "<->") == 0)
+-		    || (strcmp (fields[2], "<--") == 0))
+-		{
+-			/* ignore files that span more volumes */
+-
+-			file_data_free (rar_comm->fdata);
+-			rar_comm->fdata = NULL;
+-		}
+-		else {
+-			fdata->size = g_ascii_strtoull (fields[0], NULL, 10);
+-			fdata->modified = mktime_from_string (fields[3], fields[4]);
+-
+-			if ((fields[5][1] == 'D') || (fields[5][0] == 'd')) {
+-				char *tmp;
+-
+-				tmp = fdata->full_path;
+-				fdata->full_path = g_strconcat (fdata->full_path, "/", NULL);
+-
+-				fdata->original_path = g_strdup (fdata->original_path);
+-				fdata->free_original_path = TRUE;
+-
+-				g_free (tmp);
+-
+-				fdata->name = dir_name_from_path (fdata->full_path);
+-				fdata->dir = TRUE;
+-			}
+-			else
+-				fdata->name = g_strdup (file_name_from_path (fdata->full_path));
+-
+-			fr_command_add_file (comm, fdata);
+-			rar_comm->fdata = NULL;
+-		}
+ 
+-		g_strfreev (fields);
+ 	}
+ 
+ 	rar_comm->odd_line = ! rar_comm->odd_line;
+--
+cgit v0.8.3.1

Added: desktop/unstable/file-roller/debian/patches/02_escape_newlines.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/file-roller/debian/patches/02_escape_newlines.patch?rev=25155&op=file
==============================================================================
--- desktop/unstable/file-roller/debian/patches/02_escape_newlines.patch (added)
+++ desktop/unstable/file-roller/debian/patches/02_escape_newlines.patch [utf-8] Sat Sep 18 11:37:26 2010
@@ -1,0 +1,31 @@
+From 2194eddd71a01f178defa1137d7fab01acedf44b Mon Sep 17 00:00:00 2001
+From: Paolo Bacchilega <paobac at src.gnome.org>
+Date: Tue, 06 Jul 2010 07:31:15 +0000
+Subject: escape new lines in filenames when saving the file list to a file
+
+---
+diff --git a/src/fr-archive.c b/src/fr-archive.c
+index ff71e92..83d0889 100644
+--- a/src/fr-archive.c
++++ b/src/fr-archive.c
+@@ -1160,12 +1160,17 @@ save_list_to_temp_file (GList   *file_list,
+ 		for (scan = file_list; scan != NULL; scan = scan->next) {
+ 			char *filename = scan->data;
+ 
++			filename = str_substitute (filename, "\n", "\\n");
+ 			if ((g_output_stream_write (G_OUTPUT_STREAM (ostream), filename, strlen (filename), NULL, error) < 0)
+ 			    || (g_output_stream_write (G_OUTPUT_STREAM (ostream), "\n", 1, NULL, error) < 0))
+ 			{
+ 				error_occurred = TRUE;
+-				break;
+ 			}
++
++			g_free (filename);
++
++			if (error_occurred)
++				break;
+ 		}
+ 		if (! error_occurred && ! g_output_stream_close (G_OUTPUT_STREAM (ostream), NULL, error))
+ 			error_occurred = TRUE;
+--
+cgit v0.8.3.1

Added: desktop/unstable/file-roller/debian/patches/03_tar_xz_update.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/file-roller/debian/patches/03_tar_xz_update.patch?rev=25155&op=file
==============================================================================
--- desktop/unstable/file-roller/debian/patches/03_tar_xz_update.patch (added)
+++ desktop/unstable/file-roller/debian/patches/03_tar_xz_update.patch [utf-8] Sat Sep 18 11:37:26 2010
@@ -1,0 +1,22 @@
+From c668bfe6175ed0891dd2a42bfe590a8adf7be8de Mon Sep 17 00:00:00 2001
+From: Paolo Bacchilega <paobac at src.gnome.org>
+Date: Fri, 03 Sep 2010 18:09:04 +0000
+Subject: fixed update of files in .tar.xz archives
+
+[bug #628717]
+---
+diff --git a/src/fr-command-tar.c b/src/fr-command-tar.c
+index 53ab601..650a197 100644
+--- a/src/fr-command-tar.c
++++ b/src/fr-command-tar.c
+@@ -769,7 +769,7 @@ get_uncompressed_name (FrCommandTar *c_tar,
+ 		/* X.tar.xz --> X.tar
+ 		 * (There doesn't seem to be a shorthand suffix) */
+ 		if (file_extension_is (e_filename, ".tar.xz"))
+-			new_name[l - 5] = 0;
++			new_name[l - 3] = 0;
+ 	}
+ 	else if (is_mime_type (comm->mime_type, "application/x-lzop-compressed-tar")) {
+ 		/* X.tzo     -->  X.tar
+--
+cgit v0.8.3.1

Modified: desktop/unstable/file-roller/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/file-roller/debian/patches/series?rev=25155&op=diff
==============================================================================
--- desktop/unstable/file-roller/debian/patches/series [utf-8] (original)
+++ desktop/unstable/file-roller/debian/patches/series [utf-8] Sat Sep 18 11:37:26 2010
@@ -1,3 +1,6 @@
+01_rar_crasher.patch
+02_escape_newlines.patch
+03_tar_xz_update.patch
 10_command_dpkg.patch
 90_relibtoolize.patch
 99_ltmain_as-needed.patch




More information about the pkg-gnome-commits mailing list