From cd14b3faa1aa029d7c067d7b342fff64215d58fc Mon Sep 17 00:00:00 2001 From: Hermes Zhang Date: Wed, 31 Mar 2021 17:39:54 +0800 Subject: gpsd: backport d-bus message time patch from upstream This patch is backport from 821c149d486c0e67c1bd35d7c044ede9348aeb8d of upstream to fix the broken d-bus message time Signed-off-by: Khem Raj (cherry picked from commit 285e4c9bfb5bee87f33193c455ce4962a0b927c3) Signed-off-by: Armin Kuster --- ...busexport.c-Fix-broken-d-bus-message-time.patch | 36 ++++++++++++++++++++++ meta-oe/recipes-navigation/gpsd/gpsd_3.20.bb | 1 + 2 files changed, 37 insertions(+) create mode 100644 meta-oe/recipes-navigation/gpsd/gpsd/0001-gpsd-dbusexport.c-Fix-broken-d-bus-message-time.patch (limited to 'meta-oe/recipes-navigation') diff --git a/meta-oe/recipes-navigation/gpsd/gpsd/0001-gpsd-dbusexport.c-Fix-broken-d-bus-message-time.patch b/meta-oe/recipes-navigation/gpsd/gpsd/0001-gpsd-dbusexport.c-Fix-broken-d-bus-message-time.patch new file mode 100644 index 0000000000..659865efe1 --- /dev/null +++ b/meta-oe/recipes-navigation/gpsd/gpsd/0001-gpsd-dbusexport.c-Fix-broken-d-bus-message-time.patch @@ -0,0 +1,36 @@ +From c9cec2a888d4fea8534be78a0f46d920155ceae6 Mon Sep 17 00:00:00 2001 +From: Paul Fertser +Date: Wed, 4 Nov 2020 12:40:50 -0800 +Subject: [PATCH] gpsd/dbusexport.c: Fix broken d-bus message time. + +Change-Id: I4b9990ce4517a8feb29fc9e090c62f5a0c56ddd5 +--- + dbusexport.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/dbusexport.c b/dbusexport.c +index 40b35739e..5d08a8702 100644 +--- a/dbusexport.c ++++ b/dbusexport.c +@@ -38,6 +38,7 @@ void send_dbus_fix(struct gps_device_t *channel) + /*DBusMessageIter iter; */ + dbus_uint32_t serial; /* collected, but not used */ + char *gpsd_devname; ++ double dtime; // time as a double, loss of precision! + + /* if the connection is non existent, return without doing anything */ + if (connection == NULL) +@@ -51,8 +52,9 @@ void send_dbus_fix(struct gps_device_t *channel) + /* the dbus/locationd doc fails to specify altitude as WGS84 or MSL. + * assume altMSL */ + message = dbus_message_new_signal("/org/gpsd", "org.gpsd", "fix"); ++ dtime = TSTONS(&gpsfix->time); + dbus_message_append_args(message, +- DBUS_TYPE_DOUBLE, &(gpsfix->time), ++ DBUS_TYPE_DOUBLE, &dtime, + DBUS_TYPE_INT32, &(gpsfix->mode), + DBUS_TYPE_DOUBLE, &(gpsfix->ept), + DBUS_TYPE_DOUBLE, &(gpsfix->latitude), +-- +2.20.1 + diff --git a/meta-oe/recipes-navigation/gpsd/gpsd_3.20.bb b/meta-oe/recipes-navigation/gpsd/gpsd_3.20.bb index 3888ad8fa3..0989cc1398 100644 --- a/meta-oe/recipes-navigation/gpsd/gpsd_3.20.bb +++ b/meta-oe/recipes-navigation/gpsd/gpsd_3.20.bb @@ -8,6 +8,7 @@ PROVIDES = "virtual/gpsd" SRC_URI = "${SAVANNAH_GNU_MIRROR}/${BPN}/${BP}.tar.gz \ file://0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch \ file://0001-Revert-SConstruct-Add-test-for-sizeof-time_t-result-.patch \ + file://0001-gpsd-dbusexport.c-Fix-broken-d-bus-message-time.patch \ file://gpsd.init \ " SRC_URI[md5sum] = "cf7fdec7ce7221d20bee1a7246362b05" -- cgit 1.2.3-korg