[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