mirror of
https://github.com/void-linux/void-packages.git
synced 2025-07-29 17:02:56 +02:00
gpsd: update to 3.26.1.
drop unused asciidoc, tarball ships with manpages Fixes: #55388
This commit is contained in:
parent
ab3698fd1f
commit
5b33580800
7 changed files with 245 additions and 26 deletions
|
@ -95,7 +95,7 @@ libpanelw.so.6 ncurses-libs-5.8_1 ignore
|
||||||
libmenuw.so.6 ncurses-libs-5.8_1 ignore
|
libmenuw.so.6 ncurses-libs-5.8_1 ignore
|
||||||
libobjc.so.4 libobjc-4.7.3_12
|
libobjc.so.4 libobjc-4.7.3_12
|
||||||
libgomp.so.1 libgomp-4.4.0_1
|
libgomp.so.1 libgomp-4.4.0_1
|
||||||
libgps.so.29 gpsd-3.23_1
|
libgps.so.31 gpsd-3.26.1_1
|
||||||
libmagic.so.1 libmagic-5.12_1
|
libmagic.so.1 libmagic-5.12_1
|
||||||
libbluetooth.so.3 libbluetooth-4.58_1
|
libbluetooth.so.3 libbluetooth-4.58_1
|
||||||
libwmf-0.2.so.7 libwmf-0.2.8.4_1
|
libwmf-0.2.so.7 libwmf-0.2.8.4_1
|
||||||
|
@ -449,7 +449,7 @@ libdex-1.so.1 libdex-0.2.0_1
|
||||||
libmpeg2.so.0 libmpeg2-0.5.1_1
|
libmpeg2.so.0 libmpeg2-0.5.1_1
|
||||||
libmpeg2convert.so.0 libmpeg2-0.5.1_1
|
libmpeg2convert.so.0 libmpeg2-0.5.1_1
|
||||||
libmng.so.2 libmng-2.0.2_1
|
libmng.so.2 libmng-2.0.2_1
|
||||||
libQgpsmm.so.29 gpsd-qt-3.23_1
|
libQgpsmm.so.31 gpsd-qt-3.26.1_1
|
||||||
libsysfs.so.2 libsysfs-2.1.0_1
|
libsysfs.so.2 libsysfs-2.1.0_1
|
||||||
libsensors.so.5 libsensors-3.5.0_1
|
libsensors.so.5 libsensors-3.5.0_1
|
||||||
libcap-ng.so.0 libcap-ng-0.6.2_1
|
libcap-ng.so.0 libcap-ng-0.6.2_1
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
From bad9973b8e73e9e2cc0af2555edc9c8a0855d203 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Richard Lindsley <rich.lindsley@gmail.com>
|
||||||
|
Date: Fri, 23 May 2025 18:48:57 -0700
|
||||||
|
Subject: [PATCH] Fix the --logfile and --dumpfile options for gpsprof
|
||||||
|
|
||||||
|
The open() function requires that the "encoding" argument is a str or
|
||||||
|
None.
|
||||||
|
---
|
||||||
|
clients/gpsprof.py.in | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/clients/gpsprof.py.in b/clients/gpsprof.py.in
|
||||||
|
index 935bb4052..0c809a985 100644
|
||||||
|
--- a/clients/gpsprof.py.in
|
||||||
|
+++ b/clients/gpsprof.py.in
|
||||||
|
@@ -1208,7 +1208,7 @@ if __name__ == '__main__':
|
||||||
|
options = parser.parse_args()
|
||||||
|
|
||||||
|
if options.logfile:
|
||||||
|
- options.logfp = open(options.logfile, "w", encoding=ascii)
|
||||||
|
+ options.logfp = open(options.logfile, "w", encoding="ascii")
|
||||||
|
else:
|
||||||
|
options.logfp = None
|
||||||
|
|
||||||
|
@@ -1255,7 +1255,7 @@ if __name__ == '__main__':
|
||||||
|
plot.postprocess()
|
||||||
|
# Save the timing data (only) for post-analysis if required.
|
||||||
|
if options.dumpfile:
|
||||||
|
- with open(options.dumpfile, "w", encoding=ascii) as fp:
|
||||||
|
+ with open(options.dumpfile, "w", encoding="ascii") as fp:
|
||||||
|
fp.write(plot.dump())
|
||||||
|
if options.logfp:
|
||||||
|
options.logfp.close()
|
||||||
|
--
|
||||||
|
2.49.0
|
||||||
|
|
|
@ -0,0 +1,96 @@
|
||||||
|
From 8a01cdbf710c91d3db1d7c2c30f5c048e2331a09 Mon Sep 17 00:00:00 2001
|
||||||
|
From: James Browning <jamesb.fe80@gmail.com>
|
||||||
|
Date: Thu, 5 Jun 2025 15:42:28 -0700
|
||||||
|
Subject: [PATCH] devel/gpsdfake: fix for Python 3
|
||||||
|
|
||||||
|
Handle errors better in gpsdfake
|
||||||
|
|
||||||
|
Print empty line on ctrl + c
|
||||||
|
Print message on socket errors
|
||||||
|
---
|
||||||
|
devtools/gpsdfake | 52 +++++++++++++++++++++++++++++------------------
|
||||||
|
1 file changed, 32 insertions(+), 20 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/devtools/gpsdfake b/devtools/gpsdfake
|
||||||
|
index 6a2e7ff51..a4744ba1c 100644
|
||||||
|
--- a/devtools/gpsdfake
|
||||||
|
+++ b/devtools/gpsdfake
|
||||||
|
@@ -3,26 +3,36 @@
|
||||||
|
"""
|
||||||
|
gpsdfake - a fake gpsd server that spews specified data at gpsd clients.
|
||||||
|
"""
|
||||||
|
+from __future__ import print_function
|
||||||
|
+import socket
|
||||||
|
+try:
|
||||||
|
+ import socketserver
|
||||||
|
+except:
|
||||||
|
+ import SocketServer as socketserver # until the true death of Python 2
|
||||||
|
+import sys
|
||||||
|
+import time
|
||||||
|
|
||||||
|
-import sys, SocketServer
|
||||||
|
-
|
||||||
|
-class FakeHandler(SocketServer.BaseRequestHandler):
|
||||||
|
+class FakeHandler(socketserver.BaseRequestHandler):
|
||||||
|
"Instantiated once per connection to the server."
|
||||||
|
def handle(self):
|
||||||
|
- global lines
|
||||||
|
- # self.request is the TCP socket connected to the client
|
||||||
|
- # Read the client's ?WATCH request.
|
||||||
|
- self.data = self.request.recv(1024).strip()
|
||||||
|
- # We'd like to send a fake banner to the client on startup,
|
||||||
|
- # but there's no (documented) method for that. We settle
|
||||||
|
- # for shipping on first request.
|
||||||
|
- self.request.send('{"class":"VERSION",'
|
||||||
|
- '"version":"gpsdfake","rev":"gpsdfake",'
|
||||||
|
- '"proto_major":3,"proto_minor":1}\r\n')
|
||||||
|
- # Perpetually resend the data we have specified
|
||||||
|
- while True:
|
||||||
|
- for line in lines:
|
||||||
|
- self.request.send(line)
|
||||||
|
+ try:
|
||||||
|
+ global lines
|
||||||
|
+ # self.request is the TCP socket connected to the client
|
||||||
|
+ # Read the client's ?WATCH request.
|
||||||
|
+ self.data = self.request.recv(1024).strip()
|
||||||
|
+ # We'd like to send a fake banner to the client on startup,
|
||||||
|
+ # but there's no (documented) method for that. We settle
|
||||||
|
+ # for shipping on first request.
|
||||||
|
+ self.request.send(b'{"class":"VERSION",'
|
||||||
|
+ b'"version":"gpsdfake-3","rev":"3",'
|
||||||
|
+ b'"proto_major":3,"proto_minor":1}\r\n')
|
||||||
|
+ # Perpetually resend the data we have specified
|
||||||
|
+ while True:
|
||||||
|
+ for line in lines:
|
||||||
|
+ self.request.send(line)
|
||||||
|
+ time.sleep(0.5)
|
||||||
|
+ except Exception:
|
||||||
|
+ pass
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
(HOST, PORT) = "localhost", 2947
|
||||||
|
@@ -32,16 +42,18 @@ if __name__ == "__main__":
|
||||||
|
sys.stderr.write("gpsdfake: requires a file argument.\n")
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
- lines = open(sys.argv[1]).readlines()
|
||||||
|
+ lines = open(sys.argv[1], 'rb').readlines()
|
||||||
|
|
||||||
|
# Create the server, binding to localhost on port 2947
|
||||||
|
- server = SocketServer.TCPServer((HOST, PORT), FakeHandler)
|
||||||
|
+ server = socketserver.TCPServer((HOST, PORT), FakeHandler)
|
||||||
|
|
||||||
|
# Activate the server; this will keep running until you
|
||||||
|
# interrupt the program with Ctrl-C
|
||||||
|
server.serve_forever()
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
- pass
|
||||||
|
+ print()
|
||||||
|
+ except socket.error as e:
|
||||||
|
+ print(e.args[1])
|
||||||
|
sys.exit(0)
|
||||||
|
|
||||||
|
# The following sets edit modes for GNU EMACS
|
||||||
|
--
|
||||||
|
2.49.0
|
||||||
|
|
|
@ -0,0 +1,72 @@
|
||||||
|
From 3185c5790c3e7e31c6cc80174940f0385cba2617 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Gary E. Miller" <gem@rellim.com>
|
||||||
|
Date: Thu, 5 Jun 2025 17:40:56 -0700
|
||||||
|
Subject: [PATCH] gpsd/gpsd.c: Fix empty gst[,] in POLL.
|
||||||
|
|
||||||
|
Fix issue 336.
|
||||||
|
---
|
||||||
|
gpsd/gpsd.c | 30 ++++++++++++++++++++++--------
|
||||||
|
1 file changed, 22 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/gpsd/gpsd.c b/gpsd/gpsd.c
|
||||||
|
index de32bb241..102247abf 100644
|
||||||
|
--- a/gpsd/gpsd.c
|
||||||
|
+++ b/gpsd/gpsd.c
|
||||||
|
@@ -1555,10 +1555,15 @@ static void handle_request(struct subscriber_t *sub, const char *buf,
|
||||||
|
for (devp = devices; devp < devices + MAX_DEVICES; devp++) {
|
||||||
|
if (allocated_device(devp) && subscribed(sub, devp)) {
|
||||||
|
if (0 != (devp->observed & GPS_TYPEMASK)) {
|
||||||
|
+ size_t rlen = strnlen(reply, replylen);
|
||||||
|
+
|
||||||
|
json_tpv_dump(NAVDATA_SET, devp, &sub->policy,
|
||||||
|
- reply + strnlen(reply, replylen),
|
||||||
|
- replylen - strnlen(reply, replylen));
|
||||||
|
+ reply + rlen, replylen - rlen);
|
||||||
|
rstrip(reply, replylen);
|
||||||
|
+ if (strnlen(reply, replylen) == rlen) {
|
||||||
|
+ // no data
|
||||||
|
+ continue;
|
||||||
|
+ }
|
||||||
|
(void)strlcat(reply, ",", replylen);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -1568,10 +1573,15 @@ static void handle_request(struct subscriber_t *sub, const char *buf,
|
||||||
|
for (devp = devices; devp < devices + MAX_DEVICES; devp++) {
|
||||||
|
if (allocated_device(devp) && subscribed(sub, devp)) {
|
||||||
|
if (0 != (devp->observed & GPS_TYPEMASK)) {
|
||||||
|
- json_noise_dump(&devp->gpsdata,
|
||||||
|
- reply + strnlen(reply, replylen),
|
||||||
|
- replylen - strnlen(reply, replylen));
|
||||||
|
+ size_t rlen = strnlen(reply, replylen);
|
||||||
|
+
|
||||||
|
+ json_noise_dump(&devp->gpsdata, reply + rlen,
|
||||||
|
+ replylen - rlen);
|
||||||
|
rstrip(reply, replylen);
|
||||||
|
+ if (strnlen(reply, replylen) == rlen) {
|
||||||
|
+ // no data
|
||||||
|
+ continue;
|
||||||
|
+ }
|
||||||
|
(void)strlcat(reply, ",", replylen);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -1581,10 +1591,14 @@ static void handle_request(struct subscriber_t *sub, const char *buf,
|
||||||
|
for (devp = devices; devp < devices + MAX_DEVICES; devp++) {
|
||||||
|
if (allocated_device(devp) && subscribed(sub, devp)) {
|
||||||
|
if (0 != (devp->observed & GPS_TYPEMASK)) {
|
||||||
|
- json_sky_dump(devp,
|
||||||
|
- reply + strnlen(reply, replylen),
|
||||||
|
- replylen - strnlen(reply, replylen));
|
||||||
|
+ size_t rlen = strnlen(reply, replylen);
|
||||||
|
+
|
||||||
|
+ json_sky_dump(devp, reply + rlen, replylen - rlen);
|
||||||
|
rstrip(reply, replylen);
|
||||||
|
+ if (strnlen(reply, replylen) == rlen) {
|
||||||
|
+ // no data
|
||||||
|
+ continue;
|
||||||
|
+ }
|
||||||
|
(void)strlcat(reply, ",", replylen);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.49.0
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
From 4286d9dd7217db38c54a516dc95a06884a459e1d Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Gary E. Miller" <gem@rellim.com>
|
||||||
|
Date: Wed, 25 Jun 2025 19:17:12 -0700
|
||||||
|
Subject: [PATCH] clients/cgps.c: Fix output of empty magnetic variance.
|
||||||
|
|
||||||
|
Was overrunning the window.
|
||||||
|
---
|
||||||
|
clients/cgps.c | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/clients/cgps.c b/clients/cgps.c
|
||||||
|
index b0a043801..3bed0c698 100644
|
||||||
|
--- a/clients/cgps.c
|
||||||
|
+++ b/clients/cgps.c
|
||||||
|
@@ -1056,7 +1056,7 @@ static void update_gps_panel(struct gps_data_t *gpsdata, char *message,
|
||||||
|
gpsdata->fix.magnetic_track);
|
||||||
|
}
|
||||||
|
if (0 == isfinite(gpsdata->fix.magnetic_var)) {
|
||||||
|
- (void)strlcat(scr, " ", sizeof(scr));
|
||||||
|
+ (void)strlcpy(buf2, "n/a", sizeof(buf2));
|
||||||
|
} else {
|
||||||
|
(void)snprintf(buf2, sizeof(buf2), "%6.1f",
|
||||||
|
gpsdata->fix.magnetic_var);
|
||||||
|
@@ -1066,7 +1066,7 @@ static void update_gps_panel(struct gps_data_t *gpsdata, char *message,
|
||||||
|
(void)strlcpy(buf2, "n/a", sizeof(buf2));
|
||||||
|
}
|
||||||
|
(void)mvwprintw(datawin, row++, DATAWIN_DESC_OFFSET,
|
||||||
|
- "Track %-14s %6s,%6s deg", mag_str, buf1, buf2);
|
||||||
|
+ "Track %-14.14s %6.6s,%6.6s deg", mag_str, buf1, buf2);
|
||||||
|
|
||||||
|
// Fill in the rate of climb.
|
||||||
|
if (0 == isfinite(gpsdata->fix.climb)) {
|
||||||
|
--
|
||||||
|
2.50.0
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
Upstream supports ncursesw but doesn't properly detect it. Let's do things the
|
|
||||||
right way and allow optional clients to be built.
|
|
||||||
|
|
||||||
https://gitlab.com/gpsd/gpsd/-/merge_requests/295
|
|
||||||
|
|
||||||
diff --git a/SConscript b/SConscript
|
|
||||||
index 345ead71550069f8fe976fab3f529f56b9e59e2b..e9c22358e0834404b1f1cfbbb1a0fca3ff58b658 100644
|
|
||||||
--- a/SConscript
|
|
||||||
+++ b/SConscript
|
|
||||||
@@ -1023,6 +1023,10 @@ if not cleaning and not helping:
|
|
||||||
ncurseslibs = pkg_config('ncurses', rpath_hack=True)
|
|
||||||
if config.CheckPKG('tinfo'):
|
|
||||||
ncurseslibs += pkg_config('tinfo', rpath_hack=True)
|
|
||||||
+ elif config.CheckPKG('ncursesw'):
|
|
||||||
+ ncurseslibs = pkg_config('ncursesw', rpath_hack=True)
|
|
||||||
+ if config.CheckPKG('tinfo'):
|
|
||||||
+ ncurseslibs += pkg_config('tinfo', rpath_hack=True)
|
|
||||||
# It's not yet known whether rpath_hack is appropriate for
|
|
||||||
# ncurses5-config.
|
|
||||||
elif WhereIs('ncurses5-config'):
|
|
|
@ -1,13 +1,13 @@
|
||||||
# Template file for 'gpsd'
|
# Template file for 'gpsd'
|
||||||
pkgname=gpsd
|
pkgname=gpsd
|
||||||
version=3.24
|
version=3.26.1
|
||||||
revision=4
|
revision=1
|
||||||
build_style=scons
|
build_style=scons
|
||||||
make_build_args="dbus_export=0 gpsd_user=gpsd gpsd_group=gpsd
|
make_build_args="dbus_export=0 gpsd_user=gpsd gpsd_group=gpsd
|
||||||
sbindir=/usr/bin CC=${CC} qt_versioned=5"
|
sbindir=/usr/bin CC=${CC} qt_versioned=5"
|
||||||
make_install_args="$make_build_args"
|
make_install_args="$make_build_args"
|
||||||
hostmakedepends="pkg-config bc python3-pyserial python3-setuptools libxslt
|
hostmakedepends="pkg-config bc python3-pyserial python3-setuptools libxslt
|
||||||
xmlto asciidoc"
|
xmlto"
|
||||||
makedepends="eudev-libudev-devel ntp libusb-devel ncurses-devel gtk+3-devel
|
makedepends="eudev-libudev-devel ntp libusb-devel ncurses-devel gtk+3-devel
|
||||||
pps-tools-devel libcap-devel libbluetooth-devel qt5-devel"
|
pps-tools-devel libcap-devel libbluetooth-devel qt5-devel"
|
||||||
short_desc="GPS/AIS receiver monitoring daemon"
|
short_desc="GPS/AIS receiver monitoring daemon"
|
||||||
|
@ -16,7 +16,7 @@ license="BSD-3-Clause"
|
||||||
homepage="https://gpsd.gitlab.io/gpsd/"
|
homepage="https://gpsd.gitlab.io/gpsd/"
|
||||||
changelog="https://gpsd.gitlab.io/gpsd/NEWS"
|
changelog="https://gpsd.gitlab.io/gpsd/NEWS"
|
||||||
distfiles="https://download-mirror.savannah.gnu.org/releases/gpsd/gpsd-${version}.tar.xz"
|
distfiles="https://download-mirror.savannah.gnu.org/releases/gpsd/gpsd-${version}.tar.xz"
|
||||||
checksum=dab45874c6da0ac604e3553b79fc228c25d6e71a32310a3467fb3bd9974e3755
|
checksum=45c0d4779324bd59a47cfcb7ac57180d2dbdf418603d398a079392dabf1f740c
|
||||||
python_version=3 # Must be same version as scons
|
python_version=3 # Must be same version as scons
|
||||||
system_accounts="gpsd"
|
system_accounts="gpsd"
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue