[Buildroot] [git commit branch/2021.08.x] package/olsr: add upstream patch to fix compile with gpsd-3.23.1
Peter Korsgaard
peter at korsgaard.com
Tue Nov 9 09:57:38 UTC 2021
commit: https://git.buildroot.net/buildroot/commit/?id=7750c4d6d658b15fd4ef2b43bbc81c61e61d720f
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/2021.08.x
- 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 <ps.report at gmx.net>
Signed-off-by: Peter Korsgaard <peter at korsgaard.com>
(cherry picked from commit cc54ac17f8060134f93d1b8965d297b3f91e575a)
Signed-off-by: Peter Korsgaard <peter at korsgaard.com>
---
...-gpsdclient.c-drop-handling-of-gpsdata-fi.patch | 49 ++++++++++++++++++++++
1 file changed, 49 insertions(+)
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 <fontaine.fabrice at gmail.com>
+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 <fontaine.fabrice at gmail.com>
+[Upstream: https://github.com/OLSR/olsrd/commit/665051a845464c0f95edb81432104dac39426f79]
+Signed-off-by: Peter Seiderer <ps.report at gmx.net>
+---
+ 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
+
More information about the buildroot
mailing list