tags 677246 + patch tags 677246 + pending thanks Here's the NMU patch - I uploaded just a moment ago.
Thanks - I'll keep an eye on things for the time being.
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-26 22:09:02.000000000 +0100 @@ -1,3 +1,12 @@ +goobox (3.0.1-1.1) unstable; urgency=low + + * Non-maintainer upload. + * Update to use libmusicbrainz5. Rework packaging to preserve + upstream configure and aclocal.m4 files during build process. + Closes: #677246. + + -- Jon Dowland <j...@debian.org> Tue, 26 Jun 2012 20:42:47 +0100 + goobox (3.0.1-1) unstable; urgency=low * New upstream release diff -Nru goobox-3.0.1/debian/control goobox-3.0.1/debian/control --- goobox-3.0.1/debian/control 2012-03-04 10:21:12.000000000 +0000 +++ goobox-3.0.1/debian/control 2012-06-26 22:09:02.000000000 +0100 @@ -5,7 +5,7 @@ Build-Depends: debhelper (>= 7), autotools-dev, docbook-to-man, gnome-doc-utils, intltool, libgconf2-dev, libgstreamer0.10-dev, libgtk-3-dev (>= 3.2), libcam-dev [kfreebsd-any], - libmusicbrainz3-dev, libnotify-dev (>= 0.7), po4a, libbrasero-media3-dev, + libmusicbrainz5-dev, libnotify-dev (>= 0.7), po4a, libbrasero-media3-dev, recode, docbook-xml, libdiscid0-dev, libneon27-dev, dpkg-dev (>= 1.16.1) Standards-Version: 3.9.3 Homepage: http://www.gnome.org/~paobac/goobox/ diff -Nru goobox-3.0.1/debian/patches/goobox-mb4.diff goobox-3.0.1/debian/patches/goobox-mb4.diff --- goobox-3.0.1/debian/patches/goobox-mb4.diff 1970-01-01 01:00:00.000000000 +0100 +++ goobox-3.0.1/debian/patches/goobox-mb4.diff 2012-06-26 22:09:02.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.diff goobox-3.0.1/debian/patches/goobox-mb5.diff --- goobox-3.0.1/debian/patches/goobox-mb5.diff 1970-01-01 01:00:00.000000000 +0100 +++ goobox-3.0.1/debian/patches/goobox-mb5.diff 2012-06-26 22:15:17.000000000 +0100 @@ -0,0 +1,446 @@ +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) +--- 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-26 22:15:02.000000000 +0100 @@ -1,3 +1,5 @@ add_galician.diff updated_sv.diff ease_notification_off.diff +goobox-mb4.diff +goobox-mb5.diff 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-26 22:16:22.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,24 @@ [ -f config.guess.upstream ] || mv config.guess config.guess.upstream cp -f /usr/share/misc/config.guess config.guess endif - # autoreconf + # preserve upstream files that autoreconf will alter + for i in Makefile.in \ + copy-n-paste/Makefile.in \ + data/Makefile.in \ + data/icons/256x256/Makefile.in \ + data/icons/256x256/apps/Makefile.in \ + data/icons/48x48/Makefile.in \ + data/icons/48x48/apps/Makefile.in \ + data/icons/Makefile.in \ + data/ui/Makefile.in \ + help/Makefile.in \ + src/Makefile.in \ + src/icons/Makefile.in \ + configure \ + aclocal.m4; do \ + [ -f "$$i.upstream" ] || mv "$$i" "$$i.upstream"; \ + done + autoreconf CFLAGS="$(CFLAGS)" ./configure $(confflags) --prefix=/usr --mandir=\$${prefix}/share/man --sysconfdir=/etc --disable-scrollkeeper build: build-arch build-indep @@ -112,6 +129,23 @@ 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 + # restore upstream files that autoreconf altered + for i in Makefile.in \ + copy-n-paste/Makefile.in \ + data/Makefile.in \ + data/icons/256x256/Makefile.in \ + data/icons/256x256/apps/Makefile.in \ + data/icons/48x48/Makefile.in \ + data/icons/48x48/apps/Makefile.in \ + data/icons/Makefile.in \ + data/ui/Makefile.in \ + help/Makefile.in \ + src/Makefile.in \ + src/icons/Makefile.in \ + configure \ + aclocal.m4; do \ + [ ! -f "$$i".upstream ] || mv -f "$$i.upstream" "$$i"; \ + done dh_clean