mirror of
https://github.com/void-linux/void-packages.git
synced 2025-07-29 08:52: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
|
||||
libobjc.so.4 libobjc-4.7.3_12
|
||||
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
|
||||
libbluetooth.so.3 libbluetooth-4.58_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
|
||||
libmpeg2convert.so.0 libmpeg2-0.5.1_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
|
||||
libsensors.so.5 libsensors-3.5.0_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'
|
||||
pkgname=gpsd
|
||||
version=3.24
|
||||
revision=4
|
||||
version=3.26.1
|
||||
revision=1
|
||||
build_style=scons
|
||||
make_build_args="dbus_export=0 gpsd_user=gpsd gpsd_group=gpsd
|
||||
sbindir=/usr/bin CC=${CC} qt_versioned=5"
|
||||
make_install_args="$make_build_args"
|
||||
hostmakedepends="pkg-config bc python3-pyserial python3-setuptools libxslt
|
||||
xmlto asciidoc"
|
||||
xmlto"
|
||||
makedepends="eudev-libudev-devel ntp libusb-devel ncurses-devel gtk+3-devel
|
||||
pps-tools-devel libcap-devel libbluetooth-devel qt5-devel"
|
||||
short_desc="GPS/AIS receiver monitoring daemon"
|
||||
|
@ -16,7 +16,7 @@ license="BSD-3-Clause"
|
|||
homepage="https://gpsd.gitlab.io/gpsd/"
|
||||
changelog="https://gpsd.gitlab.io/gpsd/NEWS"
|
||||
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
|
||||
system_accounts="gpsd"
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue