From 05595cbeace38789a8727623d4b5b107e6157a2c Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN" Date: Fri, 16 Sep 2022 15:06:16 +0200 Subject: [PATCH] package/gpsd: bump to 3.24 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 Cc: Bernd Kuhls Signed-off-by: Thomas Petazzoni --- .../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 --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" +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 +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