Date: Sunday, October 23, 2011 @ 05:32:09
  Author: andyrtr
Revision: 141076

upgpkg: xfburn 0.4.3-5

fix a segfault; FS#26121

Added:
  xfburn/trunk/fix_empty_dir_segfault.diff
Modified:
  xfburn/trunk/PKGBUILD

-----------------------------+
 PKGBUILD                    |   12 +++++++---
 fix_empty_dir_segfault.diff |   48 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 57 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2011-10-23 09:11:50 UTC (rev 141075)
+++ PKGBUILD    2011-10-23 09:32:09 UTC (rev 141076)
@@ -4,7 +4,7 @@
 
 pkgname=xfburn
 pkgver=0.4.3
-pkgrel=4
+pkgrel=5
 arch=('i686' 'x86_64')
 pkgdesc="a simple CD/DVD burning tool based on libburnia libraries"
 url="http://goodies.xfce.org/projects/applications/xfburn";
@@ -14,11 +14,17 @@
 depends=('libburn>=1.0.6.pl00' 'libisofs>=1.0.6' 'libxfcegui4>=4.8.1' 
'exo>=0.6.0' 'gstreamer0.10-base>=0.10.26'
          'hicolor-icon-theme' 'desktop-file-utils' 'librsvg')
 makedepends=('intltool')
-source=(http://www.xfce.org/archive/src/apps/xfburn/0.4/$pkgname-$pkgver.tar.bz2)
-md5sums=('147cdc2d909e751125be16103b8dc81f')
+source=(http://www.xfce.org/archive/src/apps/xfburn/0.4/$pkgname-$pkgver.tar.bz2
+       fix_empty_dir_segfault.diff)
+md5sums=('147cdc2d909e751125be16103b8dc81f'
+         '82a85be2442c42ab93de95e21c6c11b0')
 
 build() { 
   cd ${srcdir}/$pkgname-$pkgver
+
+  # fix https://bugs.archlinux.org/task/26121
+  patch -Np0 -i ${srcdir}/fix_empty_dir_segfault.diff
+  
   ./configure --prefix=/usr \
        --enable-gstreamer \
        --enable-dbus \

Added: fix_empty_dir_segfault.diff
===================================================================
--- fix_empty_dir_segfault.diff                         (rev 0)
+++ fix_empty_dir_segfault.diff 2011-10-23 09:32:09 UTC (rev 141076)
@@ -0,0 +1,48 @@
+--- xfburn/xfburn-data-composition.c   2011-02-17 16:37:03.000000000 +0100
++++ xfburn/xfburn-data-composition_patched.c   2011-02-17 16:40:40.000000000 
+0100
+@@ -1874,26 +1874,29 @@
+           g_error ("Failed adding %s as a node to the image: code %X!", src, 
r);
+       }
+ 
+-      basename = g_path_get_basename (src);
++      /* Check names only for items not manually created (#613563) */
++      if (type != DATA_COMPOSITION_TYPE_DIRECTORY || src != NULL) {
++        basename = g_path_get_basename (src);
++
++        /* check if the file has been renamed */
++        if (strcmp (basename, name) != 0) {
++          /* rename the iso_node */
++          r = iso_node_set_name (node, name);
++
++          if (r == 0) {
++            /* The first string is the renamed name, the second one the 
original name */
++            xfce_warn (_("Duplicate filename '%s' for '%s'"), name, src);
++
++            g_free (basename);
++            g_free (name);
++            g_free (src);
+ 
+-      /* check if the file has been renamed */
+-      if (strcmp (basename, name) != 0) {
+-        /* rename the iso_node */
+-        r = iso_node_set_name (node, name);
+-
+-        if (r == 0) {
+-          /* The first string is the renamed name, the second one the 
original name */
+-          xfce_warn (_("Duplicate filename '%s' for '%s'"), name, src);
+-
+-          g_free (basename);
+-          g_free (name);
+-          g_free (src);
+-
+-          continue;
++            continue;
++          }
+         }
++        g_free (basename);
+       }
+ 
+-      g_free (basename);
+       g_free (name);
+       g_free (src);
+

Reply via email to