Your message dated Thu, 01 Oct 2015 12:33:52 +0000
with message-id <e1zhd3z-0007qk...@franck.debian.org>
and subject line Bug#800474: fixed in evolution-data-server 3.16.5-2
has caused the Debian Bug report #800474,
regarding evolution-data-server: upgrade to libglib2.0-0 2.46.x gobject changes 
breaks libedataserver camel use
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
800474: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=800474
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: evolution-data-server
Version: 3.16.5-1wri1
Severity: grave
Tags: patch
Justification: renders package unusable

Dear Maintainer,

The attached patch fixes a problem that occurs when libglib2.0-0 is upgraded
from 2.44.1 to the current 2.46.0. After the upgrade, Evolution can no longer
contact any Exchange server via evolution-ews, and mh-mail directories cannot
be found because the configuration reverts to default.

The problem also appears to exist in EDS 3.17.90.

The problem occurs because e-source-camel.c used various hacks that depend on
pre-2.45.7 gobject code. Those hacks no longer work, ultimately causing various
evolution config entries to revert to default and ignore all attempts to
correct the issue.

The patch has already been submitted upstream, but you may wish to add it now
to fix the problem until the upstream patch reaches the Debian source, since
evolution is essentially broken without the patch.

*Note*: the 1wri1 versions listed below include the patch as a local
modification.  Actual version without the patch would be the same but without
the 'wri1' local increment.



-- System Information:
Debian Release: stretch/sid
  APT prefers unstable
  APT policy: (990, 'unstable'), (500, 'stable-updates'), (500, 'testing'),
(500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.1.0-2-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages evolution-data-server depends on:
ii  evolution-data-server-common  3.16.5-1wri1
ii  gnome-keyring                 3.16.0-4
ii  libc6                         2.19-22
ii  libcamel-1.2-52               3.16.5-1wri1
ii  libdb5.3                      5.3.28-11
ii  libebackend-1.2-10            3.16.5-1wri1
ii  libebook-1.2-16               3.16.5-1wri1
ii  libebook-contacts-1.2-1       3.16.5-1wri1
ii  libecal-1.2-18                3.16.5-1wri1
ii  libedata-book-1.2-25          3.16.5-1wri1
ii  libedata-cal-1.2-27           3.16.5-1wri1
ii  libedataserver-1.2-20         3.16.5-1wri1
ii  libgcr-base-3-1               3.16.0-1
ii  libgcr-ui-3-1                 3.16.0-1
ii  libgdata22                    0.17.3-1
ii  libglib2.0-0                  2.46.0-2
ii  libgoa-1.0-0b                 3.16.4-1
ii  libgtk-3-0                    3.16.6-1
ii  libgweather-3-6               3.18.0-1
ii  libical1a                     1.0.1-0.1
ii  libldap-2.4-2                 2.4.42+dfsg-2
ii  libpango-1.0-0                1.38.0-3
ii  libsecret-1-0                 0.18.3-1
ii  libsoup2.4-1                  2.52.0-1
ii  libxml2                       2.9.2+zdfsg1-4

evolution-data-server recommends no packages.

Versions of packages evolution-data-server suggests:
ii  evolution                  3.16.5-1
pn  evolution-data-server-dbg  <none>
diff --git a/libedataserver/e-source-camel.c b/libedataserver/e-source-camel.c
index b46f133..000e6b7 100644
--- a/libedataserver/e-source-camel.c
+++ b/libedataserver/e-source-camel.c
@@ -126,12 +126,7 @@ G_DEFINE_ABSTRACT_TYPE (
 	e_source_camel,
 	E_TYPE_SOURCE_EXTENSION)
 
-/* XXX A function like this belongs in GObject.  I may yet propose it,
- *     GParamSpecClass still has some reserved slots.  This fiddles with
- *     GParamSpec fields that are supposed to be private to GObject, but
- *     I have no other choice.
- *
- * XXX Historical note, originally I tried (ab)using override properties
+/* XXX Historical note, originally I tried (ab)using override properties
  *     in ESourceCamel, which redirected to the equivalent CamelSettings
  *     property.  Seemed to work at first, and I was proud of my clever
  *     hack, but it turns out g_object_class_list_properties() excludes
@@ -141,53 +136,157 @@ static GParamSpec *
 param_spec_clone (GParamSpec *pspec)
 {
 	GParamSpec *clone;
-	GTypeQuery query;
-
-	/* Query the instance size. */
-	g_type_query (G_PARAM_SPEC_TYPE (pspec), &query);
-
-	/* Start with a memcpy()'d buffer. */
-	clone = g_slice_alloc0 (query.instance_size);
-	memcpy (clone, pspec, query.instance_size);
-
-	/* This sort of mimics g_param_spec_init(). */
-
-#define PARAM_FLOATING_FLAG 0x2  /* from gparam.c */
-	g_datalist_set_flags (&clone->qdata, PARAM_FLOATING_FLAG);
-	clone->ref_count = 1;
-
-	/* Clear the owner_type. */
-	clone->owner_type = G_TYPE_INVALID;
-
-	/* Clear the param_id. */
-	clone->param_id = 0;
-
-	/* This sort of mimics g_param_spec_internal(). */
-
-	/* Param name should already be canonicalized and interned. */
-
-	/* Always copy the nickname. */
-	clone->flags &= ~G_PARAM_STATIC_NICK;
-	clone->_nick = g_strdup (g_param_spec_get_nick (pspec));
-
-	/* Always copy the blurb. */
-	clone->flags &= ~G_PARAM_STATIC_BLURB;
-	clone->_blurb = g_strdup (g_param_spec_get_blurb (pspec));
-
-	/* Handle special cases. */
-
-	if (G_IS_PARAM_SPEC_STRING (clone)) {
-		GParamSpecString *clone_s;
-
-		clone_s = (GParamSpecString *) clone;
-		clone_s->default_value = g_strdup (clone_s->default_value);
+	GParamFlags flags;
+	const gchar *name, *nick, *blurb;
+
+	name = g_param_spec_get_name (pspec);
+	nick = g_param_spec_get_nick (pspec);
+	blurb = g_param_spec_get_blurb (pspec);
+	flags = (pspec->flags & ~(G_PARAM_STATIC_STRINGS));
+
+	if (G_IS_PARAM_SPEC_BOOLEAN (pspec)) {
+		GParamSpecBoolean *pspec_boolean = G_PARAM_SPEC_BOOLEAN (pspec);
+
+		clone = g_param_spec_boolean (name, nick, blurb,
+			pspec_boolean->default_value,
+			flags);
+	} else if (G_IS_PARAM_SPEC_CHAR (pspec)) {
+		GParamSpecChar *pspec_char = G_PARAM_SPEC_CHAR (pspec);
+
+		clone = g_param_spec_char (name, nick, blurb,
+			pspec_char->minimum,
+			pspec_char->maximum,
+			pspec_char->default_value,
+			flags);
+	} else if (G_IS_PARAM_SPEC_UCHAR (pspec)) {
+		GParamSpecUChar *pspec_uchar = G_PARAM_SPEC_UCHAR (pspec);
+
+		clone = g_param_spec_uchar (name, nick, blurb,
+			pspec_uchar->minimum,
+			pspec_uchar->maximum,
+			pspec_uchar->default_value,
+			flags);
+	} else if (G_IS_PARAM_SPEC_INT (pspec)) {
+		GParamSpecInt *pspec_int = G_PARAM_SPEC_INT (pspec);
+
+		clone = g_param_spec_int (name, nick, blurb,
+			pspec_int->minimum,
+			pspec_int->maximum,
+			pspec_int->default_value,
+			flags);
+	} else if (G_IS_PARAM_SPEC_UINT (pspec)) {
+		GParamSpecUInt *pspec_uint = G_PARAM_SPEC_UINT (pspec);
+
+		clone = g_param_spec_uint (name, nick, blurb,
+			pspec_uint->minimum,
+			pspec_uint->maximum,
+			pspec_uint->default_value,
+			flags);
+	} else if (G_IS_PARAM_SPEC_LONG (pspec)) {
+		GParamSpecLong *pspec_long = G_PARAM_SPEC_LONG (pspec);
+
+		clone = g_param_spec_long (name, nick, blurb,
+			pspec_long->minimum,
+			pspec_long->maximum,
+			pspec_long->default_value,
+			flags);
+	} else if (G_IS_PARAM_SPEC_ULONG (pspec)) {
+		GParamSpecULong *pspec_ulong = G_PARAM_SPEC_ULONG (pspec);
+
+		clone = g_param_spec_ulong (name, nick, blurb,
+			pspec_ulong->minimum,
+			pspec_ulong->maximum,
+			pspec_ulong->default_value,
+			flags);
+	} else if (G_IS_PARAM_SPEC_INT64 (pspec)) {
+		GParamSpecInt64 *pspec_int64 = G_PARAM_SPEC_INT64 (pspec);
+
+		clone = g_param_spec_int64 (name, nick, blurb,
+			pspec_int64->minimum,
+			pspec_int64->maximum,
+			pspec_int64->default_value,
+			flags);
+	} else if (G_IS_PARAM_SPEC_UINT64 (pspec)) {
+		GParamSpecUInt64 *pspec_uint64 = G_PARAM_SPEC_UINT64 (pspec);
+
+		clone = g_param_spec_uint64 (name, nick, blurb,
+			pspec_uint64->minimum,
+			pspec_uint64->maximum,
+			pspec_uint64->default_value,
+			flags);
+	} else if (G_IS_PARAM_SPEC_FLOAT (pspec)) {
+		GParamSpecFloat *pspec_float = G_PARAM_SPEC_FLOAT (pspec);
+
+		clone = g_param_spec_float (name, nick, blurb,
+			pspec_float->minimum,
+			pspec_float->maximum,
+			pspec_float->default_value,
+			flags);
+	} else if (G_IS_PARAM_SPEC_DOUBLE (pspec)) {
+		GParamSpecDouble *pspec_double = G_PARAM_SPEC_DOUBLE (pspec);
+
+		clone = g_param_spec_double (name, nick, blurb,
+			pspec_double->minimum,
+			pspec_double->maximum,
+			pspec_double->default_value,
+			flags);
+	} else if (G_IS_PARAM_SPEC_ENUM (pspec)) {
+		GParamSpecEnum *pspec_enum = G_PARAM_SPEC_ENUM (pspec);
+
+		clone = g_param_spec_enum (name, nick, blurb,
+			pspec->value_type,
+			pspec_enum->default_value,
+			flags);
+	} else if (G_IS_PARAM_SPEC_FLAGS (pspec)) {
+		GParamSpecFlags *pspec_flags = G_PARAM_SPEC_FLAGS (pspec);
+
+		clone = g_param_spec_flags (name, nick, blurb,
+			pspec->value_type,
+			pspec_flags->default_value,
+			flags);
+	} else if (G_IS_PARAM_SPEC_STRING (pspec)) {
+		GParamSpecString *pspec_string = G_PARAM_SPEC_STRING (pspec);
+
+		clone = g_param_spec_string (name, nick, blurb,
+			pspec_string->default_value,
+			flags);
+	} else if (G_IS_PARAM_SPEC_PARAM (pspec)) {
+		clone = g_param_spec_param (name, nick, blurb,
+			pspec->value_type,
+			flags);
+	} else if (G_IS_PARAM_SPEC_BOXED (pspec)) {
+		clone = g_param_spec_boxed (name, nick, blurb,
+			pspec->value_type,
+			flags);
+	} else if (G_IS_PARAM_SPEC_POINTER (pspec)) {
+		clone = g_param_spec_pointer (name, nick, blurb, flags);
+	} else if (G_IS_PARAM_SPEC_OBJECT (pspec)) {
+		clone = g_param_spec_object (name, nick, blurb,
+			pspec->value_type,
+			flags);
+	} else if (G_IS_PARAM_SPEC_UNICHAR (pspec)) {
+		GParamSpecUnichar *pspec_unichar = G_PARAM_SPEC_UNICHAR (pspec);
+
+		clone = g_param_spec_unichar (name, nick, blurb,
+			pspec_unichar->default_value,
+			flags);
+	} else if (G_IS_PARAM_SPEC_GTYPE (pspec)) {
+		GParamSpecGType *pspec_gtype = G_PARAM_SPEC_GTYPE (pspec);
+
+		clone = g_param_spec_gtype (name, nick, blurb,
+			pspec_gtype->is_a_type,
+			flags);
+	} else if (G_IS_PARAM_SPEC_VARIANT (pspec)) {
+		GParamSpecVariant *pspec_variant = G_PARAM_SPEC_VARIANT (pspec);
+
+		clone = g_param_spec_variant (name, nick, blurb,
+			pspec_variant->type,
+			pspec_variant->default_value,
+			flags);
+	} else {
+		g_warn_if_reached ();
 	}
 
-	/* Some types we don't handle but shouldn't need to. */
-	g_warn_if_fail (!G_IS_PARAM_SPEC_VALUE_ARRAY (clone));
-	g_warn_if_fail (!G_IS_PARAM_SPEC_OVERRIDE (clone));
-	g_warn_if_fail (!G_IS_PARAM_SPEC_VARIANT (clone));
-
 	return clone;
 }
 

--- End Message ---
--- Begin Message ---
Source: evolution-data-server
Source-Version: 3.16.5-2

We believe that the bug you reported is fixed in the latest version of
evolution-data-server, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 800...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Iain Lane <la...@debian.org> (supplier of updated evolution-data-server package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Thu, 01 Oct 2015 13:09:40 +0100
Source: evolution-data-server
Binary: evolution-data-server evolution-data-server-common 
evolution-data-server-dev evolution-data-server-dbg evolution-data-server-doc 
libedataserver-1.2-20 libedataserver1.2-dev gir1.2-edataserver-1.2 
libedataserverui-1.2-1 libedataserverui1.2-dev libcamel-1.2-52 libcamel1.2-dev 
libebook-1.2-16 libebook1.2-dev gir1.2-ebook-1.2 libedata-book-1.2-25 
libedata-book1.2-dev gir1.2-ebookcontacts-1.2 libebook-contacts-1.2-1 
libebook-contacts1.2-dev libecal-1.2-18 libecal1.2-dev libedata-cal-1.2-27 
libedata-cal1.2-dev libebackend-1.2-10 libebackend1.2-dev
Architecture: source
Version: 3.16.5-2
Distribution: unstable
Urgency: medium
Maintainer: Debian Evolution Maintainers 
<pkg-evolution-maintainers@lists.alioth.debian.org>
Changed-By: Iain Lane <la...@debian.org>
Description:
 evolution-data-server - evolution database backend server
 evolution-data-server-common - architecture independent files for Evolution 
Data Server
 evolution-data-server-dbg - evolution database backend server with debugging 
symbols
 evolution-data-server-dev - Development files for evolution-data-server 
(metapackage)
 evolution-data-server-doc - Documentation files for the Evolution Data Server 
libraries
 gir1.2-ebook-1.2 - GObject introspection for the EBook library
 gir1.2-ebookcontacts-1.2 - GObject introspection for the EBook Contacts library
 gir1.2-edataserver-1.2 - GObject introspection for the EDataServer library
 libcamel-1.2-52 - Evolution MIME message handling library
 libcamel1.2-dev - Development files for libcamel
 libebackend-1.2-10 - Utility library for evolution data servers
 libebackend1.2-dev - Utility library for evolution data servers (development 
files)
 libebook-1.2-16 - Client library for evolution address books
 libebook-contacts-1.2-1 - Client library for evolution contacts books
 libebook-contacts1.2-dev - Client library for evolution contacts books 
(development files)
 libebook1.2-dev - Client library for evolution address books (development 
files)
 libecal-1.2-18 - Client library for evolution calendars
 libecal1.2-dev - Client library for evolution calendars (development files)
 libedata-book-1.2-25 - Backend library for evolution address books
 libedata-book1.2-dev - Backend library for evolution address books 
(development files)
 libedata-cal-1.2-27 - Backend library for evolution calendars
 libedata-cal1.2-dev - Backend library for evolution calendars (development 
files)
 libedataserver-1.2-20 - Utility library for evolution data servers
 libedataserver1.2-dev - Utility library for evolution data servers 
(development files)
 libedataserverui-1.2-1 - Utility library for evolution data servers
 libedataserverui1.2-dev - Utility library for evolution data servers 
(development files)
Closes: 800474
Changes:
 evolution-data-server (3.16.5-2) unstable; urgency=medium
 .
   * Cherry-pick some patches which were applied upstream
     - d/p/0001-Bug-755075-Recent-glib-2.45.8-change-breaks-account-.patch: Fix
       account settings with new glib (≥ 2.45.8) (Closes: #800474)
     - d/p/0001-source_registry_server_process_file_monitor_event-Co.patch: Fix
       an invalid unref which can lead to a crash at worst and runtime warnings
       at best.
Checksums-Sha1:
 592684618eb8a0c8c47a85ac2c77dbdd3c2e28fb 5090 
evolution-data-server_3.16.5-2.dsc
 146c10eab99948cecee0c4f9eaa4e15af4b60144 45872 
evolution-data-server_3.16.5-2.debian.tar.xz
Checksums-Sha256:
 c530a78e828bf300194a7a2e6fb3c587d59b19cda4988e584da3040d1b3d78b3 5090 
evolution-data-server_3.16.5-2.dsc
 8925be192fb739b2bbcb2f57da82077c922c3111dfccdae180fcfdbcb8f6ffc5 45872 
evolution-data-server_3.16.5-2.debian.tar.xz
Files:
 d9563bb074d631c148d01e4a40b52d8d 5090 gnome optional 
evolution-data-server_3.16.5-2.dsc
 abe7b8f90eafbbe0dc1d0d92bb3f63fe 45872 gnome optional 
evolution-data-server_3.16.5-2.debian.tar.xz

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAEBCgAGBQJWDSXIAAoJEONS1cUcUEHUTz0P/3jBjuMR3B9Le/qOwFLFdc2d
TC53JgCEbJRLX34ntgYbq0WwkJbEX0kg1ervNfkiRdXmL8+ZLII91KLAhTrRQAOY
Pjtp4QfokyWppJZLXhgcRfRvpqdxPAOGNC2tN5Pes71yDC1OdbRxEmV+mPJ0uZxK
sQWMyLzBpraxwVJvjcj0P8I9Ngu9ceGrxJqsabrGAR/Dx78YjrbM1lF17oQ2NjeK
rBuU5NQu1xw9ZbMu+vNqYTNskbnW26IoBtNCj2PmmaK5YedAIFJuppBahHFcgE+a
onLxKFmlcuCKwG0XwGYQRVVj9e6DDvfcDI+9kgA6aOivaL7LJD0Q4c5kPl9edkbf
ArAVy2M8V4y7Mt/PBH2g/ymAnJM+xG8GCi6x1TUXPYbK+L0v5ibtJwieN1DnZCcy
byW8xMJ4alfcwnyef4xChdrAVDpucpOStJpK+9ljJRKEqE0Uwal9pgoOGbPK1rEf
it6lVHVtm8GnjBJTshQze2mvOyGlHfwIJZVhqlaZQYa0o+wsV8aq4i+nn6KA0GuZ
QFkGDa9x6r7QMQ2Mo5QRagLZTwx9kIQxGGvZNZ8xvk00hqR8a1ej8gGwfS93CoDL
S9+U0jQz9UIE7p8apnX+B6gEN90iXxrG2XlyvnMdWuM7hpGNlM2fD+sIlmYKBkxv
X0IBFiEexLPnlSebj9hn
=Ju5h
-----END PGP SIGNATURE-----

--- End Message ---
_______________________________________________
Pkg-evolution-maintainers mailing list
Pkg-evolution-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-evolution-maintainers

Reply via email to