[Pkg-bluetooth-maintainers] Bug#722038: gnome-phone-manager: FTBFS against evolution-data-server 3.8

Michael Biebl biebl at debian.org
Sat Sep 21 10:41:47 UTC 2013


tags 722038 + patch pending
thanks

Hi Nobuhiro,

I've prepared an upload based on the patch from [1] and uploaded an NMU
to DELAYED/3. The complete debdiff is attached.
Would be great if you can review the patch and integrate it in your next
upload.
If you want me to cancel the non-maintainer upload and make the upload
yourself, just let me know.

Cheers,
Michael


[1]
http://pkgs.fedoraproject.org/cgit/gnome-phone-manager.git/tree/gnome-phone-manager-0.68-eds.patch
-- 
Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?
-------------- next part --------------
diff -Nru gnome-phone-manager-0.69/debian/changelog gnome-phone-manager-0.69/debian/changelog
--- gnome-phone-manager-0.69/debian/changelog	2013-09-20 02:35:24.000000000 +0200
+++ gnome-phone-manager-0.69/debian/changelog	2013-09-21 12:33:48.000000000 +0200
@@ -1,3 +1,13 @@
+gnome-phone-manager (0.69-1.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * debian/patches/fix_554658.patch: Refresh patch.
+  * debian/patches/new_eds_build.patch: Fix FTBFS against newer versions of
+    evolution-data-server. (Closes: #722038)
+  * debian/control: Drop Build-Depends on libedataserverui-3.0-dev.
+
+ -- Michael Biebl <biebl at debian.org>  Sat, 21 Sep 2013 12:18:23 +0200
+
 gnome-phone-manager (0.69-1) unstable; urgency=low
 
   * Team upload.
diff -Nru gnome-phone-manager-0.69/debian/control gnome-phone-manager-0.69/debian/control
--- gnome-phone-manager-0.69/debian/control	2013-09-20 02:34:04.000000000 +0200
+++ gnome-phone-manager-0.69/debian/control	2013-09-21 12:08:40.000000000 +0200
@@ -17,8 +17,7 @@
  libgnome-bluetooth-dev (>= 3.4),
  libdbus-glib-1-dev,
  gnome-icon-theme (>= 2.19.1),
- libtelepathy-glib-dev,
- libedataserverui-3.0-dev
+ libtelepathy-glib-dev
 Homepage: http://live.gnome.org/PhoneManager
 Vcs-SVN: svn://anonscm.debian.org/pkg-bluetooth/packages/gnome-phone-manager/trunk
 Vcs-Browser: http://anonscm.debian.org/viewsvn/pkg-bluetooth/packages/gnome-phone-manager/trunk
diff -Nru gnome-phone-manager-0.69/debian/patches/fix_554658.patch gnome-phone-manager-0.69/debian/patches/fix_554658.patch
--- gnome-phone-manager-0.69/debian/patches/fix_554658.patch	2013-07-25 05:38:24.000000000 +0200
+++ gnome-phone-manager-0.69/debian/patches/fix_554658.patch	2013-09-21 12:13:49.000000000 +0200
@@ -4,9 +4,11 @@
 Bug-Debian: http://bugs.debian.org/554658
 Author: Matthias Klose <doko at ubuntu.com>
 
---- gnome-phone-manager-0.65.orig/telepathy/Makefile.in
-+++ gnome-phone-manager-0.65/telepathy/Makefile.in
-@@ -288,6 +288,7 @@
+Index: gnome-phone-manager-0.69/telepathy/Makefile.in
+===================================================================
+--- gnome-phone-manager-0.69.orig/telepathy/Makefile.in	2013-09-21 12:13:46.635711472 +0200
++++ gnome-phone-manager-0.69/telepathy/Makefile.in	2013-09-21 12:13:46.631711428 +0200
+@@ -343,6 +343,7 @@
  @HAVE_TELEPATHY_TRUE at telepathy_phoney_SOURCES = $(BACKEND_FILES)
  @HAVE_TELEPATHY_TRUE at telepathy_phoney_LDADD = \
  @HAVE_TELEPATHY_TRUE@	$(TELEPATHY_LIBS)		\
@@ -14,10 +16,10 @@
  @HAVE_TELEPATHY_TRUE@	../libgsm/libgsmwrap.la
  
  
-only in patch2:
-unchanged:
---- gnome-phone-manager-0.65.orig/telepathy/Makefile.am
-+++ gnome-phone-manager-0.65/telepathy/Makefile.am
+Index: gnome-phone-manager-0.69/telepathy/Makefile.am
+===================================================================
+--- gnome-phone-manager-0.69.orig/telepathy/Makefile.am	2013-09-21 12:13:46.635711472 +0200
++++ gnome-phone-manager-0.69/telepathy/Makefile.am	2013-09-21 12:13:46.635711472 +0200
 @@ -36,6 +36,7 @@
  
  telepathy_phoney_LDADD =		\
diff -Nru gnome-phone-manager-0.69/debian/patches/new_eds_build.patch gnome-phone-manager-0.69/debian/patches/new_eds_build.patch
--- gnome-phone-manager-0.69/debian/patches/new_eds_build.patch	1970-01-01 01:00:00.000000000 +0100
+++ gnome-phone-manager-0.69/debian/patches/new_eds_build.patch	2013-09-21 12:29:45.000000000 +0200
@@ -0,0 +1,402 @@
+Description: Fix FTBFS against newer versions of evolution-data-server
+ Patch based on http://pkgs.fedoraproject.org/cgit/gnome-phone-manager.git/tree/gnome-phone-manager-0.68-eds.patch
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=722038
+Index: gnome-phone-manager-0.69/cut-n-paste/e-contact-entry/e-contact-entry.c
+===================================================================
+--- gnome-phone-manager-0.69.orig/cut-n-paste/e-contact-entry/e-contact-entry.c	2013-09-21 12:14:00.919866629 +0200
++++ gnome-phone-manager-0.69/cut-n-paste/e-contact-entry/e-contact-entry.c	2013-09-21 12:14:00.915866586 +0200
+@@ -38,11 +38,6 @@
+ #include <glib.h>
+ #include <glib/gi18n.h>
+ 
+-#include <libedataserver/e-source.h>
+-#include <libebook/e-book.h>
+-#include <libebook/e-book-view.h>
+-#include <libebook/e-contact.h>
+-
+ #include "e-contact-entry.h"
+ #include "econtactentry-marshal.h"
+ 
+@@ -59,7 +54,7 @@
+ /* Properties */
+ enum {
+   PROP_0, /* TODO: why? */
+-  PROP_SOURCE_LIST,
++  PROP_REGISTRY,
+   PROP_COMPLETE_LENGTH,
+ };
+ 
+@@ -70,7 +65,7 @@
+ struct EContactEntryPriv {
+   GtkEntryCompletion *completion;
+   GtkListStore *store;
+-  ESourceList *source_list;
++  ESourceRegistry *registry;
+   /* A list of EntryLookup structs we are searching */
+   GList *lookup_entries;
+   /* Number of characters to start searching at */
+@@ -227,7 +222,7 @@
+   emails = e_contact_get (contact, E_CONTACT_EMAIL);
+   for (l = emails; l != NULL; l = l->next) {
+     item = g_new0 (EContactEntyItem, 1);
+-    item->identifier = item->identifier = g_strdup (l->data);
++    item->identifier = g_strdup (l->data);
+     item->display_string = g_strdup_printf ("%s <%s>", (char*)e_contact_get_const (contact, E_CONTACT_NAME_OR_ORG), item->identifier);
+ 
+     items = g_list_prepend (items, item);
+@@ -276,22 +271,13 @@
+       return;
+ 
+     photo = e_contact_get (contact, E_CONTACT_PHOTO);
+-#ifndef HAVE_ECONTACTPHOTOTYPE
+-    if (photo) {
+-#else
+     if (photo && photo->type == E_CONTACT_PHOTO_TYPE_INLINED) {
+-#endif
+       GdkPixbufLoader *loader;
+ 
+       loader = gdk_pixbuf_loader_new ();
+ 
+-#ifndef HAVE_ECONTACTPHOTOTYPE
+-      if (gdk_pixbuf_loader_write (loader, (guchar *)photo->data,
+-			      photo->length, NULL))
+-#else
+       if (gdk_pixbuf_loader_write (loader, (guchar *)photo->data.inlined.data,
+ 			      photo->data.inlined.length, NULL))
+-#endif
+         pixbuf = gdk_pixbuf_loader_get_pixbuf (loader);
+ 
+       if (pixbuf) {
+@@ -339,16 +325,15 @@
+  * The query on the EBookView has completed.
+  */
+ static void
+-view_completed_cb (EBookView *book_view, EBookViewStatus status, gpointer user_data)
++view_completed_cb (EBookView *book_view, EBookViewStatus status, const gchar *message, gpointer user_data)
+ {
+   EntryLookup *lookup;
+   g_return_if_fail (user_data != NULL);
+-  /* TODO: handle status != OK */
+-  g_return_if_fail (status == E_BOOK_ERROR_OK);
+   g_return_if_fail (book_view != NULL);
+ 
+   lookup = (EntryLookup*)user_data;
+   g_object_unref (lookup->bookview);
++  lookup->bookview = NULL;
+ }
+ 
+ /**
+@@ -373,8 +358,8 @@
+   lookup->bookview = book_view;
+   g_object_add_weak_pointer ((GObject*)book_view, (gpointer*)&lookup->bookview);
+   
+-  g_signal_connect (book_view, "contacts_added", (GCallback)view_contacts_added_cb, lookup);
+-  g_signal_connect (book_view, "sequence_complete", (GCallback)view_completed_cb, lookup);
++  g_signal_connect (book_view, "contacts-added", (GCallback)view_contacts_added_cb, lookup);
++  g_signal_connect (book_view, "view_complete", (GCallback)view_completed_cb, lookup);
+   
+   e_book_view_start (book_view);
+ }
+@@ -396,6 +381,7 @@
+       if (lookup->bookview) {
+         e_book_view_stop (lookup->bookview);
+         g_object_unref (lookup->bookview);
++        lookup->bookview = NULL;
+       }
+     }
+     
+@@ -410,7 +396,7 @@
+       if (!lookup->open)
+         continue;
+       
+-      if (e_book_async_get_book_view (lookup->book, query, NULL, 11, (EBookBookViewCallback)bookview_cb, lookup) != 0) {
++      if (e_book_async_get_book_view (lookup->book, query, NULL, MAX_ENTRIES, (EBookBookViewCallback)bookview_cb, lookup) == FALSE) {
+         g_signal_emit (entry, signals[ERROR], 0, _("Cannot create searchable view."));
+       }
+     }
+@@ -458,11 +444,12 @@
+  */
+ 
+ void
+-e_contact_entry_set_source_list (EContactEntry *entry,
+-    				  ESourceList *source_list)
++e_contact_entry_set_registry (EContactEntry *entry,
++    			      ESourceRegistry *registry)
+ {
++  GList *list, *link;
++  const gchar *extension_name;
+   GError *error = NULL;
+-  GSList *list, *l;
+ 
+   g_return_if_fail (E_IS_CONTACT_ENTRY (entry));
+ 
+@@ -471,58 +458,48 @@
+     g_list_foreach (entry->priv->lookup_entries, (GFunc)lookup_entry_free, NULL);
+     g_list_free (entry->priv->lookup_entries);
+   }
+-  if (entry->priv->source_list) {
+-    g_object_unref (entry->priv->source_list);
++  if (entry->priv->registry) {
++    g_object_unref (entry->priv->registry);
+   }
+ 
+   /* If we have no new sources, disable and return here */
+-  if (source_list == NULL) {
++  if (registry == NULL) {
+     g_signal_emit (entry, signals[STATE_CHANGE], 0, FALSE);
+-    entry->priv->source_list = NULL;
++    entry->priv->registry = NULL;
+     entry->priv->lookup_entries = NULL;
+     return;
+   }
+ 
+-  entry->priv->source_list = source_list;
+-  /* So that the list isn't going away underneath us */
+-  g_object_ref (entry->priv->source_list);
++  entry->priv->registry = registry;
++  /* So that the registry isn't going away underneath us */
++  g_object_ref (entry->priv->registry);
+ 
+-  /* That gets us a list of ESourceGroup */
+-  list = e_source_list_peek_groups (source_list);
+   entry->priv->lookup_entries = NULL;
+ 
+-  for (l = list; l != NULL; l = l->next) {
+-    ESourceGroup *group = l->data;
+-    GSList *sources = NULL, *m;
+-    /* That should give us a list of ESource */
+-    sources = e_source_group_peek_sources (group);
+-    for (m = sources; m != NULL; m = m->next) {
+-      ESource *source = m->data;
+-      ESource *s = e_source_copy (source);
+-      EntryLookup *lookup;
+-      char *uri;
++  extension_name = E_SOURCE_EXTENSION_ADDRESS_BOOK;
++  list = e_source_registry_list_sources (registry, extension_name);
+ 
+-      uri = g_strdup_printf("%s/%s", e_source_group_peek_base_uri (group), e_source_peek_relative_uri (source));
+-      e_source_set_absolute_uri (s, uri);
+-      g_free (uri);
+-
+-      /* Now add those to the lookup entries list */
+-      lookup = g_new0 (EntryLookup, 1);
+-      lookup->entry = entry;
+-      lookup->status = E_BOOK_ERROR_OK;
+-      lookup->open = FALSE;
++  for (link = list; link != NULL; link = g_list_next (link)) {
++    ESource *source = E_SOURCE (link->data);
++    EntryLookup *lookup;
+ 
+-      if ((lookup->book = e_book_new (s, &error)) == NULL) {
+-        /* TODO handle this better, fire the error signal I guess */
++    /* Now add those to the lookup entries list */
++    lookup = g_new0 (EntryLookup, 1);
++    lookup->entry = entry;
++    lookup->status = E_BOOK_ERROR_OK;
++    lookup->open = FALSE;
++
++    if ((lookup->book = e_book_new (source, &error)) == NULL) {
++      /* TODO handle this better, fire the error signal I guess */
++      if (error) {
+         g_warning ("%s", error->message);
+-	g_error_free (error);
+-	g_free (lookup);
+-      } else {
+-        entry->priv->lookup_entries = g_list_append (entry->priv->lookup_entries, lookup);
+-	e_book_async_open(lookup->book, TRUE, (EBookCallback)book_opened_cb, lookup);
++        g_error_free (error);
++        error = NULL;
+       }
+-
+-      g_object_unref (s);
++      g_free (lookup);
++    } else {
++      entry->priv->lookup_entries = g_list_append (entry->priv->lookup_entries, lookup);
++      e_book_async_open(lookup->book, TRUE, (EBookCallback)book_opened_cb, lookup);
+     }
+   }
+ 
+@@ -530,12 +507,12 @@
+     g_signal_emit (entry, signals[STATE_CHANGE], 0, FALSE);
+ }
+ 
+-ESourceList *
+-e_contact_entry_get_source_list (EContactEntry *entry)
++ESourceRegistry *
++e_contact_entry_get_registry (EContactEntry *entry)
+ {
+   g_return_val_if_fail (E_IS_CONTACT_ENTRY (entry), NULL);
+ 
+-  return entry->priv->source_list;
++  return entry->priv->registry;
+ }
+ 
+ void
+@@ -601,8 +578,8 @@
+   entry = E_CONTACT_ENTRY (object);
+   
+   switch (property_id) {
+-  case PROP_SOURCE_LIST:
+-    e_contact_entry_set_source_list (entry, g_value_get_object (value));
++  case PROP_REGISTRY:
++    e_contact_entry_set_registry (entry, g_value_get_object (value));
+     break;
+   case PROP_COMPLETE_LENGTH:
+     e_contact_entry_set_complete_length (entry, g_value_get_int (value));
+@@ -620,8 +597,8 @@
+   entry = E_CONTACT_ENTRY (object);
+   
+   switch (property_id) {
+-  case PROP_SOURCE_LIST:
+-    g_value_set_object (value, e_contact_entry_get_source_list (entry));
++  case PROP_REGISTRY:
++    g_value_set_object (value, e_contact_entry_get_registry (entry));
+     break;
+   case PROP_COMPLETE_LENGTH:
+     g_value_set_int (value, e_contact_entry_get_complete_length (entry));
+@@ -644,7 +621,7 @@
+     g_list_free (entry->priv->lookup_entries);
+     g_object_unref (entry->priv->completion);
+     g_object_unref (entry->priv->store);
+-    g_object_unref (entry->priv->source_list);
++    g_object_unref (entry->priv->registry);
+ 
+     if (entry->priv->display_destroy) {
+       entry->priv->display_destroy (entry->priv->display_func);
+@@ -657,7 +634,7 @@
+ static void
+ reset_search_fields (EContactEntry *entry)
+ {
+-  EContactField fields[] = { E_CONTACT_FULL_NAME, E_CONTACT_EMAIL, E_CONTACT_NICKNAME, E_CONTACT_ORG, 0 };
++  EContactField fields[] = { E_CONTACT_FULL_NAME, E_CONTACT_EMAIL, E_CONTACT_NICKNAME, 0 };
+ 
+   g_free (entry->priv->search_fields);
+   entry->priv->search_fields = g_new0 (EContactField, G_N_ELEMENTS (fields));
+@@ -716,9 +693,9 @@
+   object_class->finalize = e_contact_entry_finalize;
+ 
+   /* Properties */
+-  g_object_class_install_property (object_class, PROP_SOURCE_LIST,
+-                                   g_param_spec_object ("source-list", "Source List", "The source list to search for contacts.",
+-                                                        E_TYPE_SOURCE_LIST, G_PARAM_READWRITE));
++  g_object_class_install_property (object_class, PROP_REGISTRY,
++                                   g_param_spec_object ("registry", "Registry", "Data source registry.",
++                                                        E_TYPE_SOURCE_REGISTRY, G_PARAM_READWRITE));
+   
+   g_object_class_install_property (object_class, PROP_COMPLETE_LENGTH,
+                                    g_param_spec_int ("complete-length", "Complete length", "Number of characters to start a search on.",
+@@ -771,6 +748,7 @@
+   if (lookup->bookview) {
+     g_warning("EBookView still around");
+     g_object_unref (lookup->bookview);
++    lookup->bookview = NULL;
+   }
+   if (lookup->book) {
+     g_object_unref (lookup->book);
+Index: gnome-phone-manager-0.69/cut-n-paste/e-contact-entry/e-contact-entry.h
+===================================================================
+--- gnome-phone-manager-0.69.orig/cut-n-paste/e-contact-entry/e-contact-entry.h	2013-09-21 12:14:00.919866629 +0200
++++ gnome-phone-manager-0.69/cut-n-paste/e-contact-entry/e-contact-entry.h	2013-09-21 12:14:00.915866586 +0200
+@@ -23,10 +23,8 @@
+ #ifndef CONTACT_ENTRY_H
+ #define CONTACT_ENTRY_H
+ 
+-#include <libedataserver/e-source-group.h>
+-#include <libedataserver/e-source-list.h>
+-#include <libebook/e-contact.h>
+ #include <gtk/gtk.h>
++#include <libebook/libebook.h>
+ 
+ G_BEGIN_DECLS
+ 
+@@ -71,8 +69,8 @@
+ 
+ GtkWidget *e_contact_entry_new (void);
+ 
+-void e_contact_entry_set_source_list (EContactEntry *entry, ESourceList *list);
+-ESourceList *e_contact_entry_get_source_list (EContactEntry *entry);
++void e_contact_entry_set_registry (EContactEntry *entry, ESourceRegistry *registry);
++ESourceRegistry *e_contact_entry_get_registry (EContactEntry *entry);
+ 
+ void e_contact_entry_set_complete_length(EContactEntry *entry, int length);
+ int e_contact_entry_get_complete_length(EContactEntry *entry);
+Index: gnome-phone-manager-0.69/libgsm/phonemgr-utils.c
+===================================================================
+--- gnome-phone-manager-0.69.orig/libgsm/phonemgr-utils.c	2013-09-21 12:14:00.919866629 +0200
++++ gnome-phone-manager-0.69/libgsm/phonemgr-utils.c	2013-09-21 12:14:00.915866586 +0200
+@@ -27,7 +27,7 @@
+ #include <glib.h>
+ #include <glib/gstdio.h>
+ #include <glib-object.h>
+-#include <libebook/e-contact.h>
++#include <libebook/libebook.h>
+ #include <gnokii.h>
+ 
+ #include <bluetooth/bluetooth.h>
+Index: gnome-phone-manager-0.69/src/e-phone-entry.c
+===================================================================
+--- gnome-phone-manager-0.69.orig/src/e-phone-entry.c	2013-09-21 12:14:00.919866629 +0200
++++ gnome-phone-manager-0.69/src/e-phone-entry.c	2013-09-21 12:14:00.919866629 +0200
+@@ -31,8 +31,6 @@
+ 
+ #include <gtk/gtk.h>
+ #include <string.h>
+-#include <libedataserver/e-source-list.h>
+-#include <libedataserverui/e-client-utils.h>
+ #include "e-phone-entry.h"
+ 
+ #define CONTACT_FORMAT "%s (%s)"
+@@ -181,25 +179,25 @@
+ }
+ 
+ static void
+-add_sources (EContactEntry *entry)
+-{
+-	ESourceList *source_list;
+-
+-	if (e_client_utils_get_sources (&source_list,
+-					E_CLIENT_SOURCE_TYPE_CONTACTS,
+-					NULL)) {
+-		e_contact_entry_set_source_list (E_CONTACT_ENTRY (entry),
+-						 source_list);
+-		g_object_unref (source_list);
+-	}
+-}
+-
+-static void
+ e_phone_entry_init (EPhoneEntry *entry)
+ {
+ 	EContactField fields[] = { E_CONTACT_FULL_NAME, E_CONTACT_NICKNAME, E_CONTACT_ORG, E_CONTACT_PHONE_MOBILE, 0 };
++	ESourceRegistry *registry;
++	GError *error = NULL;
++
++	/* XXX This call blocks while a D-Bus connection is made, possibly
++	 *     requiring activation.  Might be better to create the registry
++	 *     in main(), pass it to ui_init(), and have e_phone_entry_new()
++	 *     take it as an argument.  Calling this from main() means if it
++	 *     fails you can abort cleanly with a console error message. */
++	registry = e_source_registry_new_sync (NULL, &error);
++	if (registry == NULL) {
++		g_error ("%s: %s", G_STRFUNC, error->message);
++		g_assert_not_reached ();
++	}
++	e_contact_entry_set_registry (E_CONTACT_ENTRY (entry), registry);
++	g_object_unref (registry);
+ 
+-	add_sources (E_CONTACT_ENTRY (entry));
+ 	e_contact_entry_set_search_fields (E_CONTACT_ENTRY (entry), (const EContactField *)fields);
+ 	e_contact_entry_set_display_func (E_CONTACT_ENTRY (entry), test_display_func, NULL, NULL);
+ 	g_signal_connect (G_OBJECT (entry), "contact_selected",
+Index: gnome-phone-manager-0.69/configure.in
+===================================================================
+--- gnome-phone-manager-0.69.orig/configure.in	2013-09-21 12:13:20.000000000 +0200
++++ gnome-phone-manager-0.69/configure.in	2013-09-21 12:15:18.140704414 +0200
+@@ -47,7 +47,7 @@
+ 
+ PKG_CHECK_MODULES(PHONEMGR, gtk+-3.0 >= 3.0 glib-2.0 >= 2.31.0
+ 	libcanberra-gtk3 gconf-2.0
+-	$GNOME_BLUETOOTH_REQS $evo_pc_file libedataserverui-3.0
++	$GNOME_BLUETOOTH_REQS $evo_pc_file
+ 	gmodule-2.0 dbus-glib-1 gnome-icon-theme >= 2.19.1
+ )
+ 
diff -Nru gnome-phone-manager-0.69/debian/patches/series gnome-phone-manager-0.69/debian/patches/series
--- gnome-phone-manager-0.69/debian/patches/series	2013-09-20 02:22:30.000000000 +0200
+++ gnome-phone-manager-0.69/debian/patches/series	2013-09-21 12:13:43.000000000 +0200
@@ -1 +1,2 @@
 fix_554658.patch
+new_eds_build.patch
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 901 bytes
Desc: OpenPGP digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-bluetooth-maintainers/attachments/20130921/7acc681a/attachment.sig>


More information about the Pkg-bluetooth-maintainers mailing list