diff mbox series

[v2,2/3] package/gpsd: bump to 3.24

Message ID 9650_1663333580_632474CC_9650_255_6_6f2223bd3fc15e0232f22fb8f0ba23e5a0ddb017.1663333493.git.yann.morin@orange.com
State Accepted
Headers show
Series [v2,1/3] package/gpsd: remove obsolete config option | expand

Commit Message

Yann E. MORIN Sept. 16, 2022, 1:06 p.m. UTC
From: "Yann E. MORIN" <yann.morin@orange.com>

In 3.24, the NTRIP and NMEA0183 drivers are now always enabled, so the
configure options ntrip and nmea0183 have been removed (upstream commits
f8cf4c922 and 838220fee respectively).

As a consequence, drop the options in menuconfig. We do not need to add
legacy support for those options. Indeed, users who had those enabled
will still get the feature, and those who did not will get them, in both
cases without loss of feature.

Finally, we need to fix a runtime issue that makes the kernel segfault
(yeah, that much), because upstream has been yoda-ifying their code, and
they actually borked a comparison. The issue has been fixed upstream,
but that is in a patch tha cobbles up many changes and brings new stuff,
so we just fix the issue with an unupstreamable patch (which we can drop
when we bump when upstream tags a newer release and we update).

Signed-off-by: Yann E. MORIN <yann.morin@orange.com>
Cc: Bernd Kuhls <bernd.kuhls@t-online.de>
---
 .../gpsd/0001-gpsctl-fix-yodaification.patch  | 44 +++++++++++++++++++
 package/gpsd/Config.in                        | 16 -------
 package/gpsd/gpsd.hash                        |  2 +-
 package/gpsd/gpsd.mk                          | 11 +----
 4 files changed, 46 insertions(+), 27 deletions(-)
 create mode 100644 package/gpsd/0001-gpsctl-fix-yodaification.patch
diff mbox series

Patch

diff --git a/package/gpsd/0001-gpsctl-fix-yodaification.patch b/package/gpsd/0001-gpsctl-fix-yodaification.patch
new file mode 100644
index 0000000000..753ff300eb
--- /dev/null
+++ b/package/gpsd/0001-gpsctl-fix-yodaification.patch
@@ -0,0 +1,44 @@ 
+From 72ae7ce646792b07061cbbb31ed47f55a1d2422c Mon Sep 17 00:00:00 2001
+Message-Id: <72ae7ce646792b07061cbbb31ed47f55a1d2422c.1663075350.git.yann.morin@orange.com>
+From: "Yann E. MORIN" <yann.morin@orange.com>
+Date: Tue, 13 Sep 2022 15:10:48 +0200
+Subject: [PATCH] gpsctl: fix yodaification
+
+Commit d5a672abd98a (gpsctl.c: Style tweaks.  Yoda style, braces, //
+comments.) claimed "No functional changes", but mis-treated a comparison
+when it was converted to yoda-style (simplified diff):
+
+    -    if (write(gpsdata->gps_fd, buf, strlen(buf)) <= 0) {
+    +    if (0 <= write(gpsdata->gps_fd, buf, strlen(buf))) {
+
+As one may notice, the comparison operator was not reversed while the
+operands were.
+
+This got silently fixed in commit 3219ab9f6a89 (gpsctl.c: First cut at
+--ship sending commands to running gpsd.) but this is completely
+unrelated.
+
+Fix that comparison.
+
+Signed-off-by: Yann E. MORIN <yann.morin@orange.com>
+Upstream status: not applicable as already fixed.
+---
+ gpsctl.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gpsctl.c b/gpsctl.c
+index cb342af87..ef59a6622 100644
+--- a/gpsctl.c
++++ b/gpsctl.c
+@@ -96,7 +96,7 @@ static bool gps_query(struct gps_data_t *gpsdata,
+     if ('\n' != buf[strnlen(buf, sizeof(buf) - 1) - 1]) {
+         (void)strlcat(buf, "\n", sizeof(buf));
+     }
+-    if (0 <= write(gpsdata->gps_fd, buf, strnlen(buf, sizeof(buf)))) {
++    if (0 >= write(gpsdata->gps_fd, buf, strnlen(buf, sizeof(buf)))) {
+         GPSD_LOG(LOG_ERROR, &context.errout, "gps_query(), write failed\n");
+         return false;
+     }
+-- 
+2.25.1
+
diff --git a/package/gpsd/Config.in b/package/gpsd/Config.in
index 126a907aa2..8c28c05efd 100644
--- a/package/gpsd/Config.in
+++ b/package/gpsd/Config.in
@@ -154,22 +154,11 @@  config BR2_PACKAGE_GPSD_ITRAX
 	help
 	  iTrax support
 
-config BR2_PACKAGE_GPSD_MTK3301
-	bool "MTK-3301"
-	help
-	  Mediatek MTK-3301 support
-
 config BR2_PACKAGE_GPSD_NAVCOM
 	bool "Navcom"
 	help
 	  Navcom binary support
 
-config BR2_PACKAGE_GPSD_NMEA
-	bool "NMEA"
-	default y
-	help
-	  Generic NMEA support
-
 config BR2_PACKAGE_GPSD_NMEA2000
 	bool "NMEA2000"
 	select BR2_PACKAGE_GPSD_NAVCOM
@@ -177,11 +166,6 @@  config BR2_PACKAGE_GPSD_NMEA2000
 	help
 	  NMEA2000/CAN support
 
-config BR2_PACKAGE_GPSD_NTRIP
-	bool "NTRIP"
-	help
-	  NTRIP support
-
 config BR2_PACKAGE_GPSD_OCEANSERVER
 	bool "OceanServer"
 	help
diff --git a/package/gpsd/gpsd.hash b/package/gpsd/gpsd.hash
index 6d93e7b553..f415c3af0f 100644
--- a/package/gpsd/gpsd.hash
+++ b/package/gpsd/gpsd.hash
@@ -1,3 +1,3 @@ 
 # Locally calculated
-sha256  0b991ce9a46538c4ea450f7a8ee428ff44fb4f8d665fddf2ffe40fe0ae9a6c09  gpsd-3.23.1.tar.gz
+sha256  00ee13f615655284874a661be13553abe66128e6deb5cd648af9bc0cb345fe5c  gpsd-3.24.tar.gz
 sha256  fdf339997bbca9eaf507476b82fbcac608fc39a3d89b86b51e16db4c9f933716  COPYING
diff --git a/package/gpsd/gpsd.mk b/package/gpsd/gpsd.mk
index dec2371f68..0c7018f26d 100644
--- a/package/gpsd/gpsd.mk
+++ b/package/gpsd/gpsd.mk
@@ -4,7 +4,7 @@ 
 #
 ################################################################################
 
-GPSD_VERSION = 3.23.1
+GPSD_VERSION = 3.24
 GPSD_SITE = http://download-mirror.savannah.gnu.org/releases/gpsd
 GPSD_LICENSE = BSD-2-Clause
 GPSD_LICENSE_FILES = COPYING
@@ -115,15 +115,6 @@  endif
 ifneq ($(BR2_PACKAGE_GPSD_ITRAX),y)
 GPSD_SCONS_OPTS += itrax=no
 endif
-ifneq ($(BR2_PACKAGE_GPSD_MTK3301),y)
-GPSD_SCONS_OPTS += mtk3301=no
-endif
-ifneq ($(BR2_PACKAGE_GPSD_NMEA),y)
-GPSD_SCONS_OPTS += nmea0183=no
-endif
-ifneq ($(BR2_PACKAGE_GPSD_NTRIP),y)
-GPSD_SCONS_OPTS += ntrip=no
-endif
 ifneq ($(BR2_PACKAGE_GPSD_NAVCOM),y)
 GPSD_SCONS_OPTS += navcom=no
 endif