From 9188bf42e4e9adde2fd71242843d9207b33c786f Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN" Date: Tue, 27 May 2025 16:16:09 +0200 Subject: [PATCH] package/gpsd: bump to 3.26.1 For change log, see: https://gitlab.com/gpsd/gpsd/-/blob/release-3.26.1/NEWS Support for RTCM104v2 and v3, as well as for ublox, are now unconditionally built, so drop our corresponding options. No needfor legacy options: users that had those enabled will still get them. Support for Oceanserver has been dropped upstream, so drop our option and add legacy handling to infrom users they should complain upstream if they needed it (very unlikely). Also, a bug introduced in gpsd 3.26 makes the Buildroot gpsd runtime test failing. See [1]. As a workaround, this commit also changes this runtime test to emulate a gps over TCP, instead of UDP. [1] https://gitlab.com/gpsd/gpsd/-/issues/337 Signed-off-by: Yann E. MORIN [Julien: - rebased on branch next - add gpsd version removing OceanServer option in Config.in.legacy - add link to NEWS in commit log - switch test_gpsd to use tcp instead of udp ] Signed-off-by: Julien Olivain --- Config.in.legacy | 7 +++++++ package/gpsd/Config.in | 20 ------------------- package/gpsd/gpsd.hash | 2 +- package/gpsd/gpsd.mk | 14 +------------ support/testing/tests/package/test_gpsd.py | 4 ++-- .../root/{udp-nmea.log => nmea.log} | 2 +- 6 files changed, 12 insertions(+), 37 deletions(-) rename support/testing/tests/package/test_gpsd/rootfs-overlay/root/{udp-nmea.log => nmea.log} (92%) diff --git a/Config.in.legacy b/Config.in.legacy index 563d532604..7cb3d945a1 100644 --- a/Config.in.legacy +++ b/Config.in.legacy @@ -146,6 +146,13 @@ endif comment "Legacy options removed in 2025.08" +config BR2_PACKAGE_GPSD_OCEANSERVER + bool "gpsd OceanServer removed upstream" + select BR2_LEGACY + help + Support for OceanServer has been removed upstream in gpsd + v3.26. + config BR2_PACKAGE_MESA3D_OSMESA_GALLIUM bool "mesa3d OSMesa (Gallium) library support removed" select BR2_LEGACY diff --git a/package/gpsd/Config.in b/package/gpsd/Config.in index fa4dc7a814..0848f8181a 100644 --- a/package/gpsd/Config.in +++ b/package/gpsd/Config.in @@ -166,26 +166,11 @@ config BR2_PACKAGE_GPSD_NMEA2000 help NMEA2000/CAN support -config BR2_PACKAGE_GPSD_OCEANSERVER - bool "OceanServer" - help - OceanServer Digital Compass support - config BR2_PACKAGE_GPSD_ONCORE bool "OnCore" help OnCore support -config BR2_PACKAGE_GPSD_RTCM104V2 - bool "RTCM104 v2" - help - RTCM104 v2 support - -config BR2_PACKAGE_GPSD_RTCM104V3 - bool "RTCM104 v3" - help - RTCM104 v3 support - config BR2_PACKAGE_GPSD_SIRF bool "SiRF" help @@ -216,11 +201,6 @@ config BR2_PACKAGE_GPSD_TRUE_NORTH help True North Technologies support -config BR2_PACKAGE_GPSD_UBX - bool "UBX" - help - uBlox UBX binary support - endif # GPSD_DAEMON config BR2_PACKAGE_GPSD_CLIENTS diff --git a/package/gpsd/gpsd.hash b/package/gpsd/gpsd.hash index 15e1181ed9..984ddab125 100644 --- a/package/gpsd/gpsd.hash +++ b/package/gpsd/gpsd.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 b368b6a305e3f7a6382d23a0cbfc1d78923060b6b7f54cf7987a73c7b4a9afc2 gpsd-3.25.tar.gz +sha256 dc7e465968c1540e61bc57c7586d6a57a0047212a014efdad348f907bc2e0990 gpsd-3.26.1.tar.gz sha256 fdf339997bbca9eaf507476b82fbcac608fc39a3d89b86b51e16db4c9f933716 COPYING diff --git a/package/gpsd/gpsd.mk b/package/gpsd/gpsd.mk index 8f87766dcc..1b20210c49 100644 --- a/package/gpsd/gpsd.mk +++ b/package/gpsd/gpsd.mk @@ -4,7 +4,7 @@ # ################################################################################ -GPSD_VERSION = 3.25 +GPSD_VERSION = 3.26.1 GPSD_SITE = http://download-mirror.savannah.gnu.org/releases/gpsd GPSD_LICENSE = BSD-2-Clause GPSD_LICENSE_FILES = COPYING @@ -120,18 +120,9 @@ endif ifneq ($(BR2_PACKAGE_GPSD_NMEA2000),y) GPSD_SCONS_OPTS += nmea2000=no endif -ifneq ($(BR2_PACKAGE_GPSD_OCEANSERVER),y) -GPSD_SCONS_OPTS += oceanserver=no -endif ifneq ($(BR2_PACKAGE_GPSD_ONCORE),y) GPSD_SCONS_OPTS += oncore=no endif -ifneq ($(BR2_PACKAGE_GPSD_RTCM104V2),y) -GPSD_SCONS_OPTS += rtcm104v2=no -endif -ifneq ($(BR2_PACKAGE_GPSD_RTCM104V3),y) -GPSD_SCONS_OPTS += rtcm104v3=no -endif ifneq ($(BR2_PACKAGE_GPSD_SIRF),y) GPSD_SCONS_OPTS += sirf=no endif @@ -150,9 +141,6 @@ endif ifneq ($(BR2_PACKAGE_GPSD_TRUE_NORTH),y) GPSD_SCONS_OPTS += tnt=no endif -ifneq ($(BR2_PACKAGE_GPSD_UBX),y) -GPSD_SCONS_OPTS += ublox=no -endif # Features ifeq ($(BR2_PACKAGE_GPSD_SQUELCH),y) diff --git a/support/testing/tests/package/test_gpsd.py b/support/testing/tests/package/test_gpsd.py index 2c44e25cec..c232e97d7f 100644 --- a/support/testing/tests/package/test_gpsd.py +++ b/support/testing/tests/package/test_gpsd.py @@ -33,7 +33,7 @@ class TestGpsd(infra.basetest.BRTest): # We start the "gpsfake" GPS emulator instead. cmd = "gpsfake" cmd += " --slow --cycle 0.1 --quiet" - cmd += " /root/udp-nmea.log &> /dev/null &" + cmd += " /root/nmea.log &> /dev/null &" self.assertRunOk(cmd) # Wait a bit, to let the gpsfake and gpsd to settle... @@ -42,7 +42,7 @@ class TestGpsd(infra.basetest.BRTest): # List the GPS devices. We should see our local UDP test GPS. out, ret = self.emulator.run("gpsctl") self.assertEqual(ret, 0) - self.assertTrue(out[0].startswith("udp://127.0.0.1")) + self.assertTrue(out[0].startswith("tcp://127.0.0.1")) self.assertIn("NMEA0183", out[0]) # Collect some of our fake GPS data, and check we got the diff --git a/support/testing/tests/package/test_gpsd/rootfs-overlay/root/udp-nmea.log b/support/testing/tests/package/test_gpsd/rootfs-overlay/root/nmea.log similarity index 92% rename from support/testing/tests/package/test_gpsd/rootfs-overlay/root/udp-nmea.log rename to support/testing/tests/package/test_gpsd/rootfs-overlay/root/nmea.log index f3730da7c5..d063ef1ef9 100644 --- a/support/testing/tests/package/test_gpsd/rootfs-overlay/root/udp-nmea.log +++ b/support/testing/tests/package/test_gpsd/rootfs-overlay/root/nmea.log @@ -1,5 +1,5 @@ # Name: NMEA 0183 messages for gpsd Buildroot test -# Transport: UDP +# Transport: TCP # For packet format, see: # https://gpsd.gitlab.io/gpsd/NMEA.html $GPGGA,123456.789,4336.2634,N,0126.6016,E,1,04,1.7,143.5,M,,,,*3A