Accepting request 162499 from home:dimstar:branches:GNOME:Factory

Update to 0.21.0 - did not document the removal of the ugly hack in .spec - it was never officially there (and also never submitted like this to Factory)

OBS-URL: https://build.opensuse.org/request/show/162499
OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/telepathy-glib?expand=0&rev=145
This commit is contained in:
Dominique Leuenberger 2013-04-08 07:53:51 +00:00 committed by Git OBS Bridge
parent 8bc5d6808c
commit 56915a9b85
7 changed files with 33 additions and 395 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:01a0343f61fbd389fed9c819751aa75914150aa567472dcb480ced7f4ed261b6
size 3755290

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1f60e90477f50bf5f63b1cb01bbb6db7674faa46f21412790753aa92805bff0d
size 3782527

View File

@ -1,3 +1,32 @@
-------------------------------------------------------------------
Wed Apr 3 17:04:27 UTC 2013 - dimstar@opensuse.org
- Update to version 0.21.0:
+ Enhancements:
- Code-generation now copes with ${PYTHON} being set to
Python 3; Python 2 remains fully supported (fdo#56758).
- Add uri-schemes property on TpAccount, with
notify::uri-schemes emitted if using a recent AcountManager
like Mission Control 5.15 or later.
+ Fixes:
- Remove the pkg-config dependency from .pc files.
- In TpSimpleClientFactory, don't crash when ensuring a contact
for an obsolete connection manager without "immortal handles"
fails.
- Add missing (element-type) introspection annotations to
tp_capabilities_get_channel_classes, tp_asv_get_bytes and
tp_client_channel_factory_dup_channel_features (fdo#58851).
- Don't emit the NewChannels signal twice for the obsolete
ContactList GROUP channels (fdo#52011).
- Fix builds with Automake 1.13 (fdo#59604).
- Fix unit tests when running with glib >=2.36 (fdo#63069).
- Fix refcycle preventing TpConnection objects to be freed.
(fdo#63027).
- Drop upstream fixed patches:
+ tg-tests-simple-account-add-uri.patch.
+ tg-add-TpAccount-uri-schemes-property.patch.
+ tg-implement-change-notification-on-uri-schemes-property.patch.
-------------------------------------------------------------------
Fri Mar 1 12:46:56 UTC 2013 - dimstar@opensuse.org

View File

@ -17,19 +17,13 @@
Name: telepathy-glib
Version: 0.20.1
Version: 0.21.0
Release: 0
Summary: GObject-based library for the Telepathy D-Bus API
License: LGPL-2.1+
Group: Development/Languages/C and C++
Url: http://telepathy.freedesktop.org/
Source: http://telepathy.freedesktop.org/releases/telepathy-glib/%{name}-%{version}.tar.gz
# PATCH-FIX-UPSTREAM tg-tests-simple-account-add-uri.patch fdo#40393 zaitor@opensuse.org -- Changes made to sipaccounts does not appear.
Patch0: tg-tests-simple-account-add-uri.patch
# PATCH-FIX-UPSTREAM tg-add-TpAccount-uri-schemes-property.patch fdo#40393 zaitor@opensuse.org -- Changes made to sipaccounts does not appear.
Patch1: tg-add-TpAccount-uri-schemes-property.patch
# PATCH-FIX-UPSTREAM tg-implement-change-notification-on-uri-schemes-property.patch fdo#40393 zaitor@opensuse.org -- Changes made to sipaccounts does not appear.
Patch2: tg-implement-change-notification-on-uri-schemes-property.patch
BuildRequires: gtk-doc >= 1.17
BuildRequires: libxslt-devel
BuildRequires: python-xml
@ -88,23 +82,6 @@ Telepathy D-Bus API.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
if ! grep GLib.Object * -r -l; then
echo "Remove this hack.. it's fixed in the code base."
else
for file in $(grep GLib.Object * -r -l); do
sed -i "s:GLib.Object:GObject.Object:g" $file
done
fi
if ! grep GObject.Strv * -r -l; then
echo "Remove this hack.. it's fixed in the code base."
else
for file in $(grep GLib.Object * -r -l); do
sed -i "s:GObject.Strv:GStrv:g"
done
fi
%build
%configure --disable-static \

View File

@ -1,143 +0,0 @@
From 15b8eea5133e683ac14c79734dfbea6747af6e5f Mon Sep 17 00:00:00 2001
From: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Date: Mon, 07 Jan 2013 16:07:50 +0000
Subject: add TpAccount:uri-schemes: property
The property was missing for some reason.
---
diff --git a/telepathy-glib/account.c b/telepathy-glib/account.c
index 026ad46..c49699c 100644
--- a/telepathy-glib/account.c
+++ b/telepathy-glib/account.c
@@ -181,6 +181,7 @@ enum {
PROP_STORAGE_IDENTIFIER_VARIANT,
PROP_STORAGE_RESTRICTIONS,
PROP_SUPERSEDES,
+ PROP_URI_SCHEMES,
N_PROPS
};
@@ -1149,6 +1150,9 @@ _tp_account_get_property (GObject *object,
case PROP_SUPERSEDES:
g_value_set_boxed (value, self->priv->supersedes);
break;
+ case PROP_URI_SCHEMES:
+ g_value_set_boxed (value, self->priv->uri_schemes);
+ break;
case PROP_AUTOMATIC_PRESENCE_TYPE:
g_value_set_uint (value, self->priv->auto_presence);
break;
@@ -2030,6 +2034,29 @@ tp_account_class_init (TpAccountClass *klass)
G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
/**
+ * TpAccount:uri-schemes:
+ *
+ * If the %TP_ACCOUNT_FEATURE_ADDRESSING feature has been prepared
+ * successfully, a list of additional URI schemes for which this
+ * account should be used if possible. Otherwise %NULL.
+ *
+ * For instance, a SIP or Skype account might have "tel" in this list if the
+ * user would like to use that account to call phone numbers.
+ *
+ * This list should not contain the primary URI scheme(s) for the account's
+ * protocol (for instance, "xmpp" for XMPP, or "sip" or "sips" for SIP),
+ * since it should be assumed to be useful for those schemes in any case.
+ *
+ * Since: UNRELEASED
+ */
+ g_object_class_install_property (object_class, PROP_URI_SCHEMES,
+ g_param_spec_boxed ("uri-schemes",
+ "URISchemes",
+ "URISchemes",
+ G_TYPE_STRV,
+ G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
+
+ /**
* TpAccount::status-changed:
* @account: the #TpAccount
* @old_status: old #TpAccount:connection-status
@@ -4225,18 +4252,9 @@ tp_account_prepare_addressing_async (TpProxy *proxy,
* tp_account_get_uri_schemes:
* @self: a #TpAccount
*
- * If the %TP_ACCOUNT_FEATURE_ADDRESSING feature has been prepared
- * successfully, return a list of additional URI schemes for which this
- * account should be used if possible. Otherwise return %NULL.
- *
- * For instance, a SIP or Skype account might have "tel" in this list if the
- * user would like to use that account to call phone numbers.
- *
- * This list should not contain the primary URI scheme(s) for the account's
- * protocol (for instance, "xmpp" for XMPP, or "sip" or "sips" for SIP),
- * since it should be assumed to be useful for those schemes in any case.
+ * Return the #TpAccount:uri-schemes property
*
- * Returns: (transfer none): a list of URI schemes, or %NULL
+ * Returns: (transfer none): the value of #TpAccount:uri_schemes property
*
* Since: 0.13.8
*/
diff --git a/tests/dbus/account.c b/tests/dbus/account.c
index 3fb54b4..dc27ac1 100644
--- a/tests/dbus/account.c
+++ b/tests/dbus/account.c
@@ -614,11 +614,29 @@ test_storage (Test *test,
}
static void
+check_uri_schemes (const gchar * const * schemes)
+{
+ g_assert (schemes != NULL);
+ g_assert (tp_strv_contains (schemes, "about"));
+ g_assert (tp_strv_contains (schemes, "telnet"));
+ g_assert (schemes[2] == NULL);
+}
+
+static void
+notify_cb (GObject *object,
+ GParamSpec *spec,
+ Test *test)
+{
+ g_main_loop_quit (test->mainloop);
+}
+
+static void
test_addressing (Test *test,
gconstpointer mode)
{
GQuark account_features[] = { TP_ACCOUNT_FEATURE_ADDRESSING, 0 };
const gchar * const *schemes;
+ GStrv tmp;
test->account = tp_account_new (test->dbus, ACCOUNT_PATH, NULL);
g_assert (test->account != NULL);
@@ -645,10 +663,14 @@ test_addressing (Test *test,
g_main_loop_run (test->mainloop);
schemes = tp_account_get_uri_schemes (test->account);
- g_assert (schemes != NULL);
- g_assert (tp_strv_contains (schemes, "about"));
- g_assert (tp_strv_contains (schemes, "telnet"));
- g_assert (schemes[2] == NULL);
+ check_uri_schemes (schemes);
+
+ g_object_get (test->account,
+ "uri-schemes", &tmp,
+ NULL);
+
+ check_uri_schemes ((const gchar * const *) tmp);
+ g_strfreev (tmp);
g_assert (tp_account_associated_with_uri_scheme (test->account,
"about"));
@@ -656,7 +678,6 @@ test_addressing (Test *test,
"telnet"));
g_assert (!tp_account_associated_with_uri_scheme (test->account,
"xmpp"));
-
}
static void
--
cgit v0.9.0.2-2-gbebe

View File

@ -1,120 +0,0 @@
From 18dd2cc616621f796bf1d1987e55b51eedca00b8 Mon Sep 17 00:00:00 2001
From: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Date: Mon, 07 Jan 2013 16:29:45 +0000
Subject: TpAccount: implement change notification on uri-schemes property
---
diff --git a/telepathy-glib/account.c b/telepathy-glib/account.c
index c49699c..3b4d44f 100644
--- a/telepathy-glib/account.c
+++ b/telepathy-glib/account.c
@@ -1020,6 +1020,42 @@ _tp_account_got_all_cb (TpProxy *proxy,
}
static void
+addressing_props_changed (TpAccount *self,
+ GHashTable *changed_properties)
+{
+ const gchar * const * v;
+
+ if (self->priv->uri_schemes == NULL)
+ /* We did not fetch the initial value yet, ignoring */
+ return;
+
+ v = tp_asv_get_strv (changed_properties, "URISchemes");
+ if (v == NULL)
+ return;
+
+ g_strfreev (self->priv->uri_schemes);
+ self->priv->uri_schemes = g_strdupv ((GStrv) v);
+
+ g_object_notify (G_OBJECT (self), "uri-schemes");
+}
+
+static void
+dbus_properties_changed_cb (TpProxy *proxy,
+ const gchar *interface_name,
+ GHashTable *changed_properties,
+ const gchar **invalidated_properties,
+ gpointer user_data,
+ GObject *weak_object)
+{
+ TpAccount *self = TP_ACCOUNT (weak_object);
+
+ if (!tp_strdiff (interface_name, TP_IFACE_ACCOUNT_INTERFACE_ADDRESSING))
+ {
+ addressing_props_changed (self, changed_properties);
+ }
+}
+
+static void
_tp_account_constructed (GObject *object)
{
TpAccount *self = TP_ACCOUNT (object);
@@ -1059,6 +1095,9 @@ _tp_account_constructed (GObject *object)
tp_cli_account_connect_to_account_property_changed (self,
_tp_account_properties_changed, NULL, NULL, object, NULL);
+ tp_cli_dbus_properties_connect_to_properties_changed (self,
+ dbus_properties_changed_cb, NULL, NULL, object, NULL);
+
tp_cli_dbus_properties_call_get_all (self, -1, TP_IFACE_ACCOUNT,
_tp_account_got_all_cb, NULL, NULL, G_OBJECT (self));
}
@@ -2047,6 +2086,9 @@ tp_account_class_init (TpAccountClass *klass)
* protocol (for instance, "xmpp" for XMPP, or "sip" or "sips" for SIP),
* since it should be assumed to be useful for those schemes in any case.
*
+ * The notify::uri-schemes signal cannot be relied on if the Account Manager
+ * is Mission Control version 5.14.0 or older.
+ *
* Since: UNRELEASED
*/
g_object_class_install_property (object_class, PROP_URI_SCHEMES,
diff --git a/tests/dbus/account.c b/tests/dbus/account.c
index dc27ac1..b921f40 100644
--- a/tests/dbus/account.c
+++ b/tests/dbus/account.c
@@ -678,6 +678,15 @@ test_addressing (Test *test,
"telnet"));
g_assert (!tp_account_associated_with_uri_scheme (test->account,
"xmpp"));
+
+ g_signal_connect (test->account, "notify::uri-schemes",
+ G_CALLBACK (notify_cb), test);
+
+ tp_tests_simple_account_add_uri_scheme (test->account_service, "xmpp");
+ g_main_loop_run (test->mainloop);
+
+ g_assert (tp_account_associated_with_uri_scheme (test->account,
+ "xmpp"));
}
static void
diff --git a/tests/lib/simple-account.c b/tests/lib/simple-account.c
index 892e0e5..dc09120 100644
--- a/tests/lib/simple-account.c
+++ b/tests/lib/simple-account.c
@@ -603,5 +603,20 @@ void
tp_tests_simple_account_add_uri_scheme (TpTestsSimpleAccount *self,
const gchar *uri_scheme)
{
+ GHashTable *changed;
+ GStrv schemes;
+
g_ptr_array_add (self->priv->uri_schemes, g_strdup (uri_scheme));
+
+ g_object_get (self, "uri-schemes", &schemes, NULL);
+
+ changed = tp_asv_new (
+ "URISchemes", G_TYPE_STRV, schemes,
+ NULL);
+
+ tp_svc_dbus_properties_emit_properties_changed (self,
+ TP_IFACE_ACCOUNT_INTERFACE_ADDRESSING, changed, NULL);
+
+ g_strfreev (schemes);
+ g_hash_table_unref (changed);
}
--
cgit v0.9.0.2-2-gbebe

View File

@ -1,105 +0,0 @@
From 16578d4864f04d26c05c94dbd4c6035ba728d55c Mon Sep 17 00:00:00 2001
From: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Date: Mon, 07 Jan 2013 15:57:04 +0000
Subject: simple-account: add tp_tests_simple_account_add_uri_scheme()
---
diff --git a/tests/lib/simple-account.c b/tests/lib/simple-account.c
index 6279d75..892e0e5 100644
--- a/tests/lib/simple-account.c
+++ b/tests/lib/simple-account.c
@@ -80,6 +80,7 @@ struct _TpTestsSimpleAccountPrivate
gchar *presence_msg;
gchar *connection_path;
gboolean enabled;
+ GPtrArray *uri_schemes;
};
static void
@@ -122,10 +123,14 @@ account_iface_init (gpointer klass,
#undef IMPLEMENT
}
+/* you may have noticed this is not entirely realistic */
+static const gchar * const uri_schemes[] = { "about", "telnet", NULL };
static void
tp_tests_simple_account_init (TpTestsSimpleAccount *self)
{
+ guint i;
+
self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, TP_TESTS_TYPE_SIMPLE_ACCOUNT,
TpTestsSimpleAccountPrivate);
@@ -134,10 +139,11 @@ tp_tests_simple_account_init (TpTestsSimpleAccount *self)
self->priv->presence_msg = g_strdup ("this is my CurrentPresence");
self->priv->connection_path = g_strdup ("/");
self->priv->enabled = TRUE;
-}
-/* you may have noticed this is not entirely realistic */
-static const gchar * const uri_schemes[] = { "about", "telnet", NULL };
+ self->priv->uri_schemes = g_ptr_array_new_with_free_func (g_free);
+ for (i = 0; uri_schemes[i] != NULL; i++)
+ g_ptr_array_add (self->priv->uri_schemes, g_strdup (uri_schemes[i]));
+}
static void
tp_tests_simple_account_get_property (GObject *object,
@@ -231,7 +237,19 @@ tp_tests_simple_account_get_property (GObject *object,
TP_STORAGE_RESTRICTION_FLAG_CANNOT_SET_PARAMETERS);
break;
case PROP_URI_SCHEMES:
- g_value_set_boxed (value, uri_schemes);
+ {
+ GPtrArray *arr;
+ guint i;
+
+ arr = g_ptr_array_sized_new (self->priv->uri_schemes->len + 1);
+ for (i = 0; i < self->priv->uri_schemes->len; i++)
+ g_ptr_array_add (arr,
+ g_ptr_array_index (self->priv->uri_schemes, i));
+ g_ptr_array_add (arr, NULL);
+
+ g_value_set_boxed (value, arr->pdata);
+ g_ptr_array_unref (arr);
+ }
break;
case PROP_AVATAR:
{
@@ -274,6 +292,8 @@ tp_tests_simple_account_finalize (GObject *object)
g_free (self->priv->presence_msg);
g_free (self->priv->connection_path);
+ g_ptr_array_unref (self->priv->uri_schemes);
+
G_OBJECT_CLASS (tp_tests_simple_account_parent_class)->finalize (object);
}
@@ -578,3 +598,10 @@ tp_tests_simple_account_set_enabled (TpTestsSimpleAccount *self,
tp_svc_account_emit_account_property_changed (self, change);
g_hash_table_unref (change);
}
+
+void
+tp_tests_simple_account_add_uri_scheme (TpTestsSimpleAccount *self,
+ const gchar *uri_scheme)
+{
+ g_ptr_array_add (self->priv->uri_schemes, g_strdup (uri_scheme));
+}
diff --git a/tests/lib/simple-account.h b/tests/lib/simple-account.h
index 2ce3efd..b8547bd 100644
--- a/tests/lib/simple-account.h
+++ b/tests/lib/simple-account.h
@@ -64,6 +64,9 @@ void tp_tests_simple_account_removed (TpTestsSimpleAccount *self);
void tp_tests_simple_account_set_enabled (TpTestsSimpleAccount *self,
gboolean enabled);
+void tp_tests_simple_account_add_uri_scheme (TpTestsSimpleAccount *self,
+ const gchar * uri_scheme);
+
G_END_DECLS
#endif /* #ifndef __TP_TESTS_SIMPLE_ACCOUNT_H__ */
--
cgit v0.9.0.2-2-gbebe