tags 665675 + patch
thanks

On 31.03.2012 01:28, Michael Biebl wrote:
> Hi Bdale,
> 
> On 30.03.2012 18:27, Bdale Garbee wrote:
>> <#part sign=pgpmime>
>> On Fri, 30 Mar 2012 08:18:33 +0000, ow...@bugs.debian.org (Debian Bug 
>> Tracking System) wrote:
>>> Please contact me if you need assistance.
>>
>> Is there documentation somewhere about what glib upstream broke that's
>> causing the problem, and recommendations for working around the breakage
>> in packages?
> 
> Looking at common-src/glib-util.[ch], amanda apparently defines it's own
> version of g_queue_free_full, which since 2.31.16 [1] is part of glib
> upstream. One could argue that it wasn't a clever idea of amanda to use
> the glib namespace to define it's own set of utility functions.
> 
> There seems to be a amanda upstream thread about this issue [2].
> 
> I don't see those functions used in the code (using a simple grep),
> maybe they can just be dropped?
> 
> Michael
> 
> [1] http://mail.gnome.org/archives/commits-list/2011-December/msg05637.html
> [2] http://www.mail-archive.com/amanda-users@amanda.org/msg46201.html

The attached patch simply removes g_queue_free_full (seeing that it
apparently isn't used in the code). I could successfully compile with
the patch applied but have done no further testing.

Michael

-- 
Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?
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

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to