[NetworkManager/f13/master] Fix for older glib versions

Daniel Williams dcbw at fedoraproject.org
Thu Mar 3 09:22:21 UTC 2011


commit 6ff52a83bb7cf324769e0b78fb8ffd7cdff94193
Author: Dan Williams <dcbw at redhat.com>
Date:   Thu Mar 3 01:21:49 2011 -0600

    Fix for older glib versions

 NetworkManager.spec   |    2 ++
 fix-glib-compat.patch |   43 +++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 45 insertions(+), 0 deletions(-)
---
diff --git a/NetworkManager.spec b/NetworkManager.spec
index 0353f77..e0e7b9c 100644
--- a/NetworkManager.spec
+++ b/NetworkManager.spec
@@ -31,6 +31,7 @@ Source2: NetworkManager.conf
 Patch1: nm-applet-internal-buildfixes.patch
 Patch2: explain-dns1-dns2.patch
 Patch3: nm-applet-no-notifications.patch
+Patch4: fix-glib-compat.patch
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 Requires(post): chkconfig
@@ -161,6 +162,7 @@ tar -xjf %{SOURCE1}
 %patch1 -p1 -b .buildfix
 %patch2 -p1 -b .explain-dns1-dns2
 %patch3 -p1 -b .no-notifications
+%patch4 -p1 -b .fix-glib-compat
 
 %build
 
diff --git a/fix-glib-compat.patch b/fix-glib-compat.patch
new file mode 100644
index 0000000..cd15cb5
--- /dev/null
+++ b/fix-glib-compat.patch
@@ -0,0 +1,43 @@
+From e173df7e3a29a17a7158c9c39117c1fcd9c6ed85 Mon Sep 17 00:00:00 2001
+From: Dan Williams <dcbw at redhat.com>
+Date: Thu, 3 Mar 2011 01:19:09 -0600
+Subject: [PATCH] settings: fix some code that required glib 2.26
+
+Stable branch must be compatible with glib 2.18 or later.  Thus
+we can't use g_key_file_get_uint64().
+---
+ src/system-settings/nm-sysconfig-settings.c |    9 +++++++--
+ 1 files changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/src/system-settings/nm-sysconfig-settings.c b/src/system-settings/nm-sysconfig-settings.c
+index 49b903e..75ac987 100644
+--- a/src/system-settings/nm-sysconfig-settings.c
++++ b/src/system-settings/nm-sysconfig-settings.c
+@@ -520,9 +520,10 @@ claim_connection (NMSysconfigSettings *self,
+ 
+ 	NMSettingConnection *s_con;
+ 	const char *connection_uuid;
+-	guint64 timestamp;
++	guint64 timestamp = 0;
+ 	GKeyFile *timestamps_file;
+ 	GError *err = NULL;
++	char *tmp_str;
+ 
+ 	g_return_if_fail (NM_IS_SYSCONFIG_SETTINGS (self));
+ 	g_return_if_fail (NM_IS_SETTINGS_CONNECTION_INTERFACE (connection));
+@@ -538,7 +539,11 @@ claim_connection (NMSysconfigSettings *self,
+ 
+ 	timestamps_file = g_key_file_new ();
+ 	g_key_file_load_from_file (timestamps_file, NM_SYSCONFIG_SETTINGS_TIMESTAMPS_FILE, G_KEY_FILE_KEEP_COMMENTS, NULL);
+-	timestamp = g_key_file_get_uint64 (timestamps_file, "timestamps", connection_uuid, &err);
++	tmp_str = g_key_file_get_value (timestamps_file, "timestamps", connection_uuid, &err);
++	if (tmp_str) {
++		timestamp = g_ascii_strtoull (tmp_str, NULL, 10);
++		g_free (tmp_str);
++	}
+ 
+ 	/* Update connection's timestamp */
+ 	if (!err) {
+-- 
+1.7.4
+


More information about the scm-commits mailing list