[packages/geoclue] - fixes for gpsd 3.21+ (API 10); release 8

qboosh qboosh at pld-linux.org
Sun Jun 23 13:34:26 CEST 2024


commit 0b4deee831fdb0f24169566ca055234a8b0f4a60
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Sun Jun 23 12:42:14 2024 +0200

    - fixes for gpsd 3.21+ (API 10); release 8

 geoclue-gpsd.patch | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 geoclue.spec       | 11 ++++++-----
 2 files changed, 59 insertions(+), 5 deletions(-)
---
diff --git a/geoclue.spec b/geoclue.spec
index 0c80cc9..77d3558 100644
--- a/geoclue.spec
+++ b/geoclue.spec
@@ -9,16 +9,16 @@ Summary:	A modular geoinformation service
 Summary(pl.UTF-8):	Modularna usługa geoinformacyjna
 Name:		geoclue
 Version:	0.12.99
-Release:	7
+Release:	8
 License:	LGPL v2+
 Group:		Applications
-Source0:	http://freedesktop.org/~hadess/%{name}-%{version}.tar.gz
+Source0:	https://people.freedesktop.org/~hadess/%{name}-%{version}.tar.gz
 # Source0-md5:	779245045bfeeec4853da8baaa3a18e6
 Patch0:		%{name}-libsoup.patch
 Patch1:		%{name}-gpsd.patch
 Patch2:		%{name}-format.patch
 Patch3:		%{name}-nm.patch
-URL:		http://geoclue.freedesktop.org/
+URL:		https://geoclue.freedesktop.org/
 BuildRequires:	GConf2-devel >= 2.0
 %{?with_nm:BuildRequires:	NetworkManager-devel >= 1.0}
 BuildRequires:	autoconf >= 2.59
@@ -27,7 +27,7 @@ BuildRequires:	automake >= 1:1.9
 BuildRequires:	dbus-glib-devel >= 0.86
 BuildRequires:	docbook-dtd412-xml
 BuildRequires:	glib2-devel >= 1:2.26
-%{?with_gps:BuildRequires:	gpsd-devel >= 3.18}
+%{?with_gps:BuildRequires:	gpsd-devel >= 3.21}
 BuildRequires:	gtk+2-devel >= 1:2.0
 BuildRequires:	gtk-doc >= 1.0
 BuildRequires:	gypsy-devel >= 0.7.1
@@ -37,6 +37,7 @@ BuildRequires:	libtool
 BuildRequires:	libxml2-devel >= 2.0
 BuildRequires:	libxslt-progs
 BuildRequires:	pkgconfig
+BuildRequires:	rpm-build >= 4.6
 Requires:	%{name}-libs = %{version}-%{release}
 Requires:	dbus
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -110,7 +111,7 @@ Summary:	gpsd provider for geoclue
 Summary(pl.UTF-8):	Interfejs geoclue do gpsd
 Group:		Applications
 Requires:	%{name} = %{version}-%{release}
-Requires:	gpsd >= 3.18
+Requires:	gpsd >= 3.21
 
 %description gpsd
 A gpsd provider for geoclue.
diff --git a/geoclue-gpsd.patch b/geoclue-gpsd.patch
index 51a3b5e..92bf9a9 100644
--- a/geoclue-gpsd.patch
+++ b/geoclue-gpsd.patch
@@ -160,3 +160,56 @@
  			geoclue_gpsd_set_status (self, GEOCLUE_STATUS_ERROR);
  			geoclue_gpsd_stop_gpsd(self);
  			return FALSE;
+--- geoclue-0.12.99/providers/gpsd/geoclue-gpsd.c.orig	2024-06-23 12:38:55.516440776 +0200
++++ geoclue-0.12.99/providers/gpsd/geoclue-gpsd.c	2024-06-23 12:39:00.639746354 +0200
+@@ -264,7 +264,7 @@ geoclue_gpsd_update_position (GeoclueGps
+ 	
+ 	gc_iface_position_emit_position_changed 
+ 		(GC_IFACE_POSITION (gpsd), gpsd->last_pos_fields,
+-		 (int)(last_fix->time+0.5), 
++		 last_fix->time.tv_sec + (last_fix->time.tv_nsec >= 500000000L), 
+ 		 last_fix->latitude, last_fix->longitude, last_fix->altitude, 
+ 		 gpsd->last_accuracy);
+ 	
+@@ -323,7 +323,7 @@ geoclue_gpsd_update_velocity (GeoclueGps
+ 		
+ 		gc_iface_velocity_emit_velocity_changed 
+ 			(GC_IFACE_VELOCITY (gpsd), gpsd->last_velo_fields,
+-			 (int)(last_fix->time+0.5),
++			 last_fix->time.tv_sec + (last_fix->time.tv_nsec >= 500000000L),
+ 			 last_fix->speed, last_fix->track, last_fix->climb);
+ 	}
+ }
+@@ -334,12 +334,12 @@ geoclue_gpsd_update_status (GeoclueGpsd
+ 	GeoclueStatus status;
+ 	
+ 	/* gpsdata->online is supposedly always up-to-date */
+-	if (gpsd->gpsdata->online <= 0) {
++	if (gpsd->gpsdata->online.tv_sec <= 0) {
+ 		status = GEOCLUE_STATUS_UNAVAILABLE;
+ 	} else if (gpsd->gpsdata->set & STATUS_SET) {
+ 		gpsd->gpsdata->set &= ~(STATUS_SET);
+ 		
+-		if (gpsd->gpsdata->status > 0) {
++		if (gpsd->gpsdata->fix.status > 0) {
+ 			status = GEOCLUE_STATUS_AVAILABLE;
+ 		} else {
+ 			status = GEOCLUE_STATUS_ACQUIRING;
+@@ -435,7 +435,7 @@ get_position (GcIfacePosition       *gc,
+ {
+ 	GeoclueGpsd *gpsd = GEOCLUE_GPSD (gc);
+ 	
+-	*timestamp = (int)(gpsd->last_fix->time+0.5);
++	*timestamp = gpsd->last_fix->time.tv_sec + (gpsd->last_fix->time.tv_nsec >= 500000000L);
+ 	*latitude = gpsd->last_fix->latitude;
+ 	*longitude = gpsd->last_fix->longitude;
+ 	*altitude = gpsd->last_fix->altitude;
+@@ -462,7 +462,7 @@ get_velocity (GcIfaceVelocity       *gc,
+ {
+ 	GeoclueGpsd *gpsd = GEOCLUE_GPSD (gc);
+ 	
+-	*timestamp = (int)(gpsd->last_fix->time+0.5);
++	*timestamp = gpsd->last_fix->time.tv_sec + (gpsd->last_fix->time.tv_nsec >= 500000000L);
+ 	*speed = gpsd->last_fix->speed;
+ 	*direction = gpsd->last_fix->track;
+ 	*climb = gpsd->last_fix->climb;
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/geoclue.git/commitdiff/0b4deee831fdb0f24169566ca055234a8b0f4a60



More information about the pld-cvs-commit mailing list