diff options
Diffstat (limited to 'testing')
-rw-r--r-- | testing/xfburn/APKBUILD | 23 | ||||
-rw-r--r-- | testing/xfburn/fix_empty_dir_segfault.patch | 48 |
2 files changed, 67 insertions, 4 deletions
diff --git a/testing/xfburn/APKBUILD b/testing/xfburn/APKBUILD index d8e10c6701..a729e0e65f 100644 --- a/testing/xfburn/APKBUILD +++ b/testing/xfburn/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=xfburn pkgver=0.4.3 -pkgrel=0 +pkgrel=1 pkgdesc="a simple CD/DVD burning tool based on libburnia libraries" url="http://goodies.xfce.org/projects/applications/xfburn" arch="all" @@ -10,10 +10,24 @@ depends="desktop-file-utils hicolor-icon-theme" makedepends="libburn-dev libisofs-dev libxfcegui4-dev thunar-dev librsvg-dev gst-plugins-base-dev exo-dev" install= -subpackages="$pkgname-doc" -source="http://archive.xfce.org/src/apps/xfburn/${pkgver%.*}/xfburn-$pkgver.tar.bz2" +subpackages="$pkgname-doc $pkgname-lang" +source="http://archive.xfce.org/src/apps/xfburn/${pkgver%.*}/xfburn-$pkgver.tar.bz2 + fix_empty_dir_segfault.patch" _builddir="$srcdir"/$pkgname-$pkgver +prepare() { + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + # fix build issue + sed -i '1 i\ + #include <glib-object.h>' \ + xfburn/xfburn-settings.h +} + build () { cd "$_builddir" @@ -29,4 +43,5 @@ package() { make DESTDIR="$pkgdir" install || return 1 } -md5sums="147cdc2d909e751125be16103b8dc81f xfburn-0.4.3.tar.bz2" +md5sums="147cdc2d909e751125be16103b8dc81f xfburn-0.4.3.tar.bz2 +7e04ba806e3a0d945d5921dc5d875bdd fix_empty_dir_segfault.patch" diff --git a/testing/xfburn/fix_empty_dir_segfault.patch b/testing/xfburn/fix_empty_dir_segfault.patch new file mode 100644 index 0000000000..93418ae413 --- /dev/null +++ b/testing/xfburn/fix_empty_dir_segfault.patch @@ -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); + |