From 7ffa46b4a7221ec7c4a28402b362f95abac3e763 Mon Sep 17 00:00:00 2001 From: Robby Workman Date: Fri, 7 Sep 2012 09:18:49 -0500 Subject: [PATCH] system/xfburn: Included a couple of fixes from Arch Linux Signed-off-by: Robby Workman --- system/xfburn/fix_empty_dir_segfault.diff | 47 +++++++++++++++++++++++ system/xfburn/xfburn.SlackBuild | 17 ++++++-- 2 files changed, 61 insertions(+), 3 deletions(-) create mode 100644 system/xfburn/fix_empty_dir_segfault.diff diff --git a/system/xfburn/fix_empty_dir_segfault.diff b/system/xfburn/fix_empty_dir_segfault.diff new file mode 100644 index 0000000000..b5543a5358 --- /dev/null +++ b/system/xfburn/fix_empty_dir_segfault.diff @@ -0,0 +1,47 @@ +--- 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); diff --git a/system/xfburn/xfburn.SlackBuild b/system/xfburn/xfburn.SlackBuild index 3d3386faa6..6c7fced657 100644 --- a/system/xfburn/xfburn.SlackBuild +++ b/system/xfburn/xfburn.SlackBuild @@ -2,7 +2,7 @@ # Slackware build script for xfburn -# Copyright 2008-2011 Robby Workman, Northport, Alabama, USA +# Copyright 2008-2012 Robby Workman, Northport, Alabama, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -23,8 +23,8 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=xfburn -VERSION=0.4.3 -BUILD=${BUILD:-1} +VERSION=${VERSION:-0.4.3} +BUILD=${BUILD:-2} TAG=${TAG:-_SBo} # Automatically determine the architecture we're building on: @@ -71,6 +71,14 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; +# Fix https://bugs.archlinux.org/task/26121 (and thanks to Arch for the patch) +patch -p0 < $CWD/fix_empty_dir_segfault.diff + +# Fix build issue (thanks again to Arch) +sed -i '1 i\ + #include ' \ + xfburn/xfburn-settings.h + CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ @@ -79,6 +87,9 @@ CXXFLAGS="$SLKCFLAGS" \ --mandir=/usr/man \ --docdir=/usr/doc/$PRGNAM-$VERSION \ --enable-static=no \ + --enable-gstreamer \ + --enable-dbus \ + --disable-hal \ --build=$ARCH-slackware-linux make