summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-navigation/gpsd/gpsd_3.25.bb
diff options
context:
space:
mode:
authorKoen Kooi <koen@dominion.thruhere.net>2025-10-29 10:52:05 +0100
committerKhem Raj <raj.khem@gmail.com>2025-10-29 21:02:20 -0700
commit8e1c6cfe78c3b3efbd28bcdfc97e14f9aa49bdbf (patch)
tree7ec3a713bf8c1364928ba40f91cfe5984a7a9b2e /meta-oe/recipes-navigation/gpsd/gpsd_3.25.bb
parent72a647e67837a1440e694ec4a674e5d7aabfeffb (diff)
downloadmeta-openembedded-8e1c6cfe78c3b3efbd28bcdfc97e14f9aa49bdbf.tar.gz
gpsd: update to 3.26.1
The `gpsmon` tool is really deprecated now, after years of its use being discouraged. The `cgps` tool can be used as a replacement, with the added benefit that it's more power-efficient because it doesn't reparse with a slightly different parses like `gpsmon` did. Drop patch that was applied upstream in https://gitlab.com/gpsd/gpsd/-/merge_requests/406 Upstream changelog: 3.26.1: 17 May 2025 Increment libgps version Update Debian Trixie in build.adoc Fix buffer overrun in cgps. Make gpsmon deprecation slightly more obvious. Fix some *BSD compiler warnings Fix numerous typos. 3.26: 11 May 2025 Handle NTRIPv2 that comes in "chunks". Add many UBX decodes. Mostly in ubxtool, some in gpsd. Improve TSIP and UBX initialization. Gather Antenna Status (ant_stat) and Jamming (jam) and send to JSON. Always build u-blox, RTCM104V2, RTCM104V3 drivers. Add partial support for badly documented ALLYSTAR GNSS messages. Add minimal support for Unicore GNSS messages. Add minimal support for CASIC GNSS messages. Add minimal support for buggy Inertial Sense GNSS messages. Try to work better as non-root using non-standard "capabilities". Add SUBSYSTEM=gnss rule to gpsd.rules Moved ntploggps from NTPSec to GPSD and renamed to gpslogntp. Fix many build, Coverity, and Codacy warnings. Improved Python interface for the lexer. Add support for new BeiDou PRNs and subframes. Officially deprecate gpsmon. Improve support for NMEA 4.11 (a stealthy moving target). Remove Oceanserver IMU support. Never worked well. Always with build ubx, NMEA 103, rtcm104v2 and rtcm104v3 support. Add support for jamming detection. Add Go client example. Add support for RTCM3.2 Note: The new "chunk" code led to a short lived bug that led to CVE-2023-43628, a buffer overrun. That bug never appeared in any gpsd release. Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe/recipes-navigation/gpsd/gpsd_3.25.bb')
-rw-r--r--meta-oe/recipes-navigation/gpsd/gpsd_3.25.bb166
1 files changed, 0 insertions, 166 deletions
diff --git a/meta-oe/recipes-navigation/gpsd/gpsd_3.25.bb b/meta-oe/recipes-navigation/gpsd/gpsd_3.25.bb
deleted file mode 100644
index 0d5232c88c..0000000000
--- a/meta-oe/recipes-navigation/gpsd/gpsd_3.25.bb
+++ /dev/null
@@ -1,166 +0,0 @@
1SUMMARY = "A TCP/IP Daemon simplifying the communication with GPS devices"
2SECTION = "console/network"
3LICENSE = "BSD-2-Clause"
4LIC_FILES_CHKSUM = "file://COPYING;md5=7a5d174db44ec45f9638b2c747806821"
5DEPENDS = "dbus ncurses python3 pps-tools"
6PROVIDES = "virtual/gpsd"
7BUGTRACKER = "https://gitlab.com/gpsd/gpsd/-/issues"
8HOMEPAGE = "https://gpsd.io/"
9
10SRC_URI = "${SAVANNAH_GNU_MIRROR}/${BPN}/${BP}.tar.gz \
11 file://gpsd.init \
12 file://fix-pps_strerror_r.patch \
13 "
14SRC_URI[sha256sum] = "b368b6a305e3f7a6382d23a0cbfc1d78923060b6b7f54cf7987a73c7b4a9afc2"
15
16inherit scons update-rc.d python3-dir python3native systemd update-alternatives pkgconfig
17
18INITSCRIPT_PACKAGES = "gpsd-conf"
19INITSCRIPT_NAME = "gpsd"
20INITSCRIPT_PARAMS = "defaults 35"
21
22SYSTEMD_OESCONS = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false',d)}"
23
24export STAGING_INCDIR
25export STAGING_LIBDIR
26
27CLEANBROKEN = "1"
28
29PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} usb"
30PACKAGECONFIG[bluez] = "bluez='true',bluez='false',bluez5"
31PACKAGECONFIG[qt] = "qt='yes' qt_versioned=5,qt='no',qtbase"
32PACKAGECONFIG[pyserial] = ""
33PACKAGECONFIG[usb] = "usb='true',usb='false',libusb1"
34EXTRA_OESCONS = " \
35 sysroot=${STAGING_DIR_TARGET} \
36 libQgpsmm='false' \
37 debug='false' \
38 nostrip='true' \
39 systemd='${SYSTEMD_OESCONS}' \
40 libdir='${libdir}' \
41 sbindir='${sbindir}' \
42 udevdir='${nonarch_base_libdir}/udev' \
43 unitdir='${systemd_system_unitdir}' \
44 manbuild='false' \
45 LINK='${CC}' \
46 ${PACKAGECONFIG_CONFARGS} \
47"
48# This cannot be used, because then chrpath is not found and only static lib is built
49# target=${HOST_SYS}
50
51do_compile:prepend() {
52 export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"
53 export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config"
54 export STAGING_PREFIX="${STAGING_DIR_HOST}/${prefix}"
55 export CC="${CC}"
56 export LD="${CC}"
57 export LINKFLAGS="${LDFLAGS}"
58}
59
60do_install() {
61 export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"
62 export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config"
63 export STAGING_PREFIX="${STAGING_DIR_HOST}/${prefix}"
64 export LD="${CC}"
65 export LINKFLAGS="${LDFLAGS}"
66
67 export DESTDIR="${D}"
68 # prefix is used for RPATH and DESTDIR/prefix for installation
69 ${STAGING_BINDIR_NATIVE}/scons prefix=${prefix} python_libdir=${libdir} udev-install ${EXTRA_OESCONS} || \
70 bbfatal "scons install execution failed."
71}
72
73do_install:append() {
74 install -d ${D}${sysconfdir}/init.d
75 install -m 0755 ${UNPACKDIR}/gpsd.init ${D}${sysconfdir}/init.d/gpsd
76 install -d ${D}${sysconfdir}/default
77 install -m 0644 ${S}/packaging/deb/etc_default_gpsd ${D}${sysconfdir}/default/gpsd.default
78
79 # Support for python
80 if [ -d ${D}${libdir}/gps ]; then
81 install -d ${D}${PYTHON_SITEPACKAGES_DIR}/gps
82 install -m 755 ${D}${libdir}/gps/*.py ${D}${PYTHON_SITEPACKAGES_DIR}/gps
83 fi
84}
85
86PACKAGES =+ "libgps python3-pygps gpsd-udev gpsd-conf gpsd-gpsctl gpsd-snmp gps-utils gps-utils-python"
87
88RPROVIDES:${PN}-dbg += "python-pygps-dbg"
89
90FILES:${PN}-dev += "${libdir}/libQgpsmm.prl"
91
92FILES:${PN}-doc += "${datadir}/${BPN}/doc"
93
94RDEPENDS:${PN} = "gpsd-gpsctl"
95RRECOMMENDS:${PN} = "gpsd-conf gpsd-udev gpsd-machine-conf"
96
97SUMMARY:gpsd-udev = "udev relevant files to use gpsd hotplugging"
98FILES:gpsd-udev = "${nonarch_base_libdir}/udev"
99RDEPENDS:gpsd-udev += "udev gpsd-conf"
100
101SUMMARY:libgps = "C service library used for communicating with gpsd"
102FILES:libgps = "${libdir}/libgps.so.*"
103
104SUMMARY:gpsd-conf = "gpsd configuration files and init scripts"
105FILES:gpsd-conf = "${sysconfdir}"
106CONFFILES:gpsd-conf = "${sysconfdir}/default/gpsd.default"
107
108SUMMARY:gpsd-gpsctl = "Tool for tweaking GPS modes"
109FILES:gpsd-gpsctl = "${bindir}/gpsctl"
110
111SUMMARY:gpsd-snmp = "MIB for using SNMP with gpsd"
112FILES:gpsd-snmp = "${datadir}/snmp"
113
114SUMMARY:gps-utils = "Utils used for simulating, monitoring,... a GPS"
115FILES:gps-utils = "\
116 ${bindir}/cgps \
117 ${bindir}/gps2udp \
118 ${bindir}/gpsctl \
119 ${bindir}/gpsdebuginfo \
120 ${bindir}/gpsdecode \
121 ${bindir}/gpsmon \
122 ${bindir}/gpspipe \
123 ${bindir}/gpsrinex \
124 ${bindir}/gpssnmp \
125 ${bindir}/gpxlogger \
126 ${bindir}/lcdgps \
127 ${bindir}/ntpshmmon \
128 ${bindir}/ppscheck \
129"
130RRECOMMENDS:gps-utils = "gps-utils-python"
131
132SUMMARY:gps-utils-python = "Python utils used for simulating, monitoring,... a GPS"
133FILES:gps-utils-python = "\
134 ${bindir}/gegps \
135 ${bindir}/gpscat \
136 ${bindir}/gpscsv \
137 ${bindir}/gpsfake \
138 ${bindir}/gpsplot \
139 ${bindir}/gpsprof \
140 ${bindir}/gpssubframe \
141 ${bindir}/ubxtool \
142 ${bindir}/xgps \
143 ${bindir}/xgpsspeed \
144 ${bindir}/zerk \
145"
146RDEPENDS:gps-utils-python = "python3-pygps"
147
148SUMMARY:python3-pygps = "Python bindings to gpsd"
149FILES:python3-pygps = "${PYTHON_SITEPACKAGES_DIR}/* ${libdir}/gps/*.py ${libdir}/*.egg-info"
150RDEPENDS:python3-pygps = " \
151 python3-core \
152 python3-io \
153 ${@bb.utils.contains('PACKAGECONFIG', 'pyserial', 'python3-pyserial', '', d)} \
154 python3-threading \
155 python3-terminal \
156 gpsd \
157 python3-json"
158
159RPROVIDES:${PN} += "${PN}-systemd"
160RREPLACES:${PN} += "${PN}-systemd"
161RCONFLICTS:${PN} += "${PN}-systemd"
162SYSTEMD_SERVICE:${PN} = "${BPN}.socket ${BPN}ctl@.service"
163
164ALTERNATIVE:${PN} = "gpsd-defaults"
165ALTERNATIVE_LINK_NAME[gpsd-defaults] = "${sysconfdir}/default/gpsd"
166ALTERNATIVE_TARGET[gpsd-defaults] = "${sysconfdir}/default/gpsd.default"