summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--system/xfburn/fix_empty_dir_segfault.diff47
-rw-r--r--system/xfburn/xfburn.SlackBuild17
2 files changed, 61 insertions, 3 deletions
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 <glib-object.h>' \
+ 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