[redshift] Fixes for #926436 and #954014

kmilos kmilos at fedoraproject.org
Mon May 13 09:22:59 UTC 2013


commit 4b490e5cdd5ba705e7fb70627b549dfc8f9a10a9
Author: Miloš Komarčević <kmilos at gmail.com>
Date:   Mon May 13 10:22:43 2013 +0100

    Fixes for #926436 and #954014

 redshift-geoclue-client-check.patch |   55 +++++++++++++++++++++++++++++++++++
 redshift.spec                       |   14 +++++++-
 2 files changed, 67 insertions(+), 2 deletions(-)
---
diff --git a/redshift-geoclue-client-check.patch b/redshift-geoclue-client-check.patch
new file mode 100644
index 0000000..663b566
--- /dev/null
+++ b/redshift-geoclue-client-check.patch
@@ -0,0 +1,55 @@
+=== modified file 'src/location-geoclue.c'
+--- src/location-geoclue.c	2011-03-27 22:14:58 +0000
++++ src/location-geoclue.c	2011-07-12 20:30:30 +0000
+@@ -50,14 +50,20 @@
+ int
+ location_geoclue_start(location_geoclue_state_t *state)
+ {
+-	GeoclueMaster *master = NULL;
+-	GeoclueMasterClient *client = NULL;
+-	GError *error = NULL;
+-	gchar *name = NULL;
++        if (state->provider && state->provider_path) {
++		state->position = geoclue_position_new(state->provider,
++						       state->provider_path);
++        } else {
++                GeoclueMaster *master = geoclue_master_get_default();
++                GeoclueMasterClient *client = geoclue_master_create_client(master,
++                                                                           NULL, NULL);
++                GError *error = NULL;
+ 
+-        if (!(state->provider && state->provider_path)) {
+-		master = geoclue_master_get_default();
+-		client = geoclue_master_create_client(master, NULL, NULL);
++                if (client == NULL) {
++                        g_printerr(_("Unable to obtain master client.\n"));
++                        g_object_unref(master);
++                        return -1;
++                }
+ 
+ 		if (!geoclue_master_client_set_requirements(client,
+ 							    GEOCLUE_ACCURACY_LEVEL_REGION,
+@@ -68,15 +74,18 @@
+ 				   error->message);
+ 			g_error_free(error);
+ 			g_object_unref(client);
++                        g_object_unref(master);
+ 
+ 			return -1;
+ 		}
+ 
+ 		state->position = geoclue_master_client_create_position(client, NULL);
+-	} else {
+-		state->position = geoclue_position_new(state->provider,
+-						       state->provider_path);
+-        }
++
++                g_object_unref(client);
++                g_object_unref(master);
++	}
++
++	gchar *name = NULL;
+ 
+ 	if (geoclue_provider_get_provider_info(GEOCLUE_PROVIDER(state->position),
+ 					       &name, NULL, NULL)) {
+
diff --git a/redshift.spec b/redshift.spec
index 277703d..1fc0a7f 100644
--- a/redshift.spec
+++ b/redshift.spec
@@ -1,13 +1,17 @@
 Name: redshift
 Version: 1.7
-Release: 4%{dist}
+Release: 5%{dist}
 Summary: Adjusts the color temperature of your screen according to time of day
 Group: Applications/System
 License: GPLv3+
 URL: http://jonls.dk/redshift/
 Source0: http://launchpad.net/redshift/trunk/%{version}/+download/%{name}-%{version}.tar.bz2
+# Remove Ubuntu specific geoclue provider
 Patch0: redshift-geoclue-provider.patch
-BuildRequires: gettext
+# https://bugs.launchpad.net/redshift/+bug/888661
+# http://bazaar.launchpad.net/~jonls/redshift/trunk/revision/165
+Patch1: redshift-geoclue-client-check.patch
+BuildRequires: gettext-devel
 BuildRequires: libXrandr-devel
 BuildRequires: libXxf86vm-devel
 BuildRequires: GConf2-devel
@@ -42,6 +46,8 @@ temperature adjustment program.
 %prep
 %setup -q
 %patch0 -p1
+%patch1 -p0
+autoreconf -i -f
 
 %build
 %configure
@@ -79,6 +85,10 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 %{_datadir}/applications/gtk-redshift.desktop
 
 %changelog
+* Sun May 12 2013 Milos Komarcevic <kmilos at gmail.com> - 1.7-5
+- Run autoreconf to support aarch64 (#926436)
+- Backport fix for geoclue client check (#954014)
+
 * Thu Feb 14 2013 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.7-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
 


More information about the scm-commits mailing list