From 7750c4d6d658b15fd4ef2b43bbc81c61e61d720f Mon Sep 17 00:00:00 2001 From: Peter Seiderer Date: Sat, 6 Nov 2021 19:09:42 +0100 Subject: [PATCH] package/olsr: add upstream patch to fix compile with gpsd-3.23.1 - add upstream patch ([1]) to fix compile with gpsd-3.23.1 Fixes: - http://autobuild.buildroot.org/results/53b06e72fb2d8b4c8b6ba41baf775ff33654cd18 - http://autobuild.buildroot.net/results/54cae924711e26f04045f8208db0d772292a3933 src/gpsdclient.c: In function 'nmeaInfoFromGpsd': src/gpsdclient.c:374:30: error: 'STATUS_NO_FIX' undeclared (first use in this function); did you mean 'STATUS_PPS_FIX'? 374 | if (gpsdata->fix.status == STATUS_NO_FIX) { | ^~~~~~~~~~~~~ | STATUS_PPS_FIX [1] https://github.com/OLSR/olsrd/commit/665051a845464c0f95edb81432104dac39426f79 Signed-off-by: Peter Seiderer Signed-off-by: Peter Korsgaard (cherry picked from commit cc54ac17f8060134f93d1b8965d297b3f91e575a) Signed-off-by: Peter Korsgaard --- ...client.c-drop-handling-of-gpsdata-fi.patch | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 package/olsr/0005-lib-pud-src-gpsdclient.c-drop-handling-of-gpsdata-fi.patch diff --git a/package/olsr/0005-lib-pud-src-gpsdclient.c-drop-handling-of-gpsdata-fi.patch b/package/olsr/0005-lib-pud-src-gpsdclient.c-drop-handling-of-gpsdata-fi.patch new file mode 100644 index 0000000000..7ea3fbadd7 --- /dev/null +++ b/package/olsr/0005-lib-pud-src-gpsdclient.c-drop-handling-of-gpsdata-fi.patch @@ -0,0 +1,49 @@ +From 665051a845464c0f95edb81432104dac39426f79 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 6 Nov 2021 15:50:58 +0100 +Subject: [PATCH] lib/pud/src/gpsdclient.c: drop handling of + gpsdata->fix.status + +Here is an extract of https://gpsd.gitlab.io/gpsd/gpsd_json.html: + +The optional "status" field (aka fix type), is a modifier (adjective) to +mode. It is not a replacement for, or superset of, the "mode" field. It +is almost, but not quite, the same as the NMEA 4.x xxGGA GPS Quality +Indicator Values. Many GNSS receivers do not supply it. Those that do +interpret the specification in various incompatible ways. + +So status field is optional and STATUS_NO_FIX has been explicitly +renamed into STATUS_UNK to avoid confusion with MODE_NO_FIX (which is +already handled by gpsdclient.c) so drop the if block to fix the build +failure with gpsd >= 3.23.1. + +Signed-off-by: Fabrice Fontaine +[Upstream: https://github.com/OLSR/olsrd/commit/665051a845464c0f95edb81432104dac39426f79] +Signed-off-by: Peter Seiderer +--- + lib/pud/src/gpsdclient.c | 9 --------- + 1 file changed, 9 deletions(-) + +diff --git a/lib/pud/src/gpsdclient.c b/lib/pud/src/gpsdclient.c +index a2a9cee0..d448867d 100644 +--- a/lib/pud/src/gpsdclient.c ++++ b/lib/pud/src/gpsdclient.c +@@ -370,15 +370,6 @@ void nmeaInfoFromGpsd(struct gps_data_t *gpsdata, NmeaInfo *info, struct GpsdCon + ); + + gpsdata->set &= ~STATUS_SET; /* always valid */ +- #if GPSD_API_MAJOR_VERSION >= 10 +- if (gpsdata->fix.status == STATUS_NO_FIX) { +- #else +- if (gpsdata->status == STATUS_NO_FIX) { +- #endif +- nmeaInfoClear(info); +- nmeaTimeSet(&info->utc, &info->present, NULL); +- return; +- } + + if (!gpsdata->set) { + return; +-- +2.33.1 +