Bug#1069920: libtimezonemap: fixed-up port to libsoup3
Package: libtimezonemap
Version: 0.4.6-6
Severity: normal
Tags: patch
User: ubuntu-devel@lists.ubuntu.com
Usertags: origin-ubuntu noble ubuntu-patch
Dear maintainers,
Because webkit2gtk has now moved to libsoup3, and because we have
reverse-dependencies that require both libtimezonemap and webkit2gtk, I have
done the work in Ubuntu to fix up the port of libtimezonemap to libsoup3.
This has been confirmed to work in the timezone picker in oem-config as used
on our Ubuntu images for Raspberry Pi and has shipped in Ubuntu 24.04 LTS.
Please consider including this revised patch in Debian.
Thanks,
--
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
Ubuntu Developer https://www.debian.org/
slangasek@ubuntu.com vorlon@debian.org
diff -Nru libtimezonemap-0.4.6/debian/control libtimezonemap-0.4.6/debian/control
--- libtimezonemap-0.4.6/debian/control 2024-03-30 19:18:27.000000000 -0700
+++ libtimezonemap-0.4.6/debian/control 2024-04-08 16:33:09.000000000 -0700
@@ -19,7 +19,7 @@
libgtk-3-dev (>= 3.1.4),
libcairo2-dev (>= 1.10),
libjson-glib-dev,
- libsoup2.4-dev
+ libsoup-3.0-dev (>= 3.0.7)
Standards-Version: 4.6.2
Homepage: https://launchpad.net/timezonemap
Vcs-Browser: https://salsa.debian.org/cinnamon-team/libtimezonemap
diff -Nru libtimezonemap-0.4.6/debian/patches/port-to-libsoup3.patch libtimezonemap-0.4.6/debian/patches/port-to-libsoup3.patch
--- libtimezonemap-0.4.6/debian/patches/port-to-libsoup3.patch 2023-06-20 23:54:22.000000000 -0700
+++ libtimezonemap-0.4.6/debian/patches/port-to-libsoup3.patch 2024-04-08 16:31:23.000000000 -0700
@@ -5,11 +5,11 @@
Forwarded: not-yet
Last-Update: 2022-08-06
---
-diff --git a/configure.ac b/configure.ac
-index 3f74dae..4e90e64 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -50,13 +50,13 @@ GDK_REQUIRED_VERSION=2.22
+Index: libtimezonemap/configure.ac
+===================================================================
+--- libtimezonemap.orig/configure.ac
++++ libtimezonemap/configure.ac
+@@ -50,13 +50,13 @@
GLIB_REQUIRED_VERSION=2.26
GTK3_REQUIRED_VERSION=3.1.4
GIO_REQUIRED_VERSION=2.5.11
@@ -25,23 +25,24 @@
json-glib-1.0)
LIBTIMEZONEMAP_LIBS="$LIBTIMEZONEMAP_LIBS $LIBM"
-diff --git a/src/timezone-completion.c b/src/timezone-completion.c
-index d310235..6971ae9 100644
---- a/src/timezone-completion.c
-+++ b/src/timezone-completion.c
-@@ -271,8 +271,10 @@ geonames_data_ready (GObject *object, GAsyncResult *res, gpointer user_data)
+Index: libtimezonemap/src/timezone-completion.c
+===================================================================
+--- libtimezonemap.orig/src/timezone-completion.c
++++ libtimezonemap/src/timezone-completion.c
+@@ -270,9 +270,10 @@
+ CcTimezoneCompletionPrivate * priv = completion->priv;
GError * error = NULL;
GInputStream * stream;
- SoupMessage *message;
+- SoupMessage *message;
+ const gchar * reason_phrase;
+ SoupStatus status_code;
- stream = soup_request_send_finish (SOUP_REQUEST (object), res, &error);
-+ stream = soup_session_send_finish (SOUP_SESSION (object), res, &error);
++ stream = soup_session_send_finish (priv->soup_session, res, &error);
if (stream == NULL)
{
if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
-@@ -283,8 +285,9 @@ geonames_data_ready (GObject *object, GAsyncResult *res, gpointer user_data)
+@@ -283,8 +284,9 @@
return;
}
@@ -53,7 +54,7 @@
{
JsonParser *parser;
-@@ -296,7 +299,7 @@ geonames_data_ready (GObject *object, GAsyncResult *res, gpointer user_data)
+@@ -296,10 +298,10 @@
else
{
g_warning ("Unable to fetch geonames (server responded with: %u %s)",
@@ -61,8 +62,12 @@
+ status_code, reason_phrase);
}
- g_object_unref (message);
-@@ -362,7 +365,7 @@ static gboolean
+- g_object_unref (message);
++ g_object_unref (object);
+ g_object_unref (stream);
+ }
+
+@@ -362,7 +364,7 @@
request_zones (CcTimezoneCompletion * completion)
{
CcTimezoneCompletionPrivate * priv = completion->priv;
@@ -71,28 +76,17 @@
GError *error = NULL;
priv->queued_request = 0;
-@@ -388,13 +391,14 @@ request_zones (CcTimezoneCompletion * completion)
- gchar * version = get_version ();
- gchar * locale = get_locale ();
- gchar * url = g_strdup_printf (GEONAME_URL, escaped, version, locale);
-+ GAsyncResult * res;
+@@ -391,10 +393,11 @@
g_free (locale);
g_free (escaped);
- req = soup_session_request (priv->soup_session, url, &error);
-+ req = soup_message_new_from_uri (NULL, (GUri *) url);
++ req = soup_message_new (NULL, url);
if (req)
{
- soup_request_send_async (req, priv->cancel, geonames_data_ready, completion);
-+ soup_session_get_async_result_message (SOUP_SESSION (req), res);
++ soup_session_send_async (priv->soup_session, req, G_PRIORITY_DEFAULT,
++ priv->cancel, geonames_data_ready, completion);
g_object_unref (req);
}
else
-@@ -403,6 +407,7 @@ request_zones (CcTimezoneCompletion * completion)
- g_error_free (error);
- }
-
-+ g_free (res);
- g_free (url);
- return FALSE;
- }
diff -Nru libtimezonemap-0.4.6/debian/patches/series libtimezonemap-0.4.6/debian/patches/series
--- libtimezonemap-0.4.6/debian/patches/series 2023-06-20 23:54:22.000000000 -0700
+++ libtimezonemap-0.4.6/debian/patches/series 2024-04-08 14:26:38.000000000 -0700
@@ -1,3 +1,3 @@
+port-to-libsoup3.patch
tz-Include-UI-files-from-installed-path.patch
timezone-map-Never-try-to-access-to-free-d-or-null-values.patch
-#port-to-libsoup3.patch - need fixes, see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1037940
Reply to: