tags 677246 +patch
thanks

Please find attached.

(Sorry this is a re-send, my work smtp server ate my first mail).

Patch has two sub-patches:

 • a backport of upstream's mb3 → mb4 patch
 • a subsequent mb4 → mb5 patch

I've adjusted the rules file to preserve configure and aclocal.m4,
to keep dpkg/source/3 happy.
diff -Nru goobox-3.0.1/debian/changelog goobox-3.0.1/debian/changelog
--- goobox-3.0.1/debian/changelog	2012-04-20 19:37:30.000000000 +0100
+++ goobox-3.0.1/debian/changelog	2012-06-14 09:43:46.000000000 +0100
@@ -1,3 +1,11 @@
+goobox (3.0.1-2) unstable; urgency=low
+
+  * Update to use libmusicbrainz5. Rework packaging to preserve
+    upstream configure and aclocal.m4 files during build process.
+    Closes: #677246.
+
+ -- Jon Dowland <j...@debian.org>  Thu, 14 Jun 2012 09:43:08 +0100
+
 goobox (3.0.1-1) unstable; urgency=low
 
   * New upstream release
diff -Nru goobox-3.0.1/debian/patches/goobox-mb4.patch goobox-3.0.1/debian/patches/goobox-mb4.patch
--- goobox-3.0.1/debian/patches/goobox-mb4.patch	1970-01-01 01:00:00.000000000 +0100
+++ goobox-3.0.1/debian/patches/goobox-mb4.patch	2012-06-14 09:29:16.000000000 +0100
@@ -0,0 +1,563 @@
+From b8046894e5d543048afbe7dd630aebc7c29d77a8 Mon Sep 17 00:00:00 2001
+From: Paolo Bacchilega <pao...@src.gnome.org>
+Date: Sat, 02 Jun 2012 19:17:47 +0000
+Subject: ported to libmusicbrainz4
+
+---
+diff --git a/configure.ac b/configure.ac
+index e7316f3..3c5e85c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -19,7 +19,7 @@ GLIB_REQUIRED=2.30
+ GTK_REQUIRED=3.2.0
+ GSTREAMER_REQUIRED=0.10.12
+ LIBNOTIFY_REQUIRED=0.4.3
+-LIBMUSICBRAINZ3_REQUIRED=3.0.0
++LIBMUSICBRAINZ4_REQUIRED=4.0.0
+ 
+ dnl ===========================================================================
+ 
+@@ -33,7 +33,7 @@ PKG_CHECK_MODULES(GOO, [
+ 	gtk+-3.0 >= $GTK_REQUIRED
+ 	gstreamer-0.10 >= $GSTREAMER_REQUIRED
+ 	libbrasero-media3
+-	libmusicbrainz3 >= $LIBMUSICBRAINZ3_REQUIRED
++	libmusicbrainz4 >= $LIBMUSICBRAINZ4_REQUIRED
+ 	libdiscid
+ ])
+ AC_SUBST(GOO_CFLAGS)
+diff --git a/src/album-info.c b/src/album-info.c
+index 6e461cc..0bd20b9 100644
+--- a/src/album-info.c
++++ b/src/album-info.c
+@@ -155,7 +155,7 @@ album_info_set_artist (AlbumInfo  *album,
+ 		       const char *artist,
+ 		       const char *artist_id)
+ {
+-	if (artist == NULL) {
++	if ((artist == NULL) || (artist[0] == 0)) {
+ 		g_free (album->artist);
+ 		album->artist = NULL /*g_strdup (_("Unknown Artist"))*/;
+ 		g_free (album->artist_id);
+diff --git a/src/goo-error.h b/src/goo-error.h
+index 3102f7d..3753b17 100644
+--- a/src/goo-error.h
++++ b/src/goo-error.h
+@@ -23,11 +23,15 @@
+ #ifndef __GOO_ERROR_H__
+ #define __GOO_ERROR_H__
+ 
+-
+ #include <glib.h>
+ 
+ #define GOO_ERROR goo_error_quark ()
+-GQuark goo_error_quark (void);
+ 
++enum {
++	GOO_ERROR_GENERIC,
++	GOO_ERROR_METADATA
++};
++
++GQuark goo_error_quark (void);
+ 
+ #endif /* __GOO_ERROR_H__ */
+diff --git a/src/metadata.c b/src/metadata.c
+index a79a23d..312208d 100644
+--- a/src/metadata.c
++++ b/src/metadata.c
+@@ -24,33 +24,74 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include <discid/discid.h>
+-#include <musicbrainz3/mb_c.h>
++#include <musicbrainz4/mb4_c.h>
+ #include "album-info.h"
+ #include "glib-utils.h"
++#include "goo-error.h"
+ #include "metadata.h"
+ 
+ 
++#define QUERY_AGENT (PACKAGE_NAME "-" PACKAGE_VERSION)
++
++
+ static TrackInfo *
+-get_track_info (MbTrack mb_track,
+-		int     n_track)
++get_track_info (Mb4Track mb_track,
++		int      n_track)
+ {
+-	TrackInfo *track;
+-	char       data[1024];
+-	char       data2[1024];
+-	MbArtist   mb_artist;
++	TrackInfo         *track;
++	Mb4Recording       recording;
++	int                required_size = 0;
++	char              *title = NULL;
++	Mb4ArtistCredit    artist_credit;
++	Mb4NameCreditList  name_credit_list;
++	int                i;
+ 
+ 	track = track_info_new (n_track, 0, 0);
+ 
+-	mb_track_get_title (mb_track, data, 1024);
+-	track_info_set_title (track, data);
++	/* title */
++
++	recording = mb4_track_get_recording (mb_track);
++	if (recording != NULL) {
++		required_size = mb4_recording_get_title (recording, title, 0);
++		title = g_new (char, required_size + 1);
++		mb4_recording_get_title (recording, title, required_size + 1);
++	}
++	else {
++		required_size = mb4_track_get_title (mb_track, title, 0);
++		title = g_new (char, required_size + 1);
++		mb4_track_get_title (mb_track, title, required_size + 1);
++	}
++	track_info_set_title (track, title);
++	debug (DEBUG_INFO, "==> [MB] TRACK %d: %s\n", n_track, title);
++
++	g_free (title);
++
++	/* artist */
++
++	artist_credit = mb4_track_get_artistcredit (mb_track);
++	name_credit_list = mb4_artistcredit_get_namecreditlist (artist_credit);
++	for (i = 0; i < mb4_namecredit_list_size (name_credit_list); i++) {
++		Mb4NameCredit  name_credit = mb4_namecredit_list_item (name_credit_list, i);
++		Mb4Artist      artist;
++		char          *artist_name = NULL;
++		char          *artist_id = NULL;
++
++		artist = mb4_namecredit_get_artist (name_credit);
++
++		required_size = mb4_artist_get_name (artist, artist_name, 0);
++		artist_name = g_new (char, required_size + 1);
++		mb4_artist_get_name (artist, artist_name, required_size + 1);
++		debug (DEBUG_INFO, "==> [MB] ARTIST NAME: %s\n", artist_name);
++
++		required_size = mb4_artist_get_id (artist, artist_id, 0);
++		artist_id = g_new (char, required_size + 1);
++		mb4_artist_get_id (artist, artist_id, required_size + 1);
++		debug (DEBUG_INFO, "==> [MB] ARTIST ID: %s\n", artist_id);
+ 
+-	debug (DEBUG_INFO, "==> [MB] TRACK %d: %s\n", n_track, data);
++		track_info_set_artist (track, artist_name, artist_id);
+ 
+-	mb_artist = mb_track_get_artist (mb_track);
+-	if (mb_artist != NULL) {
+-		mb_artist_get_unique_name (mb_artist, data, 1024);
+-		mb_artist_get_id (mb_artist, data2, 1024);
+-		track_info_set_artist (track, data, data2);
++		g_free (artist_name);
++		g_free (artist_id);
+ 	}
+ 
+ 	return track;
+@@ -58,38 +99,74 @@ get_track_info (MbTrack mb_track,
+ 
+ 
+ static AlbumInfo *
+-get_album_info (MbRelease release)
++get_album_info (Mb4Release release,
++		Mb4Medium  medium)
+ {
+-	AlbumInfo *album;
+-	char       data[1024];
+-	int        i;
+-	MbArtist   artist;
+-	char       data2[1024];
+-	GList     *tracks = NULL;
+-	int        n_tracks;
++	AlbumInfo         *album;
++	char              *value;
++	int                required_size;
++	Mb4ReleaseGroup    release_group;
++	Mb4ArtistCredit    artist_credit;
++	Mb4NameCreditList  name_credit_list;
++	int                i;
++	GList             *tracks;
++	Mb4TrackList       track_list;
++	int                n_track;
+ 
+ 	album = album_info_new ();
+ 
+-	mb_release_get_id (release, data, 1024);
+-	debug (DEBUG_INFO, "==> [MB] ALBUM_ID: %s\n", data);
+-	album_info_set_id (album, strrchr (data, '/') + 1);
++	/* id */
++
++	value = NULL;
++	required_size = mb4_release_get_id (release, value, 0);
++	value = g_new (char, required_size + 1);
++	mb4_release_get_id (release, value, required_size + 1);
++	debug (DEBUG_INFO, "==> [MB] ALBUM_ID: %s\n", value);
++	album_info_set_id (album, value);
++	g_free (value);
++
++	/* title */
++
++	value = NULL;
++	required_size = mb4_medium_get_title  (medium, value, 0);
++	value = g_new (char, required_size + 1);
++	mb4_medium_get_title  (medium, value, required_size + 1);
++	debug (DEBUG_INFO, "==> [MB] MEDIUM NAME: %s\n", value);
++	album_info_set_title (album, value);
++	g_free (value);
++
++	if ((album->title == NULL) || (album->title[0] == 0)) {
++		value = NULL;
++		required_size = mb4_release_get_title  (release, value, 0);
++		value = g_new (char, required_size + 1);
++		mb4_release_get_title  (release, value, required_size + 1);
++		debug (DEBUG_INFO, "==> [MB] RELEASE NAME: %s\n", value);
++		album_info_set_title (album, value);
++		g_free (value);
++	}
++
++	/* asin */
+ 
+-	mb_release_get_title (release, data, 1024);
+-	debug (DEBUG_INFO, "==> [MB] ALBUM NAME: %s\n", data);
+-	album_info_set_title (album, data);
++	value = NULL;
++	required_size = mb4_release_get_asin (release, value, 0);
++	value = g_new (char, required_size + 1);
++	mb4_release_get_asin (release, value, required_size + 1);
++	debug (DEBUG_INFO, "==> [MB] ASIN: %s\n", value);
++	album_info_set_asin (album, value);
++	g_free (value);
+ 
+-	mb_release_get_asin (release, data, 1024);
+-	debug (DEBUG_INFO, "==> [MB] ASIN: %s\n", data);
+-	album_info_set_asin (album, data);
++	/* release date */
+ 
+-	for (i = 0; i < mb_release_get_num_release_events (release); i++) {
+-		MbReleaseEvent event;
+-		int            y = 0, m = 0, d = 0;
++	release_group = mb4_release_get_releasegroup (release);
++	value = NULL;
++	required_size = mb4_releasegroup_get_firstreleasedate (release_group, value, 0);
++	value = g_new (char, required_size + 1);
++	mb4_releasegroup_get_firstreleasedate (release_group, value, required_size + 1);
++	debug (DEBUG_INFO, "==> [MB] RELEASE DATE: %s\n", value);
++	if (value != NULL) {
++		int y = 0, m = 0, d = 0;
+ 
+-		event = mb_release_get_release_event (release, i);
+-		mb_release_event_get_date (event, data, 1024);
+-		debug (DEBUG_INFO, "==> [MB] RELEASE DATE: %s\n", data);
+-		if (sscanf (data, "%d-%d-%d", &y, &m, &d) > 0) {
++		if (sscanf (value, "%d-%d-%d", &y, &m, &d) > 0) {
+ 			GDate *date;
+ 
+ 			date = g_date_new_dmy ((d > 0) ? d : 1, (m > 0) ? m : 1, (y > 0) ? y : 1);
+@@ -97,26 +174,51 @@ get_album_info (MbRelease release)
+ 			g_date_free (date);
+ 		}
+ 	}
++	g_free (value);
++
++	/* artist */
++
++	artist_credit = mb4_release_get_artistcredit (release);
++	name_credit_list = mb4_artistcredit_get_namecreditlist (artist_credit);
++	for (i = 0; i < mb4_namecredit_list_size (name_credit_list); i++) {
++		Mb4NameCredit  name_credit = mb4_namecredit_list_item (name_credit_list, i);
++		Mb4Artist      artist;
++		char          *artist_name = NULL;
++		char          *artist_id = NULL;
++
++		artist = mb4_namecredit_get_artist (name_credit);
++
++		required_size = mb4_artist_get_name (artist, artist_name, 0);
++		artist_name = g_new (char, required_size + 1);
++		mb4_artist_get_name (artist, artist_name, required_size + 1);
++		debug (DEBUG_INFO, "==> [MB] ARTIST NAME: %s\n", artist_name);
++
++		required_size = mb4_artist_get_id (artist, artist_id, 0);
++		artist_id = g_new (char, required_size + 1);
++		mb4_artist_get_id (artist, artist_id, required_size + 1);
++		debug (DEBUG_INFO, "==> [MB] ARTIST ID: %s\n", artist_id);
++
++		album_info_set_artist (album, artist_name, artist_id);
++
++		g_free (artist_name);
++		g_free (artist_id);
++	}
++
++	/* tracks */
+ 
+-	artist = mb_release_get_artist (release);
+-	mb_artist_get_unique_name (artist, data, 1024);
+-	mb_artist_get_id (artist, data2, 1024);
+-	album_info_set_artist (album, data, data2);
++	track_list = mb4_medium_get_tracklist (medium);
++
++	debug (DEBUG_INFO, "==> [MB] N TRACKS: %d\n", mb4_track_list_size (track_list));
+ 
+ 	tracks = NULL;
+-	n_tracks = mb_release_get_num_tracks (release);
+-	debug (DEBUG_INFO, "==> [MB] N TRACKS: %d\n", n_tracks);
+-	for (i = 0; i < n_tracks; i++) {
+-		MbTrack    mb_track;
++	for (n_track = 0; n_track < mb4_track_list_size (track_list); n_track++) {
+ 		TrackInfo *track;
+ 
+-		mb_track = mb_release_get_track (release, i);
+-		track = get_track_info (mb_track, i);
++		track = get_track_info (mb4_track_list_item (track_list, n_track), n_track);
+ 		if (album->artist == NULL)
+ 			album_info_set_artist (album, track->artist, KEEP_PREVIOUS_VALUE);
+ 		tracks = g_list_prepend (tracks, track);
+ 	}
+-
+ 	tracks = g_list_reverse (tracks);
+ 	album_info_set_tracks (album, tracks);
+ 
+@@ -125,63 +227,73 @@ get_album_info (MbRelease release)
+ 
+ 
+ static GList *
+-get_album_list (MbResultList list)
++get_album_list (Mb4ReleaseList   release_list,
++		const char      *disc_id,
++		Mb4Query         query,
++		GError         **error)
+ {
+ 	GList *albums = NULL;
+-	int    n_albums;
+ 	int    i;
+ 
+-	n_albums = mb_result_list_get_size (list);
+-	g_print ("[MB] Num Albums: %d\n", n_albums);
++	debug (DEBUG_INFO, "[MB] Num Albums: %d (Disc ID: %s)\n", mb4_release_list_size (release_list), disc_id);
++
++	for (i = 0; i < mb4_release_list_size (release_list); i++) {
++		Mb4Release    release;
++		char        **param_names;
++		char        **param_values;
++		char          release_id[256];
++		Mb4Metadata   metadata;
++
++		release = mb4_release_list_item (release_list, i);
++
++		/* query the full release info */
++
++		param_names = g_new (char *, 2);
++		param_values = g_new (char *, 2);
++		param_names[0] = g_strdup ("inc");
++		param_values[0] = g_strdup ("artists labels recordings release-groups url-rels discids artist-credits");
++		param_names[1] = NULL;
++		param_values[1] = NULL;
++		mb4_release_get_id (release, release_id, sizeof (release_id));
++
++		metadata = mb4_query_query (query, "release", release_id, "", 1, param_names, param_values);
++		if (metadata != NULL) {
++			Mb4Release    release_info;
++			Mb4MediumList medium_list;
++			int           n_medium;
++
++			release_info = mb4_metadata_get_release (metadata);
++			if (disc_id != NULL)
++				medium_list = mb4_release_media_matching_discid (release_info, disc_id);
++			else
++				medium_list = mb4_release_get_mediumlist (release_info);
++			for (n_medium = 0; n_medium <= mb4_medium_list_size (medium_list); n_medium++) {
++				Mb4Medium medium = mb4_medium_list_item (medium_list, n_medium);
++				albums = g_list_prepend (albums, get_album_info (release_info, medium));
++			}
++
++			if (disc_id != NULL)
++				mb4_medium_list_delete (medium_list);
++			mb4_metadata_delete (metadata);
++		}
++		else if (error != NULL) {
++			int   requested_size;
++			char *error_message;
+ 
+-	for (i = 0; i < n_albums; i++) {
+-		MbRelease release;
++			requested_size = mb4_query_get_lasterrormessage (query, error_message, 0);
++			error_message = g_new (char, requested_size + 1);
++			mb4_query_get_lasterrormessage (query, error_message, requested_size + 1);
++			*error = g_error_new (GOO_ERROR, GOO_ERROR_METADATA, "%s", error_message);
+ 
+-		release = mb_result_list_get_release (list, i);
+-		albums = g_list_prepend (albums, get_album_info (release));
+-	}
++			g_free (error_message);
+ 
+-	return g_list_reverse (albums);
+-}
+-
+-
+-static void
+-get_track_info_for_album_list (GList *albums)
+-{
+-	GList *scan;
+-
+-	for (scan = albums; scan; scan = scan->next) {
+-		AlbumInfo     *album = scan->data;
+-		MbTrackFilter  filter;
+-		GList         *tracks;
+-		MbQuery        query;
+-		MbResultList   list;
+-		int            i;
+-
+-		filter = mb_track_filter_new ();
+-		mb_track_filter_release_id (filter, album->id);
+-		query = mb_query_new (NULL, NULL);
+-		list = mb_query_get_tracks (query, filter);
+-
+-		tracks = NULL;
+-		for (i = 0; i < mb_result_list_get_size (list); i++) {
+-			MbTrack    mb_track;
+-			TrackInfo *track;
+-
+-			mb_track = mb_result_list_get_track (list, i);
+-			track = get_track_info (mb_track, i);
+-			if ((album->artist == NULL) && (track->artist != NULL))
+-				album_info_set_artist (album, track->artist, KEEP_PREVIOUS_VALUE);
+-			tracks = g_list_prepend (tracks, track);
+ 		}
+ 
+-		tracks = g_list_reverse (tracks);
+-		album_info_set_tracks (album, tracks);
+-
+-		mb_result_list_free (list);
+-		mb_query_free (query);
+-		mb_track_filter_free (filter);
++		g_strfreev (param_names);
++		g_strfreev (param_values);
+ 	}
++
++	return g_list_reverse (albums);
+ }
+ 
+ 
+@@ -332,22 +444,41 @@ get_album_info_from_disc_id_thread (GSimpleAsyncResult *result,
+ 				    GCancellable       *cancellable)
+ {
+ 	AlbumFromIDData *data;
+-	MbReleaseFilter  filter;
+-	MbQuery          query;
+-	MbResultList     list;
++	Mb4Query         query;
++	Mb4Metadata      metadata;
+ 
+ 	data = g_simple_async_result_get_op_res_gpointer (result);
+ 
+-	filter = mb_release_filter_new ();
+-	mb_release_filter_disc_id (filter, data->disc_id);
++	query = mb4_query_new (QUERY_AGENT, NULL, 0);
++	metadata = mb4_query_query (query, "discid", data->disc_id, "", 0, NULL, NULL);
++	if (metadata != NULL) {
++		Mb4Disc         disc;
++		Mb4ReleaseList  release_list;
++		GError         *error = NULL;
++
++		disc = mb4_metadata_get_disc (metadata);
++		release_list = mb4_disc_get_releaselist (disc);
++		data->albums = get_album_list (release_list, data->disc_id, query, &error);
++		if (error != NULL) {
++			g_simple_async_result_set_from_error (result, error);
++			g_clear_error (&error);
++		}
++
++		mb4_metadata_delete (metadata);
++	}
++	else {
++		int   requested_size;
++		char *error_message = NULL;
+ 
+-	query = mb_query_new (NULL, NULL);
+-	list = mb_query_get_releases (query, filter);
+-	data->albums = get_album_list (list);
++		requested_size = mb4_query_get_lasterrormessage (query, error_message, 0);
++		error_message = g_new (char, requested_size + 1);
++		mb4_query_get_lasterrormessage (query, error_message, requested_size + 1);
++		g_simple_async_result_set_error (result, GOO_ERROR, GOO_ERROR_METADATA, "%s", error_message);
+ 
+-	mb_result_list_free (list);
+-	mb_query_free (query);
+-	mb_release_filter_free (filter);
++		g_free (error_message);
++	}
++
++	mb4_query_delete (query);
+ }
+ 
+ 
+@@ -423,25 +554,54 @@ search_album_by_title_thread (GSimpleAsyncResult *result,
+ 			      GObject            *object,
+ 			      GCancellable       *cancellable)
+ {
+-	SearchByTitleData *data;
+-	MbReleaseFilter    filter;
+-	MbQuery            query;
+-	MbResultList       list;
++	SearchByTitleData  *data;
++	Mb4Query            query;
++	char              **param_names;
++	char              **param_values;
++	Mb4Metadata         metadata;
++	Mb4ReleaseList 	    release_list;
+ 
+ 	data = g_simple_async_result_get_op_res_gpointer (result);
++	query = mb4_query_new (PACKAGE_NAME, NULL, 0);
++
++	param_names = g_new (char *, 3);
++	param_values = g_new (char *, 3);
++
++	param_names[0] = g_strdup ("query");
++	param_values[0] = g_strdup_printf ("title:%s", data->title);
++	param_names[1] = g_strdup ("limit");
++	param_values[1] = g_strdup ("10");
++	param_names[2] = NULL;
++	param_values[2] = NULL;
++
++	metadata = mb4_query_query (query, "release", "", "", 2, param_names, param_values);
++	if (metadata != NULL) {
++		GError *error = NULL;
++
++		release_list = mb4_metadata_get_releaselist (metadata);
++		data->albums = get_album_list (release_list, NULL, query, &error);
++		if (error != NULL) {
++			g_simple_async_result_set_from_error (result, error);
++			g_clear_error (&error);
++		}
+ 
+-	filter = mb_release_filter_new ();
+-	mb_release_filter_title (filter, data->title);
++		mb4_metadata_delete (metadata);
++	}
++	else {
++		int   requested_size;
++		char *error_message = NULL;
+ 
+-	query = mb_query_new (NULL, NULL);
+-	list = mb_query_get_releases (query, filter);
++		requested_size = mb4_query_get_lasterrormessage (query, error_message, 0);
++		error_message = g_new (char, requested_size + 1);
++		mb4_query_get_lasterrormessage (query, error_message, requested_size + 1);
++		g_simple_async_result_set_error (result, GOO_ERROR, GOO_ERROR_METADATA, "%s", error_message);
+ 
+-	data->albums = get_album_list (list);
+-	get_track_info_for_album_list (data->albums);
++		g_free (error_message);
++	}
+ 
+-	mb_result_list_free (list);
+-	mb_query_free (query);
+-	mb_release_filter_free (filter);
++	g_strfreev (param_names);
++	g_strfreev (param_values);
++	mb4_query_delete (query);
+ }
+ 
+ 
+--
+cgit v0.9.0.2
diff -Nru goobox-3.0.1/debian/patches/goobox-mb5 goobox-3.0.1/debian/patches/goobox-mb5
--- goobox-3.0.1/debian/patches/goobox-mb5	1970-01-01 01:00:00.000000000 +0100
+++ goobox-3.0.1/debian/patches/goobox-mb5	2012-06-14 09:31:49.000000000 +0100
@@ -0,0 +1,654 @@
+Description: Port to libmusicbrainz5
+Author: Jon Dowland <j...@debian.org>
+
+--- goobox-3.0.1.orig/configure.ac
++++ goobox-3.0.1/configure.ac
+@@ -19,7 +19,7 @@ GLIB_REQUIRED=2.30
+ GTK_REQUIRED=3.2.0
+ GSTREAMER_REQUIRED=0.10.12
+ LIBNOTIFY_REQUIRED=0.4.3
+-LIBMUSICBRAINZ4_REQUIRED=4.0.0
++LIBMUSICBRAINZ5_REQUIRED=5.0.0
+ 
+ dnl ===========================================================================
+ 
+@@ -33,7 +33,7 @@ PKG_CHECK_MODULES(GOO, [
+ 	gtk+-3.0 >= $GTK_REQUIRED
+ 	gstreamer-0.10 >= $GSTREAMER_REQUIRED
+ 	libbrasero-media3
+-	libmusicbrainz4 >= $LIBMUSICBRAINZ4_REQUIRED
++	libmusicbrainz5 >= $LIBMUSICBRAINZ5_REQUIRED
+ 	libdiscid
+ ])
+ AC_SUBST(GOO_CFLAGS)
+--- /dev/null
++++ goobox-3.0.1/configure.ac.orig
+@@ -0,0 +1,205 @@
++AC_PREREQ(2.61)
++AC_INIT([goobox], [3.0.1], [http://bugzilla.gnome.org/enter_bug.cgi?product=goobox])
++AM_INIT_AUTOMAKE([1.11 foreign no-dist-gzip dist-xz tar-ustar])
++m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
++
++AC_CONFIG_SRCDIR([config.h.in])
++AC_CONFIG_HEADER([config.h])
++AC_CONFIG_MACRO_DIR([m4])
++
++GNOME_COMMON_INIT
++AC_PROG_CXX
++AM_PROG_LIBTOOL
++GNOME_DOC_INIT
++GNOME_COMPILE_WARNINGS([maximum])
++GNOME_MAINTAINER_MODE_DEFINES
++GLIB_GSETTINGS
++
++GLIB_REQUIRED=2.30
++GTK_REQUIRED=3.2.0
++GSTREAMER_REQUIRED=0.10.12
++LIBNOTIFY_REQUIRED=0.4.3
++LIBMUSICBRAINZ4_REQUIRED=4.0.0
++
++dnl ===========================================================================
++
++PKG_CHECK_MODULES(GTK, [gtk+-3.0 >= $GTK_REQUIRED])
++AC_SUBST([GTK_CFLAGS])
++AC_SUBST([GTK_LIBS])
++
++PKG_CHECK_MODULES(GOO, [
++	glib-2.0 >= $GLIB_REQUIRED
++	gthread-2.0
++	gtk+-3.0 >= $GTK_REQUIRED
++	gstreamer-0.10 >= $GSTREAMER_REQUIRED
++	libbrasero-media3
++	libmusicbrainz4 >= $LIBMUSICBRAINZ4_REQUIRED
++	libdiscid
++])
++AC_SUBST(GOO_CFLAGS)
++AC_SUBST(GOO_LIBS)
++
++dnl ===========================================================================
++
++AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal)
++AC_PATH_PROG(GLIB_MKENUMS, glib-mkenums)
++
++AC_ARG_ENABLE(run_in_place,
++	      AS_HELP_STRING([--enable-run-in-place],[load ui data and extensions from the source tree]),
++	      [case "${enableval}" in
++	      yes) enable_run_in_place=yes ;;
++	      no) enable_run_in_place=no ;;
++	      *) AC_MSG_ERROR([bad value ${enableval} for --enable-run-in-place]) ;;
++	      esac],
++	      [enable_run_in_place=no])
++AM_CONDITIONAL(RUN_IN_PLACE, test "x$enable_run_in_place" != xno)
++
++if test x$enable_run_in_place = xyes; then
++	AC_DEFINE(RUN_IN_PLACE, 1, [load ui data and extensions from the source tree])
++fi
++
++dnl ===========================================================================
++
++SAVE_CFLAGS="$CFLAGS"
++CFLAGS=""
++AC_CHECK_LIB(m, floor,, AC_MSG_ERROR([math library not found]))
++M_LIBS="-lm"
++CFLAGS="$SAVE_CFLAGS"
++unset SAVE_CFLAGS
++AC_SUBST(M_LIBS)
++
++dnl ===========================================================================
++dnl
++dnl libnotify
++dnl
++
++AC_ARG_ENABLE(notification,[AC_HELP_STRING([--enable-notification],[enable current track notification if libnotify is available [default=yes]])],, [enable_notification="yes"])
++AM_CONDITIONAL(ENABLE_NOTIFICATION, test "x$enable_notification" = xyes)
++
++LIBNOTIFY_LIBS=""
++LIBNOTIFY_CFLAGS=""
++if test x"$enable_notification" = xyes; then
++   AC_MSG_CHECKING(for notification support)
++
++   if pkg-config --atleast-version=$LIBNOTIFY_REQUIRED libnotify; then
++      LIBNOTIFY_LIBS=`pkg-config --libs libnotify`
++      LIBNOTIFY_CFLAGS=`pkg-config --cflags libnotify`
++      AC_DEFINE(ENABLE_NOTIFICATION, 1, [Have libnotify])
++   else
++      enable_notification=no
++   fi
++fi
++AC_MSG_RESULT($enable_notification)
++AC_SUBST(LIBNOTIFY_LIBS)
++AC_SUBST(LIBNOTIFY_CFLAGS)
++
++dnl ===========================================================================
++
++AC_ARG_ENABLE(media-keys,[AC_HELP_STRING([--enable-media-keys],[enable use of the keyboard media keys [default=yes]])],, [enable_media_keys="yes"])
++AM_CONDITIONAL(ENABLE_MEDIA_KEYS, test "x$enable_media_keys" = xyes)
++
++DBUS_LIBS=""
++DBUS_CFLAGS=""
++if test x"$enable_media_keys" = xyes; then
++   AC_DEFINE(ENABLE_MEDIA_KEYS, 1, [enable media keys support])
++fi
++AC_MSG_RESULT($enable_media_keys)
++
++dnl ===========================================================================
++
++SYSTEM_LIBS=""
++host=`uname -s`
++case "$host" in
++*FreeBSD*)
++	DEFAULT_DEVICE="/dev/acd0c"
++	AC_DEFINE(HAVE_BSD, 1, [Define to 1 if this is a BSD system])
++	SYSTEM_LIBS="-lcam"
++	;;
++*NetBSD*)
++	DEFAULT_DEVICE="/dev/rcd0d"
++	AC_DEFINE(HAVE_BSD, 1, [Define to 1 if this is a BSD system])
++	;;
++*Linux*)
++	DEFAULT_DEVICE="/dev/cdrom"
++	AC_DEFINE(HAVE_LINUX, 1, [Define to 1 if this is a Linux system])
++	;;
++*SunOS*)
++	DEFAULT_DEVICE="/vol/dev/aliases/cdrom0"
++	AC_DEFINE(HAVE_SOLARIS, 1, [Define to 1 if this is a Solaris system])
++	;;
++esac
++
++AC_DEFINE_UNQUOTED(DEFAULT_DEVICE, "$DEFAULT_DEVICE", [Default CD device])
++AC_SUBST(SYSTEM_LIBS)
++
++dnl ===========================================================================
++
++IT_PROG_INTLTOOL([0.35.0])
++GETTEXT_PACKAGE=goobox
++AC_SUBST([GETTEXT_PACKAGE])
++AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [GetText Package])
++AM_GLIB_GNU_GETTEXT
++
++if test "x${prefix}" = "xNONE"; then
++	AC_DEFINE_UNQUOTED(LOCALEDIR, "${ac_default_prefix}/${DATADIRNAME}/locale", [Locale directory])
++else
++	AC_DEFINE_UNQUOTED(LOCALEDIR, "${prefix}/${DATADIRNAME}/locale", [Locale directory])
++fi
++
++dnl ===========================================================================
++
++AC_ARG_ENABLE(deprecated,
++	      AS_HELP_STRING([--disable-deprecated], [do not use deprecated API]),
++	      disable_deprecated=yes,
++	      disable_deprecated=no)
++if test x$disable_deprecated = xyes; then
++	CFLAGS="$CFLAGS -DG_DISABLE_SINGLE_INCLUDES -DGDK_PIXBUF_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_SINGLE_INCLUDES"
++	CFLAGS="$CFLAGS -DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED"
++	CFLAGS="$CFLAGS -DGSEAL_ENABLE"
++fi
++
++dnl ===========================================================================
++
++AC_ARG_ENABLE(schemas-install,[AC_HELP_STRING([--disable-schemas-install],
++					      [Disable installation of the gconf schemas])])
++AM_CONDITIONAL(SCHEMAS_INSTALL, test x$enable_schemas_install != xno)
++
++AC_PATH_PROG(GCONFTOOL, gconftool-2, no)
++if test x"$GCONFTOOL" = xno; then
++	AC_MSG_ERROR([gconftool-2 executable not found in your path - should be installed with GConf])
++fi
++AM_GCONF_SOURCE_2
++
++dnl ===========================================================================
++
++AC_CONFIG_FILES([
++Makefile
++copy-n-paste/Makefile
++data/Makefile
++data/goobox.desktop.in
++data/ui/Makefile
++data/icons/Makefile
++data/icons/256x256/Makefile
++data/icons/256x256/apps/Makefile
++data/icons/48x48/Makefile
++data/icons/48x48/apps/Makefile
++help/Makefile
++src/Makefile
++src/icons/Makefile
++po/Makefile.in
++])
++
++AC_OUTPUT
++
++echo "
++
++Configuration:
++
++	Source code location : ${srcdir}
++	Compiler             : ${CC}
++	Prefix               : ${prefix}
++	CFLAGS		     : ${CFLAGS}
++	Run in place         : ${enable_run_in_place}
++	Enable notification  : ${enable_notification}
++	Enable media keys    : ${enable_media_keys}
++"
+--- goobox-3.0.1.orig/src/metadata.c
++++ goobox-3.0.1/src/metadata.c
+@@ -24,7 +24,7 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include <discid/discid.h>
+-#include <musicbrainz4/mb4_c.h>
++#include <musicbrainz5/mb5_c.h>
+ #include "album-info.h"
+ #include "glib-utils.h"
+ #include "goo-error.h"
+@@ -35,31 +35,31 @@
+ 
+ 
+ static TrackInfo *
+-get_track_info (Mb4Track mb_track,
++get_track_info (Mb5Track mb_track,
+ 		int      n_track)
+ {
+ 	TrackInfo         *track;
+-	Mb4Recording       recording;
++	Mb5Recording       recording;
+ 	int                required_size = 0;
+ 	char              *title = NULL;
+-	Mb4ArtistCredit    artist_credit;
+-	Mb4NameCreditList  name_credit_list;
++	Mb5ArtistCredit    artist_credit;
++	Mb5NameCreditList  name_credit_list;
+ 	int                i;
+ 
+ 	track = track_info_new (n_track, 0, 0);
+ 
+ 	/* title */
+ 
+-	recording = mb4_track_get_recording (mb_track);
++	recording = mb5_track_get_recording (mb_track);
+ 	if (recording != NULL) {
+-		required_size = mb4_recording_get_title (recording, title, 0);
++		required_size = mb5_recording_get_title (recording, title, 0);
+ 		title = g_new (char, required_size + 1);
+-		mb4_recording_get_title (recording, title, required_size + 1);
++		mb5_recording_get_title (recording, title, required_size + 1);
+ 	}
+ 	else {
+-		required_size = mb4_track_get_title (mb_track, title, 0);
++		required_size = mb5_track_get_title (mb_track, title, 0);
+ 		title = g_new (char, required_size + 1);
+-		mb4_track_get_title (mb_track, title, required_size + 1);
++		mb5_track_get_title (mb_track, title, required_size + 1);
+ 	}
+ 	track_info_set_title (track, title);
+ 	debug (DEBUG_INFO, "==> [MB] TRACK %d: %s\n", n_track, title);
+@@ -68,24 +68,24 @@ get_track_info (Mb4Track mb_track,
+ 
+ 	/* artist */
+ 
+-	artist_credit = mb4_track_get_artistcredit (mb_track);
+-	name_credit_list = mb4_artistcredit_get_namecreditlist (artist_credit);
+-	for (i = 0; i < mb4_namecredit_list_size (name_credit_list); i++) {
+-		Mb4NameCredit  name_credit = mb4_namecredit_list_item (name_credit_list, i);
+-		Mb4Artist      artist;
++	artist_credit = mb5_track_get_artistcredit (mb_track);
++	name_credit_list = mb5_artistcredit_get_namecreditlist (artist_credit);
++	for (i = 0; i < mb5_namecredit_list_size (name_credit_list); i++) {
++		Mb5NameCredit  name_credit = mb5_namecredit_list_item (name_credit_list, i);
++		Mb5Artist      artist;
+ 		char          *artist_name = NULL;
+ 		char          *artist_id = NULL;
+ 
+-		artist = mb4_namecredit_get_artist (name_credit);
++		artist = mb5_namecredit_get_artist (name_credit);
+ 
+-		required_size = mb4_artist_get_name (artist, artist_name, 0);
++		required_size = mb5_artist_get_name (artist, artist_name, 0);
+ 		artist_name = g_new (char, required_size + 1);
+-		mb4_artist_get_name (artist, artist_name, required_size + 1);
++		mb5_artist_get_name (artist, artist_name, required_size + 1);
+ 		debug (DEBUG_INFO, "==> [MB] ARTIST NAME: %s\n", artist_name);
+ 
+-		required_size = mb4_artist_get_id (artist, artist_id, 0);
++		required_size = mb5_artist_get_id (artist, artist_id, 0);
+ 		artist_id = g_new (char, required_size + 1);
+-		mb4_artist_get_id (artist, artist_id, required_size + 1);
++		mb5_artist_get_id (artist, artist_id, required_size + 1);
+ 		debug (DEBUG_INFO, "==> [MB] ARTIST ID: %s\n", artist_id);
+ 
+ 		track_info_set_artist (track, artist_name, artist_id);
+@@ -99,18 +99,18 @@ get_track_info (Mb4Track mb_track,
+ 
+ 
+ static AlbumInfo *
+-get_album_info (Mb4Release release,
+-		Mb4Medium  medium)
++get_album_info (Mb5Release release,
++		Mb5Medium  medium)
+ {
+ 	AlbumInfo         *album;
+ 	char              *value;
+ 	int                required_size;
+-	Mb4ReleaseGroup    release_group;
+-	Mb4ArtistCredit    artist_credit;
+-	Mb4NameCreditList  name_credit_list;
++	Mb5ReleaseGroup    release_group;
++	Mb5ArtistCredit    artist_credit;
++	Mb5NameCreditList  name_credit_list;
+ 	int                i;
+ 	GList             *tracks;
+-	Mb4TrackList       track_list;
++	Mb5TrackList       track_list;
+ 	int                n_track;
+ 
+ 	album = album_info_new ();
+@@ -118,9 +118,9 @@ get_album_info (Mb4Release release,
+ 	/* id */
+ 
+ 	value = NULL;
+-	required_size = mb4_release_get_id (release, value, 0);
++	required_size = mb5_release_get_id (release, value, 0);
+ 	value = g_new (char, required_size + 1);
+-	mb4_release_get_id (release, value, required_size + 1);
++	mb5_release_get_id (release, value, required_size + 1);
+ 	debug (DEBUG_INFO, "==> [MB] ALBUM_ID: %s\n", value);
+ 	album_info_set_id (album, value);
+ 	g_free (value);
+@@ -128,18 +128,18 @@ get_album_info (Mb4Release release,
+ 	/* title */
+ 
+ 	value = NULL;
+-	required_size = mb4_medium_get_title  (medium, value, 0);
++	required_size = mb5_medium_get_title  (medium, value, 0);
+ 	value = g_new (char, required_size + 1);
+-	mb4_medium_get_title  (medium, value, required_size + 1);
++	mb5_medium_get_title  (medium, value, required_size + 1);
+ 	debug (DEBUG_INFO, "==> [MB] MEDIUM NAME: %s\n", value);
+ 	album_info_set_title (album, value);
+ 	g_free (value);
+ 
+ 	if ((album->title == NULL) || (album->title[0] == 0)) {
+ 		value = NULL;
+-		required_size = mb4_release_get_title  (release, value, 0);
++		required_size = mb5_release_get_title  (release, value, 0);
+ 		value = g_new (char, required_size + 1);
+-		mb4_release_get_title  (release, value, required_size + 1);
++		mb5_release_get_title  (release, value, required_size + 1);
+ 		debug (DEBUG_INFO, "==> [MB] RELEASE NAME: %s\n", value);
+ 		album_info_set_title (album, value);
+ 		g_free (value);
+@@ -148,20 +148,20 @@ get_album_info (Mb4Release release,
+ 	/* asin */
+ 
+ 	value = NULL;
+-	required_size = mb4_release_get_asin (release, value, 0);
++	required_size = mb5_release_get_asin (release, value, 0);
+ 	value = g_new (char, required_size + 1);
+-	mb4_release_get_asin (release, value, required_size + 1);
++	mb5_release_get_asin (release, value, required_size + 1);
+ 	debug (DEBUG_INFO, "==> [MB] ASIN: %s\n", value);
+ 	album_info_set_asin (album, value);
+ 	g_free (value);
+ 
+ 	/* release date */
+ 
+-	release_group = mb4_release_get_releasegroup (release);
++	release_group = mb5_release_get_releasegroup (release);
+ 	value = NULL;
+-	required_size = mb4_releasegroup_get_firstreleasedate (release_group, value, 0);
++	required_size = mb5_releasegroup_get_firstreleasedate (release_group, value, 0);
+ 	value = g_new (char, required_size + 1);
+-	mb4_releasegroup_get_firstreleasedate (release_group, value, required_size + 1);
++	mb5_releasegroup_get_firstreleasedate (release_group, value, required_size + 1);
+ 	debug (DEBUG_INFO, "==> [MB] RELEASE DATE: %s\n", value);
+ 	if (value != NULL) {
+ 		int y = 0, m = 0, d = 0;
+@@ -178,24 +178,24 @@ get_album_info (Mb4Release release,
+ 
+ 	/* artist */
+ 
+-	artist_credit = mb4_release_get_artistcredit (release);
+-	name_credit_list = mb4_artistcredit_get_namecreditlist (artist_credit);
+-	for (i = 0; i < mb4_namecredit_list_size (name_credit_list); i++) {
+-		Mb4NameCredit  name_credit = mb4_namecredit_list_item (name_credit_list, i);
+-		Mb4Artist      artist;
++	artist_credit = mb5_release_get_artistcredit (release);
++	name_credit_list = mb5_artistcredit_get_namecreditlist (artist_credit);
++	for (i = 0; i < mb5_namecredit_list_size (name_credit_list); i++) {
++		Mb5NameCredit  name_credit = mb5_namecredit_list_item (name_credit_list, i);
++		Mb5Artist      artist;
+ 		char          *artist_name = NULL;
+ 		char          *artist_id = NULL;
+ 
+-		artist = mb4_namecredit_get_artist (name_credit);
++		artist = mb5_namecredit_get_artist (name_credit);
+ 
+-		required_size = mb4_artist_get_name (artist, artist_name, 0);
++		required_size = mb5_artist_get_name (artist, artist_name, 0);
+ 		artist_name = g_new (char, required_size + 1);
+-		mb4_artist_get_name (artist, artist_name, required_size + 1);
++		mb5_artist_get_name (artist, artist_name, required_size + 1);
+ 		debug (DEBUG_INFO, "==> [MB] ARTIST NAME: %s\n", artist_name);
+ 
+-		required_size = mb4_artist_get_id (artist, artist_id, 0);
++		required_size = mb5_artist_get_id (artist, artist_id, 0);
+ 		artist_id = g_new (char, required_size + 1);
+-		mb4_artist_get_id (artist, artist_id, required_size + 1);
++		mb5_artist_get_id (artist, artist_id, required_size + 1);
+ 		debug (DEBUG_INFO, "==> [MB] ARTIST ID: %s\n", artist_id);
+ 
+ 		album_info_set_artist (album, artist_name, artist_id);
+@@ -206,15 +206,15 @@ get_album_info (Mb4Release release,
+ 
+ 	/* tracks */
+ 
+-	track_list = mb4_medium_get_tracklist (medium);
++	track_list = mb5_medium_get_tracklist (medium);
+ 
+-	debug (DEBUG_INFO, "==> [MB] N TRACKS: %d\n", mb4_track_list_size (track_list));
++	debug (DEBUG_INFO, "==> [MB] N TRACKS: %d\n", mb5_track_list_size (track_list));
+ 
+ 	tracks = NULL;
+-	for (n_track = 0; n_track < mb4_track_list_size (track_list); n_track++) {
++	for (n_track = 0; n_track < mb5_track_list_size (track_list); n_track++) {
+ 		TrackInfo *track;
+ 
+-		track = get_track_info (mb4_track_list_item (track_list, n_track), n_track);
++		track = get_track_info (mb5_track_list_item (track_list, n_track), n_track);
+ 		if (album->artist == NULL)
+ 			album_info_set_artist (album, track->artist, KEEP_PREVIOUS_VALUE);
+ 		tracks = g_list_prepend (tracks, track);
+@@ -227,24 +227,24 @@ get_album_info (Mb4Release release,
+ 
+ 
+ static GList *
+-get_album_list (Mb4ReleaseList   release_list,
++get_album_list (Mb5ReleaseList   release_list,
+ 		const char      *disc_id,
+-		Mb4Query         query,
++		Mb5Query         query,
+ 		GError         **error)
+ {
+ 	GList *albums = NULL;
+ 	int    i;
+ 
+-	debug (DEBUG_INFO, "[MB] Num Albums: %d (Disc ID: %s)\n", mb4_release_list_size (release_list), disc_id);
++	debug (DEBUG_INFO, "[MB] Num Albums: %d (Disc ID: %s)\n", mb5_release_list_size (release_list), disc_id);
+ 
+-	for (i = 0; i < mb4_release_list_size (release_list); i++) {
+-		Mb4Release    release;
++	for (i = 0; i < mb5_release_list_size (release_list); i++) {
++		Mb5Release    release;
+ 		char        **param_names;
+ 		char        **param_values;
+ 		char          release_id[256];
+-		Mb4Metadata   metadata;
++		Mb5Metadata   metadata;
+ 
+-		release = mb4_release_list_item (release_list, i);
++		release = mb5_release_list_item (release_list, i);
+ 
+ 		/* query the full release info */
+ 
+@@ -254,35 +254,35 @@ get_album_list (Mb4ReleaseList   release
+ 		param_values[0] = g_strdup ("artists labels recordings release-groups url-rels discids artist-credits");
+ 		param_names[1] = NULL;
+ 		param_values[1] = NULL;
+-		mb4_release_get_id (release, release_id, sizeof (release_id));
++		mb5_release_get_id (release, release_id, sizeof (release_id));
+ 
+-		metadata = mb4_query_query (query, "release", release_id, "", 1, param_names, param_values);
++		metadata = mb5_query_query (query, "release", release_id, "", 1, param_names, param_values);
+ 		if (metadata != NULL) {
+-			Mb4Release    release_info;
+-			Mb4MediumList medium_list;
++			Mb5Release    release_info;
++			Mb5MediumList medium_list;
+ 			int           n_medium;
+ 
+-			release_info = mb4_metadata_get_release (metadata);
++			release_info = mb5_metadata_get_release (metadata);
+ 			if (disc_id != NULL)
+-				medium_list = mb4_release_media_matching_discid (release_info, disc_id);
++				medium_list = mb5_release_media_matching_discid (release_info, disc_id);
+ 			else
+-				medium_list = mb4_release_get_mediumlist (release_info);
+-			for (n_medium = 0; n_medium <= mb4_medium_list_size (medium_list); n_medium++) {
+-				Mb4Medium medium = mb4_medium_list_item (medium_list, n_medium);
++				medium_list = mb5_release_get_mediumlist (release_info);
++			for (n_medium = 0; n_medium <= mb5_medium_list_size (medium_list); n_medium++) {
++				Mb5Medium medium = mb5_medium_list_item (medium_list, n_medium);
+ 				albums = g_list_prepend (albums, get_album_info (release_info, medium));
+ 			}
+ 
+ 			if (disc_id != NULL)
+-				mb4_medium_list_delete (medium_list);
+-			mb4_metadata_delete (metadata);
++				mb5_medium_list_delete (medium_list);
++			mb5_metadata_delete (metadata);
+ 		}
+ 		else if (error != NULL) {
+ 			int   requested_size;
+ 			char *error_message;
+ 
+-			requested_size = mb4_query_get_lasterrormessage (query, error_message, 0);
++			requested_size = mb5_query_get_lasterrormessage (query, error_message, 0);
+ 			error_message = g_new (char, requested_size + 1);
+-			mb4_query_get_lasterrormessage (query, error_message, requested_size + 1);
++			mb5_query_get_lasterrormessage (query, error_message, requested_size + 1);
+ 			*error = g_error_new (GOO_ERROR, GOO_ERROR_METADATA, "%s", error_message);
+ 
+ 			g_free (error_message);
+@@ -444,41 +444,41 @@ get_album_info_from_disc_id_thread (GSim
+ 				    GCancellable       *cancellable)
+ {
+ 	AlbumFromIDData *data;
+-	Mb4Query         query;
+-	Mb4Metadata      metadata;
++	Mb5Query         query;
++	Mb5Metadata      metadata;
+ 
+ 	data = g_simple_async_result_get_op_res_gpointer (result);
+ 
+-	query = mb4_query_new (QUERY_AGENT, NULL, 0);
+-	metadata = mb4_query_query (query, "discid", data->disc_id, "", 0, NULL, NULL);
++	query = mb5_query_new (QUERY_AGENT, NULL, 0);
++	metadata = mb5_query_query (query, "discid", data->disc_id, "", 0, NULL, NULL);
+ 	if (metadata != NULL) {
+-		Mb4Disc         disc;
+-		Mb4ReleaseList  release_list;
++		Mb5Disc         disc;
++		Mb5ReleaseList  release_list;
+ 		GError         *error = NULL;
+ 
+-		disc = mb4_metadata_get_disc (metadata);
+-		release_list = mb4_disc_get_releaselist (disc);
++		disc = mb5_metadata_get_disc (metadata);
++		release_list = mb5_disc_get_releaselist (disc);
+ 		data->albums = get_album_list (release_list, data->disc_id, query, &error);
+ 		if (error != NULL) {
+ 			g_simple_async_result_set_from_error (result, error);
+ 			g_clear_error (&error);
+ 		}
+ 
+-		mb4_metadata_delete (metadata);
++		mb5_metadata_delete (metadata);
+ 	}
+ 	else {
+ 		int   requested_size;
+ 		char *error_message = NULL;
+ 
+-		requested_size = mb4_query_get_lasterrormessage (query, error_message, 0);
++		requested_size = mb5_query_get_lasterrormessage (query, error_message, 0);
+ 		error_message = g_new (char, requested_size + 1);
+-		mb4_query_get_lasterrormessage (query, error_message, requested_size + 1);
++		mb5_query_get_lasterrormessage (query, error_message, requested_size + 1);
+ 		g_simple_async_result_set_error (result, GOO_ERROR, GOO_ERROR_METADATA, "%s", error_message);
+ 
+ 		g_free (error_message);
+ 	}
+ 
+-	mb4_query_delete (query);
++	mb5_query_delete (query);
+ }
+ 
+ 
+@@ -555,14 +555,14 @@ search_album_by_title_thread (GSimpleAsy
+ 			      GCancellable       *cancellable)
+ {
+ 	SearchByTitleData  *data;
+-	Mb4Query            query;
++	Mb5Query            query;
+ 	char              **param_names;
+ 	char              **param_values;
+-	Mb4Metadata         metadata;
+-	Mb4ReleaseList 	    release_list;
++	Mb5Metadata         metadata;
++	Mb5ReleaseList 	    release_list;
+ 
+ 	data = g_simple_async_result_get_op_res_gpointer (result);
+-	query = mb4_query_new (PACKAGE_NAME, NULL, 0);
++	query = mb5_query_new (PACKAGE_NAME, NULL, 0);
+ 
+ 	param_names = g_new (char *, 3);
+ 	param_values = g_new (char *, 3);
+@@ -574,26 +574,26 @@ search_album_by_title_thread (GSimpleAsy
+ 	param_names[2] = NULL;
+ 	param_values[2] = NULL;
+ 
+-	metadata = mb4_query_query (query, "release", "", "", 2, param_names, param_values);
++	metadata = mb5_query_query (query, "release", "", "", 2, param_names, param_values);
+ 	if (metadata != NULL) {
+ 		GError *error = NULL;
+ 
+-		release_list = mb4_metadata_get_releaselist (metadata);
++		release_list = mb5_metadata_get_releaselist (metadata);
+ 		data->albums = get_album_list (release_list, NULL, query, &error);
+ 		if (error != NULL) {
+ 			g_simple_async_result_set_from_error (result, error);
+ 			g_clear_error (&error);
+ 		}
+ 
+-		mb4_metadata_delete (metadata);
++		mb5_metadata_delete (metadata);
+ 	}
+ 	else {
+ 		int   requested_size;
+ 		char *error_message = NULL;
+ 
+-		requested_size = mb4_query_get_lasterrormessage (query, error_message, 0);
++		requested_size = mb5_query_get_lasterrormessage (query, error_message, 0);
+ 		error_message = g_new (char, requested_size + 1);
+-		mb4_query_get_lasterrormessage (query, error_message, requested_size + 1);
++		mb5_query_get_lasterrormessage (query, error_message, requested_size + 1);
+ 		g_simple_async_result_set_error (result, GOO_ERROR, GOO_ERROR_METADATA, "%s", error_message);
+ 
+ 		g_free (error_message);
+@@ -601,7 +601,7 @@ search_album_by_title_thread (GSimpleAsy
+ 
+ 	g_strfreev (param_names);
+ 	g_strfreev (param_values);
+-	mb4_query_delete (query);
++	mb5_query_delete (query);
+ }
+ 
+ 
diff -Nru goobox-3.0.1/debian/patches/series goobox-3.0.1/debian/patches/series
--- goobox-3.0.1/debian/patches/series	2012-04-20 19:34:37.000000000 +0100
+++ goobox-3.0.1/debian/patches/series	2012-06-14 09:30:57.000000000 +0100
@@ -1,3 +1,5 @@
 add_galician.diff
 updated_sv.diff
 ease_notification_off.diff
+goobox-mb4.patch
+goobox-mb5
diff -Nru goobox-3.0.1/debian/rules goobox-3.0.1/debian/rules
--- goobox-3.0.1/debian/rules	2012-01-08 12:56:07.000000000 +0000
+++ goobox-3.0.1/debian/rules	2012-06-14 09:42:52.000000000 +0100
@@ -74,7 +74,7 @@
 	dh_testdir
 
 	# Configuring package
-	#-./autogen.sh
+	# -./autogen.sh
 ifneq "$(wildcard /usr/share/misc/config.sub)" ""
 	[ -f config.sub.upstream ] || mv config.sub config.sub.upstream
 	cp -f /usr/share/misc/config.sub config.sub
@@ -83,7 +83,9 @@
 	[ -f config.guess.upstream ] || mv config.guess config.guess.upstream
 	cp -f /usr/share/misc/config.guess config.guess
 endif
-	# autoreconf
+	[ -f configure.upstream ] || mv configure configure.upstream
+	[ -f aclocal.m4.upstream ] || mv aclocal.m4 aclocal.m4.upstream
+	autoreconf
 	CFLAGS="$(CFLAGS)" ./configure $(confflags) --prefix=/usr --mandir=\$${prefix}/share/man --sysconfdir=/etc --disable-scrollkeeper
 
 build: build-arch build-indep
@@ -112,6 +114,8 @@
 	mv -f ChangeLog.save ChangeLog
 	[ ! -f config.guess.upstream ] || mv -f config.guess.upstream config.guess
 	[ ! -f config.sub.upstream ] || mv -f config.sub.upstream config.sub
+	[ ! -f configure.upstream ] || mv -f configure.upstream configure
+	[ ! -f aclocal.m4.upstream ] || mv -f aclocal.m4.upstream aclocal.m4
 
 	dh_clean
 

Reply via email to