patch to fix glib 2.32 build conflict
[debian/amanda] / debian / patches / glib-2.32.patch
diff --git a/debian/patches/glib-2.32.patch b/debian/patches/glib-2.32.patch
new file mode 100644 (file)
index 0000000..d4b1429
--- /dev/null
@@ -0,0 +1,38 @@
+Description: Remove g_queue_free_full() since it conflicts with glib 2.32
+ glib 2.32 introduce g_queue_free_full() which conflicts with the
+ amanda-internal version of this function. As it doesn't seem to
+ be used, simply remove it.
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=665675
+
+Index: amanda-3.3.1/common-src/glib-util.c
+===================================================================
+--- amanda-3.3.1.orig/common-src/glib-util.c   2012-02-21 12:36:51.000000000 +0100
++++ amanda-3.3.1/common-src/glib-util.c        2012-03-31 01:33:21.177134297 +0200
+@@ -120,15 +120,6 @@
+ }
+ #endif
+-void g_queue_free_full(GQueue * queue) {
+-    while (!g_queue_is_empty(queue)) {
+-        gpointer data;
+-        data = g_queue_pop_head(queue);
+-        amfree(data);
+-    }
+-    g_queue_free(queue);
+-}
+-
+ void g_ptr_array_free_full(GPtrArray * array) {
+     size_t i;
+Index: amanda-3.3.1/common-src/glib-util.h
+===================================================================
+--- amanda-3.3.1.orig/common-src/glib-util.h   2012-02-21 12:36:51.000000000 +0100
++++ amanda-3.3.1/common-src/glib-util.h        2012-03-31 01:33:29.013134019 +0200
+@@ -72,7 +72,6 @@
+ /* These functions all take a GLib container, and call free() on all the
+  * pointers in the container before free()ing the container itself. */
+-void g_queue_free_full(GQueue * queue);
+ void g_ptr_array_free_full(GPtrArray * array);
+ /* g_value_compare() does what you expect. It returns TRUE if and