commit
6ac400d52a
@ -0,0 +1,2 @@
|
||||
SOURCES/gpsd-3.25.tar.gz
|
||||
SOURCES/scons-4.6.0.tar.gz
|
@ -0,0 +1,2 @@
|
||||
81965943f81484da80d8adb0547572fe9f0e8ebc SOURCES/gpsd-3.25.tar.gz
|
||||
189734458616309055eeaf7e65dd461e3c756869 SOURCES/scons-4.6.0.tar.gz
|
@ -0,0 +1,84 @@
|
||||
commit e5ba7aa2af74fd22ebbd5c4a6624edcf983863de
|
||||
Author: Michal Schmidt <mschmidt@redhat.com>
|
||||
Date: Fri Aug 4 16:53:01 2023 +0200
|
||||
|
||||
gps/gps.py.in: no busy-waiting when reading from gpsd socket
|
||||
|
||||
ubxtool keeps one CPU 100% busy while it waits for data to read from the
|
||||
gpsd socket. Running it under strace showed that it calls select() with
|
||||
zero timeout in a loop:
|
||||
|
||||
...
|
||||
11:02:34.049629 pselect6(4, [3], [], [], {tv_sec=0, tv_nsec=0}, NULL) = 0 (Timeout)
|
||||
11:02:34.049649 pselect6(4, [3], [], [], {tv_sec=0, tv_nsec=0}, NULL) = 0 (Timeout)
|
||||
11:02:34.049670 pselect6(4, [3], [], [], {tv_sec=0, tv_nsec=0}, NULL) = 0 (Timeout)
|
||||
...
|
||||
|
||||
The busy waiting can be eliminated by passing the actual timeout value
|
||||
to select(). In the reading loop in gps.py, the remaining time can be
|
||||
easily calculated and passed as the argument to the self.ser.waiting()
|
||||
function (which is basically a select() wrapper).
|
||||
|
||||
Fixing this problem exposed a bug in how the received bytes are decoded.
|
||||
decode_func may not consume all input at once. Consumable input may be
|
||||
left in self.out until decode_func returns zero, indicating that it
|
||||
could not process any more input. So decode_func must be called in a
|
||||
loop each time a buffer is received from the socket. The busy waiting
|
||||
was hiding this issue, because decode_func was being called all the
|
||||
time.
|
||||
|
||||
The "elif self.input_is_device:" branch probably needs similar
|
||||
treatment, but I am testing only the gpsd usecase.
|
||||
|
||||
diff --git a/gps/gps.py.in b/gps/gps.py.in
|
||||
index 623a750a0..14d7707ab 100644
|
||||
--- a/gps/gps.py.in
|
||||
+++ b/gps/gps.py.in
|
||||
@@ -384,10 +384,11 @@ class gps_io(object):
|
||||
if self.gpsd_host is not None:
|
||||
# gpsd input
|
||||
start = monotonic()
|
||||
- while (monotonic() - start) < input_wait:
|
||||
+ remaining_time = input_wait
|
||||
+ while remaining_time > 0:
|
||||
# First priority is to be sure the input buffer is read.
|
||||
# This is to prevent input buffer overuns
|
||||
- if 0 < self.ser.waiting():
|
||||
+ if 0 < self.ser.waiting(remaining_time):
|
||||
# We have serial input waiting, get it
|
||||
# No timeout possible
|
||||
# RTCM3 JSON can be over 4.4k long, so go big
|
||||
@@ -397,17 +398,22 @@ class gps_io(object):
|
||||
raw_fd.write(polybytes(new_out))
|
||||
self.out += new_out
|
||||
|
||||
- consumed = decode_func(self.out)
|
||||
- # TODO: the decoder shall return a some current
|
||||
- # statement_identifier # to fill last_statement_identifier
|
||||
- last_statement_identifier = None
|
||||
- #
|
||||
- self.out = self.out[consumed:]
|
||||
- if ((expect_statement_identifier and
|
||||
- (expect_statement_identifier ==
|
||||
- last_statement_identifier))):
|
||||
- # Got what we were waiting for. Done?
|
||||
- ret_code = 0
|
||||
+ while True:
|
||||
+ consumed = decode_func(self.out)
|
||||
+ if consumed == 0:
|
||||
+ break
|
||||
+ # TODO: the decoder shall return a some current
|
||||
+ # statement_identifier # to fill last_statement_identifier
|
||||
+ last_statement_identifier = None
|
||||
+ #
|
||||
+ self.out = self.out[consumed:]
|
||||
+ if ((expect_statement_identifier and
|
||||
+ (expect_statement_identifier ==
|
||||
+ last_statement_identifier))):
|
||||
+ # Got what we were waiting for. Done?
|
||||
+ ret_code = 0
|
||||
+
|
||||
+ remaining_time = start + input_wait - monotonic()
|
||||
|
||||
elif self.input_is_device:
|
||||
# input is a serial device
|
@ -0,0 +1,356 @@
|
||||
commit 5c080c35fc3d981172a5e4af34d0d92854a5433a
|
||||
Author: Miroslav Lichvar <mlichvar@redhat.com>
|
||||
Date: Tue Jul 25 11:01:14 2023 +0200
|
||||
|
||||
libgps/netlib.c: Rework enabling non-block and make binding configurable.
|
||||
|
||||
Instead of accepting SOCK_NONBLOCK as flags in netlib_connectsock1()
|
||||
specify if the non-blocking mode should be enabled after or before
|
||||
connect().
|
||||
|
||||
Also add a boolean parameter to the function to select between connect()
|
||||
and bind() instead of hardcoding it for TCP vs UDP, which will allow
|
||||
connecting to UDP ports in gps2udp.
|
||||
|
||||
diff --git a/gpsd/libgpsd_core.c b/gpsd/libgpsd_core.c
|
||||
index 47ee5d57e..341e8b80c 100644
|
||||
--- a/gpsd/libgpsd_core.c
|
||||
+++ b/gpsd/libgpsd_core.c
|
||||
@@ -561,7 +561,6 @@ int gpsd_open(struct gps_device_t *session)
|
||||
char server[GPS_PATH_MAX], *host, *port, *device;
|
||||
socket_t dsock;
|
||||
char addrbuf[50]; // INET6_ADDRSTRLEN
|
||||
- int sock_opt;
|
||||
|
||||
session->sourcetype = SOURCE_TCP;
|
||||
(void)strlcpy(server, session->gpsdata.dev.path + 6, sizeof(server));
|
||||
@@ -576,15 +575,9 @@ int gpsd_open(struct gps_device_t *session)
|
||||
GPSD_LOG(LOG_PROG, &session->context->errout,
|
||||
"CORE: opening TCP feed at %s, port %s.\n", host,
|
||||
port);
|
||||
-#if defined(SOCK_NONBLOCK)
|
||||
- sock_opt = SOCK_NONBLOCK;
|
||||
-#else
|
||||
- // macOS has no SOCK_NONBLOCK
|
||||
- sock_opt = 0;
|
||||
-#endif
|
||||
// open non-blocking
|
||||
dsock = netlib_connectsock1(AF_UNSPEC, host, port, "tcp",
|
||||
- sock_opt, addrbuf, sizeof(addrbuf));
|
||||
+ 1, false, addrbuf, sizeof(addrbuf));
|
||||
if (0 > dsock) {
|
||||
GPSD_LOG(LOG_ERROR, &session->context->errout,
|
||||
"CORE: TCP %s IP %s, open error %s(%d).\n",
|
||||
@@ -614,7 +607,8 @@ int gpsd_open(struct gps_device_t *session)
|
||||
GPSD_LOG(LOG_PROG, &session->context->errout,
|
||||
"CORE: opening UDP feed at %s, port %s.\n", host,
|
||||
port);
|
||||
- if (0 > (dsock = netlib_connectsock(AF_UNSPEC, host, port, "udp"))) {
|
||||
+ if (0 > (dsock = netlib_connectsock1(AF_UNSPEC, host, port, "udp",
|
||||
+ 0, true, NULL, 0))) {
|
||||
GPSD_LOG(LOG_ERROR, &session->context->errout,
|
||||
"CORE: UDP device open error %s(%d).\n",
|
||||
netlib_errstr(dsock), dsock);
|
||||
diff --git a/gpsd/net_ntrip.c b/gpsd/net_ntrip.c
|
||||
index 8241995ae..d89bdc1f9 100644
|
||||
--- a/gpsd/net_ntrip.c
|
||||
+++ b/gpsd/net_ntrip.c
|
||||
@@ -856,7 +856,8 @@ static int ntrip_reconnect(struct gps_device_t *device)
|
||||
device->gpsdata.dev.path);
|
||||
dsock = netlib_connectsock1(AF_UNSPEC, device->ntrip.stream.host,
|
||||
device->ntrip.stream.port,
|
||||
- "tcp", SOCK_NONBLOCK, addrbuf, sizeof(addrbuf));
|
||||
+ "tcp", 1, false,
|
||||
+ addrbuf, sizeof(addrbuf));
|
||||
device->gpsdata.gps_fd = dsock;
|
||||
// nonblocking means we have the fd, but the connection is not
|
||||
// finished yet. Connection may fail, later.
|
||||
diff --git a/include/gpsd.h b/include/gpsd.h
|
||||
index 0f6b731eb..2f3260c1e 100644
|
||||
--- a/include/gpsd.h
|
||||
+++ b/include/gpsd.h
|
||||
@@ -1002,7 +1002,7 @@ extern void gpsd_clear_data(struct gps_device_t *);
|
||||
extern socket_t netlib_connectsock(int, const char *, const char *,
|
||||
const char *);
|
||||
extern socket_t netlib_connectsock1(int, const char *, const char *,
|
||||
- const char *, int,
|
||||
+ const char *, int, bool,
|
||||
char *, size_t);
|
||||
// end FIXME
|
||||
extern socket_t netlib_localsocket(const char *, int);
|
||||
diff --git a/libgps/netlib.c b/libgps/netlib.c
|
||||
index e4e763025..5f553fe10 100644
|
||||
--- a/libgps/netlib.c
|
||||
+++ b/libgps/netlib.c
|
||||
@@ -55,8 +55,10 @@
|
||||
* host - host to connect to
|
||||
* service -- aka port
|
||||
* protocol
|
||||
- * flags -- can be SOCK_NONBLOCK for non-blocking connect
|
||||
- * Note: macOS does not have SOCK_NONBLOCK
|
||||
+ * nonblock -- 1 sets the socket as non-blocking before connect() if
|
||||
+ * SOCK_NONBLOCK is supported,
|
||||
+ * >1 sets the socket as non-blocking after connect()
|
||||
+ * bind_me -- call bind() on the socket instead of connect()
|
||||
* addrbuf -- 50 char buf to put string of IP address conencting
|
||||
* INET6_ADDRSTRLEN
|
||||
* addrbuf_sz -- sizeof(adddrbuf)
|
||||
@@ -70,16 +72,15 @@
|
||||
* less than zero on error (NL_*)
|
||||
*/
|
||||
socket_t netlib_connectsock1(int af, const char *host, const char *service,
|
||||
- const char *protocol, int flags,
|
||||
+ const char *protocol, int nonblock, bool bind_me,
|
||||
char *addrbuf, size_t addrbuf_sz)
|
||||
{
|
||||
struct protoent *ppe;
|
||||
struct addrinfo hints;
|
||||
struct addrinfo *result = NULL;
|
||||
struct addrinfo *rp;
|
||||
- int ret, type, proto, one;
|
||||
+ int ret, flags, type, proto, one;
|
||||
socket_t s;
|
||||
- bool bind_me;
|
||||
|
||||
if (NULL != addrbuf) {
|
||||
addrbuf[0] = '\0';
|
||||
@@ -97,9 +98,6 @@ socket_t netlib_connectsock1(int af, const char *host, const char *service,
|
||||
return NL_NOPROTO;
|
||||
}
|
||||
|
||||
- /* we probably ought to pass this in as an explicit flag argument */
|
||||
- bind_me = (SOCK_DGRAM == type);
|
||||
-
|
||||
memset(&hints, 0, sizeof(struct addrinfo));
|
||||
hints.ai_family = af;
|
||||
hints.ai_socktype = type;
|
||||
@@ -107,6 +105,15 @@ socket_t netlib_connectsock1(int af, const char *host, const char *service,
|
||||
if (bind_me) {
|
||||
hints.ai_flags = AI_PASSIVE;
|
||||
}
|
||||
+#if defined(SOCK_NONBLOCK)
|
||||
+ flags = nonblock == 1 ? SOCK_NONBLOCK : 0;
|
||||
+#else
|
||||
+ // macOS has no SOCK_NONBLOCK
|
||||
+ flags = 0;
|
||||
+ if (nonblock == 1)
|
||||
+ nonblock = 2;
|
||||
+#endif
|
||||
+
|
||||
// FIXME: need a way to bypass these DNS calls if host is an IP.
|
||||
if ((ret = getaddrinfo(host, service, &hints, &result))) {
|
||||
// result is unchanged on error, so we need to have set it to NULL
|
||||
@@ -219,13 +226,15 @@ socket_t netlib_connectsock1(int af, const char *host, const char *service,
|
||||
sizeof(one));
|
||||
}
|
||||
|
||||
- // set socket to noblocking
|
||||
+ if (nonblock > 1) {
|
||||
+ // set socket to noblocking
|
||||
#ifdef HAVE_FCNTL
|
||||
- (void)fcntl(s, F_SETFL, fcntl(s, F_GETFL) | O_NONBLOCK);
|
||||
+ (void)fcntl(s, F_SETFL, fcntl(s, F_GETFL) | O_NONBLOCK);
|
||||
#elif defined(HAVE_WINSOCK2_H)
|
||||
- u_long one1 = 1;
|
||||
- (void)ioctlsocket(s, FIONBIO, &one1);
|
||||
+ u_long one1 = 1;
|
||||
+ (void)ioctlsocket(s, FIONBIO, &one1);
|
||||
#endif
|
||||
+ }
|
||||
return s;
|
||||
}
|
||||
|
||||
@@ -235,7 +244,7 @@ socket_t netlib_connectsock1(int af, const char *host, const char *service,
|
||||
socket_t netlib_connectsock(int af, const char *host, const char *service,
|
||||
const char *protocol)
|
||||
{
|
||||
- return netlib_connectsock1(af, host, service, protocol, 0, NULL, 0);
|
||||
+ return netlib_connectsock1(af, host, service, protocol, 2, false, NULL, 0);
|
||||
}
|
||||
|
||||
// Convert NL_* error code to a string
|
||||
|
||||
commit fd6682a6ffd0a5d4d640839422274b582ba38e72
|
||||
Author: Miroslav Lichvar <mlichvar@redhat.com>
|
||||
Date: Tue Jul 25 11:08:19 2023 +0200
|
||||
|
||||
clients/gps2udp.c: Switch to netlib_connectsock1().
|
||||
|
||||
Use netlib_connectsock1() to avoid using obsolete gethostbyname() and
|
||||
support IPv6.
|
||||
|
||||
diff --git a/clients/gps2udp.c b/clients/gps2udp.c
|
||||
index 2d9c6033d..541054d8f 100644
|
||||
--- a/clients/gps2udp.c
|
||||
+++ b/clients/gps2udp.c
|
||||
@@ -21,7 +21,6 @@
|
||||
#ifdef HAVE_GETOPT_LONG
|
||||
#include <getopt.h> // for getopt_long()
|
||||
#endif
|
||||
-#include <netdb.h> /* for gethostbyname() */
|
||||
#include <netinet/in.h>
|
||||
#include <stdbool.h>
|
||||
#include <stdio.h>
|
||||
@@ -50,7 +49,6 @@ static struct gps_data_t gpsdata;
|
||||
|
||||
/* UDP socket variables */
|
||||
#define MAX_UDP_DEST 5
|
||||
-static struct sockaddr_in remote[MAX_UDP_DEST];
|
||||
static int sock[MAX_UDP_DEST];
|
||||
static int udpchannel;
|
||||
|
||||
@@ -128,12 +126,10 @@ static int send_udp(char *nmeastring, size_t ind)
|
||||
|
||||
// send message on udp channel
|
||||
for (channel=0; channel < udpchannel; channel ++) {
|
||||
- ssize_t status = sendto(sock[channel],
|
||||
- buffer,
|
||||
- ind,
|
||||
- 0,
|
||||
- (struct sockaddr *)&remote[channel],
|
||||
- (int)sizeof(remote));
|
||||
+ ssize_t status = send(sock[channel],
|
||||
+ buffer,
|
||||
+ ind,
|
||||
+ 0);
|
||||
if (status < (ssize_t)ind) {
|
||||
(void)fprintf(stderr, "gps2udp: failed to send [%s] \n",
|
||||
buffer);
|
||||
@@ -152,9 +148,6 @@ static int open_udp(char **hostport)
|
||||
for (channel = 0; channel < udpchannel; channel++) {
|
||||
char *hostname = NULL;
|
||||
char *portname = NULL;
|
||||
- char *endptr = NULL;
|
||||
- int portnum;
|
||||
- struct hostent *hp;
|
||||
|
||||
if (NULL == hostport[channel]) {
|
||||
// pacify coverity
|
||||
@@ -171,32 +164,13 @@ static int open_udp(char **hostport)
|
||||
return -1;
|
||||
}
|
||||
|
||||
- errno = 0;
|
||||
- portnum = (int)strtol(portname, &endptr, 10);
|
||||
- if (1 > portnum || 65535 < portnum || '\0' != *endptr || 0 != errno) {
|
||||
- (void)fprintf(stderr, "gps2udp: syntax is [-u hostname:port] "
|
||||
- "[%s] is not a valid port number\n", portname);
|
||||
- return -1;
|
||||
- }
|
||||
-
|
||||
- sock[channel]= socket(AF_INET, SOCK_DGRAM, 0);
|
||||
+ sock[channel] = netlib_connectsock1(AF_UNSPEC, hostname, portname, "udp",
|
||||
+ 0, false, NULL, 0);
|
||||
if (0 > sock[channel]) {
|
||||
- (void)fprintf(stderr, "gps2udp: error creating UDP socket\n");
|
||||
+ (void)fprintf(stderr, "gps2udp: error creating UDP socket: %s\n",
|
||||
+ netlib_errstr(sock[channel]));
|
||||
return -1;
|
||||
}
|
||||
-
|
||||
- remote[channel].sin_family = (sa_family_t)AF_INET;
|
||||
- hp = gethostbyname(hostname);
|
||||
- if (NULL == hp) {
|
||||
- (void)fprintf(stderr,
|
||||
- "gps2udp: syntax is [-u hostname:port] [%s]"
|
||||
- " is not a valid hostname\n",
|
||||
- hostname);
|
||||
- return -1;
|
||||
- }
|
||||
-
|
||||
- memcpy( &remote[channel].sin_addr, hp->h_addr_list[0], hp->h_length);
|
||||
- remote[channel].sin_port = htons((in_port_t)portnum);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
commit 749be8acce27f16d74ba727f4819f3e49602882a
|
||||
Author: Miroslav Lichvar <mlichvar@redhat.com>
|
||||
Date: Tue Jul 25 11:10:39 2023 +0200
|
||||
|
||||
clients/lcdgps.c: Switch to netlib_connectsock1().
|
||||
|
||||
Use netlib_connectsock1() to avoid using obsolete gethostbyname() and
|
||||
support IPv6.
|
||||
|
||||
diff --git a/clients/lcdgps.c b/clients/lcdgps.c
|
||||
index 7d0ee6bc8..b311882b0 100644
|
||||
--- a/clients/lcdgps.c
|
||||
+++ b/clients/lcdgps.c
|
||||
@@ -21,11 +21,12 @@
|
||||
*/
|
||||
|
||||
#define LCDDHOST "localhost"
|
||||
-#define LCDDPORT 13666
|
||||
+#define LCDDPORT "13666"
|
||||
|
||||
#define CLIMB 3
|
||||
|
||||
#include "../include/gpsd_config.h" /* must be before all includes */
|
||||
+#include "../include/gpsd.h"
|
||||
|
||||
#include <arpa/inet.h>
|
||||
#include <errno.h>
|
||||
@@ -33,7 +34,6 @@
|
||||
#include <getopt.h> // for getopt_long()
|
||||
#endif
|
||||
#include <math.h>
|
||||
-#include <netdb.h> /* for gethostbyname() */
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
@@ -259,9 +259,6 @@ static void usage( char *prog)
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
- int rc;
|
||||
- struct sockaddr_in localAddr, servAddr;
|
||||
- struct hostent *h;
|
||||
const char *optstring = "?hl:su:V";
|
||||
int n;
|
||||
#ifdef HAVE_GETOPT_LONG
|
||||
@@ -390,41 +387,10 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
|
||||
/* Connect to LCDd */
|
||||
- h = gethostbyname(LCDDHOST);
|
||||
- if (h==NULL) {
|
||||
- printf("%s: unknown host '%s'\n",argv[0],LCDDHOST);
|
||||
- exit(EXIT_FAILURE);
|
||||
- }
|
||||
-
|
||||
- servAddr.sin_family = h->h_addrtype;
|
||||
- memcpy((char *) &servAddr.sin_addr.s_addr, h->h_addr_list[0], h->h_length);
|
||||
- servAddr.sin_port = htons(LCDDPORT);
|
||||
-
|
||||
- /* create socket */
|
||||
- sd = socket(AF_INET, SOCK_STREAM, 0);
|
||||
- if (BAD_SOCKET(sd)) {
|
||||
- perror("cannot open socket ");
|
||||
- exit(EXIT_FAILURE);
|
||||
- }
|
||||
-
|
||||
- /* bind any port number */
|
||||
- localAddr.sin_family = AF_INET;
|
||||
- localAddr.sin_addr.s_addr = htonl(INADDR_ANY);
|
||||
- localAddr.sin_port = htons(0);
|
||||
-
|
||||
- /* coverity[uninit_use_in_call] */
|
||||
- rc = bind(sd, (struct sockaddr *) &localAddr, sizeof(localAddr));
|
||||
- if (rc == -1) {
|
||||
- printf("%s: cannot bind port TCP %d\n",argv[0],LCDDPORT);
|
||||
- perror("error ");
|
||||
- exit(EXIT_FAILURE);
|
||||
- }
|
||||
+ sd = netlib_connectsock1(AF_UNSPEC, LCDDHOST, LCDDPORT, "tcp", 0, false, NULL, 0);
|
||||
+ if (0 > sd) {
|
||||
|
||||
- /* connect to server */
|
||||
- /* coverity[uninit_use_in_call] */
|
||||
- rc = connect(sd, (struct sockaddr *) &servAddr, sizeof(servAddr));
|
||||
- if (rc == -1) {
|
||||
- perror("cannot connect ");
|
||||
+ (void)fprintf(stderr, "lcdgps: cannot connect: %s\n", netlib_errstr(sd));
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
@ -0,0 +1,188 @@
|
||||
commit 651d505d2b075b9bd87729d2d5d155c29c03fbc1
|
||||
Author: Miroslav Lichvar <mlichvar@redhat.com>
|
||||
Date: Mon Jul 31 15:46:16 2023 +0200
|
||||
|
||||
devtools/tablegen.py: Fix typo in structname.
|
||||
|
||||
diff --git a/devtools/tablegen.py b/devtools/tablegen.py
|
||||
index 7851fceca..3feb64b9e 100755
|
||||
--- a/devtools/tablegen.py
|
||||
+++ b/devtools/tablegen.py
|
||||
@@ -129,7 +129,7 @@ def make_driver_code(wfp):
|
||||
continue
|
||||
offset = offsets[i].split('-')[0]
|
||||
if arrayname:
|
||||
- target = "%s.%s[i].%s" % (structnme, arrayname, name)
|
||||
+ target = "%s.%s[i].%s" % (structname, arrayname, name)
|
||||
offset = "a + " + offset
|
||||
else:
|
||||
target = "%s.%s" % (structname, name)
|
||||
|
||||
commit db2a00f7ee4e66ee57ff66e84cec664444c26d8f
|
||||
Author: Miroslav Lichvar <mlichvar@redhat.com>
|
||||
Date: Mon Jul 31 15:47:10 2023 +0200
|
||||
|
||||
gpsd/net_dgpsip.c: Fix socket check.
|
||||
|
||||
diff --git a/gpsd/net_dgpsip.c b/gpsd/net_dgpsip.c
|
||||
index d6e123b67..8e218ba41 100644
|
||||
--- a/gpsd/net_dgpsip.c
|
||||
+++ b/gpsd/net_dgpsip.c
|
||||
@@ -42,7 +42,7 @@ socket_t dgpsip_open(struct gps_device_t *device, const char *dgpsserver)
|
||||
}
|
||||
|
||||
dsock = netlib_connectsock(AF_UNSPEC, dgpsserver, dgpsport, "tcp");
|
||||
- if (0 <= dsock) {
|
||||
+ if (0 > dsock) {
|
||||
GPSD_LOG(LOG_ERROR, &device->context->errout,
|
||||
"DGPS: can't connect to DGPS server %s, netlib error %s(%d).\n",
|
||||
dgpsserver, netlib_errstr(dsock), dsock);
|
||||
|
||||
commit 60bc3595dbb74f8904037ad64b2a0820c408996b
|
||||
Author: Miroslav Lichvar <mlichvar@redhat.com>
|
||||
Date: Mon Jul 31 15:50:32 2023 +0200
|
||||
|
||||
clients/gpsdebuginfo: Fix issues reported by shellcheck.
|
||||
|
||||
diff --git a/clients/gpsdebuginfo b/clients/gpsdebuginfo
|
||||
index fa970dad9..38a1540b2 100755
|
||||
--- a/clients/gpsdebuginfo
|
||||
+++ b/clients/gpsdebuginfo
|
||||
@@ -7,7 +7,7 @@ exec 2>&1
|
||||
|
||||
# print what we do
|
||||
set -x
|
||||
-if [ 0 != $(id -u) ]; then
|
||||
+if [ 0 != "$(id -u)" ]; then
|
||||
echo "Please run as root"
|
||||
exit 1
|
||||
fi
|
||||
@@ -63,9 +63,9 @@ ls -l /dev/pps* /dev/tty[ASTU]* /dev/gps*
|
||||
if command -v lsusb; then
|
||||
lsusb
|
||||
fi
|
||||
-echo PYTHONPATH $PYTHONPATH
|
||||
+echo PYTHONPATH "$PYTHONPATH"
|
||||
if command -v gpscat; then
|
||||
- head -n 1 `command -v gpscat`
|
||||
+ head -n 1 "$(command -v gpscat)"
|
||||
fi
|
||||
if command -v python; then
|
||||
python -V
|
||||
|
||||
commit e12265d591f07a50d6de54af83ae6246326460ef
|
||||
Author: Miroslav Lichvar <mlichvar@redhat.com>
|
||||
Date: Mon Jul 31 15:50:58 2023 +0200
|
||||
|
||||
gpsinit: Fix issues reported by shellcheck.
|
||||
|
||||
diff --git a/gpsinit b/gpsinit
|
||||
index 5c14f3374..8fc6c92ec 100755
|
||||
--- a/gpsinit
|
||||
+++ b/gpsinit
|
||||
@@ -6,26 +6,23 @@
|
||||
# SPDX-License-Identifier: BSD-2-clause
|
||||
#
|
||||
|
||||
-speed=38400
|
||||
net=0
|
||||
|
||||
version()
|
||||
{
|
||||
- echo `basename $0`" : Version v0.21";
|
||||
+ echo "$(basename "$0") : Version v0.21";
|
||||
}
|
||||
|
||||
usage()
|
||||
{
|
||||
version; echo;
|
||||
- echo "usage :" `basename $0` "[-n <netnumber>] [-s <serial speed>] <can_module_name> [<interface_name>]";
|
||||
- echo " :" `basename $0` "-V";
|
||||
- echo " :" `basename $0` "-h";
|
||||
+ echo "usage : $(basename "$0") [-n <netnumber>] <can_module_name> [<interface_name>]";
|
||||
+ echo " : $(basename "$0") -V";
|
||||
+ echo " : $(basename "$0") -h";
|
||||
echo " Options include:";
|
||||
echo " -? = Print this help message and exit.";
|
||||
echo " -h = Print this help message and exit.";
|
||||
echo " -n = CAN network number, 0 if not given.";
|
||||
- echo " -s = Speed of the slcan hardware port, 38400 if not given.";
|
||||
- echo " = Needed for some slcan modules only.";
|
||||
echo " -V = Print version of this script and exit.";
|
||||
echo " can_module_name = One out of plx_pci, esd_usb2, usb_8dev, vcan, slcan, beaglebone.";
|
||||
echo " interface_name = The interface, the SLCAN module is connected to, i.e. /dev/ttyS0 or /dev/ttyUSB0.";
|
||||
@@ -34,19 +31,19 @@ usage()
|
||||
}
|
||||
|
||||
# -v for version is deprecated 2020
|
||||
-while getopts :n:s:vh opt
|
||||
+while getopts :n:s:vVh opt
|
||||
do
|
||||
case ${opt} in
|
||||
h) usage; exit 0;;
|
||||
n) net=${OPTARG};;
|
||||
- s) speed=${OPTARG};;
|
||||
+ s) ;; # unused
|
||||
\?) usage; exit 1;;
|
||||
v) version; exit 0;;
|
||||
V) version; exit 0;;
|
||||
esac
|
||||
done
|
||||
|
||||
-shift $((${OPTIND} - 1))
|
||||
+shift $((OPTIND - 1))
|
||||
|
||||
candevice=$1
|
||||
|
||||
@@ -54,38 +51,38 @@ case ${candevice} in
|
||||
plx_pci)
|
||||
# For the SJA1000 based PCI or PCI-Express CAN interface
|
||||
modprobe plx_pci;
|
||||
- ip link set can${net} type can tq 250 prop-seg 6 phase-seg1 7 phase-seg2 2 sjw 1;
|
||||
- ip link set can${net} up;;
|
||||
+ ip link set "can${net}" type can tq 250 prop-seg 6 phase-seg1 7 phase-seg2 2 sjw 1;
|
||||
+ ip link set "can${net}" up;;
|
||||
esd_usb2)
|
||||
# For an esd usb/2 CAN interface
|
||||
modprobe esd_usb2;
|
||||
- ip link set can${net} type can tq 250 prop-seg 6 phase-seg1 7 phase-seg2 2 sjw 1;
|
||||
- ip link set can${net} up;;
|
||||
+ ip link set "can${net}" type can tq 250 prop-seg 6 phase-seg1 7 phase-seg2 2 sjw 1;
|
||||
+ ip link set "can${net}" up;;
|
||||
usb_8dev)
|
||||
# For an 8devices usb2can CAN interface
|
||||
modprobe usb_8dev;
|
||||
- ip link set can${net} type can tq 250 prop-seg 6 phase-seg1 7 phase-seg2 2 sjw 1;
|
||||
- ip link set can${net} up;;
|
||||
+ ip link set "can${net}" type can tq 250 prop-seg 6 phase-seg1 7 phase-seg2 2 sjw 1;
|
||||
+ ip link set "can${net}" up;;
|
||||
vcan)
|
||||
# With this setup, CAN frames can be injected into vcan0 by a test
|
||||
modprobe vcan;
|
||||
ip link add type vcan;
|
||||
- ip link set vcan${net} up;;
|
||||
+ ip link set "vcan${net}" up;;
|
||||
slcan)
|
||||
# For a serial line CAN device
|
||||
# No support for devices, that need a setup of the baudrate yet
|
||||
device=${2:-/dev/ttyUSB0};
|
||||
modprobe slcan;
|
||||
- slcan_attach -f -s5 -o ${device};
|
||||
- slcand `basename ${device}`;
|
||||
- ip link set slcan${net} up;;
|
||||
+ slcan_attach -f -s5 -o "${device}";
|
||||
+ slcand "$(basename "${device}")";
|
||||
+ ip link set "slcan${net}" up;;
|
||||
beaglebone)
|
||||
# For CAN interface on a BeagleBone
|
||||
# The d_can driver is part of the kernel
|
||||
- ip link set can${net} type can bitrate 250000 sjw 1;
|
||||
- ip link set can${net} up;;
|
||||
+ ip link set "can${net}" type can bitrate 250000 sjw 1;
|
||||
+ ip link set "can${net}" up;;
|
||||
*)
|
||||
- echo `basename ${0}` ": invalid CAN interface ${1} net${net} device ${2:-(none)}"
|
||||
+ echo "$(basename "$0") : invalid CAN interface ${1} net${net} device ${2:-(none)}"
|
||||
echo;
|
||||
usage;
|
||||
exit 1
|
@ -0,0 +1,22 @@
|
||||
diff -up gpsd-3.25/SConscript.sconsflags gpsd-3.25/SConscript
|
||||
--- gpsd-3.25/SConscript.sconsflags 2024-04-22 15:14:25.672775265 +0200
|
||||
+++ gpsd-3.25/SConscript 2024-04-22 15:18:33.935960954 +0200
|
||||
@@ -619,12 +619,15 @@ for i in ["ARFLAGS",
|
||||
"SHLINKFLAGS",
|
||||
]:
|
||||
if i in os.environ:
|
||||
- env.MergeFlags(Split(os.getenv(i)))
|
||||
+ t = i
|
||||
+ if t == "LDFLAGS":
|
||||
+ t = "LINKFLAGS"
|
||||
+ env.MergeFlags({t: Split(os.getenv(i))})
|
||||
|
||||
|
||||
-# Keep scan-build options in the environment
|
||||
+# Keep scan-build and rpm options in the environment
|
||||
for key, value in os.environ.items():
|
||||
- if key.startswith('CCC_'):
|
||||
+ if key.startswith('CCC_') or key.startswith('RPM_'):
|
||||
env.Append(ENV={key: value})
|
||||
|
||||
# Placeholder so we can kluge together something like VPATH builds.
|
@ -0,0 +1,4 @@
|
||||
# Options for gpsd, including serial devices
|
||||
OPTIONS=""
|
||||
# Set to 'true' to add USB devices automatically via udev
|
||||
USBAUTO="true"
|
@ -0,0 +1,833 @@
|
||||
%if 0%{?rhel} >= 10
|
||||
# libgps ABI changes too frequently to be provided for other applications
|
||||
%global with_libs 0
|
||||
%global with_qt 0
|
||||
%else
|
||||
%global with_libs 1
|
||||
%global with_qt 1
|
||||
%endif
|
||||
|
||||
%global scons_ver 4.6.0
|
||||
%global scons python3 scons-%{scons_ver}/scripts/scons.py
|
||||
%global note1 The Red Hat support for this package is limited. See
|
||||
%global note2 https://access.redhat.com/support/policy/gpsd-support for more details.
|
||||
|
||||
Name: gpsd
|
||||
Version: 3.25
|
||||
Release: 16%{?dist}
|
||||
Epoch: 1
|
||||
Summary: Service daemon for mediating access to a GPS
|
||||
|
||||
License: BSD-2-Clause
|
||||
URL: https://gpsd.gitlab.io/gpsd/index.html
|
||||
Source0: https://download-mirror.savannah.gnu.org/releases/gpsd/%{name}-%{version}.tar.gz
|
||||
# used only for building
|
||||
Source1: https://github.com/SCons/scons/archive/%{scons_ver}/scons-%{scons_ver}.tar.gz
|
||||
Source11: gpsd.sysconfig
|
||||
|
||||
# add missing IPv6 support
|
||||
Patch1: gpsd-ipv6.patch
|
||||
# fix some issues reported by coverity and shellcheck
|
||||
Patch2: gpsd-scanfixes.patch
|
||||
# fix busy wait when reading from gpsd socket
|
||||
Patch3: gpsd-busywait.patch
|
||||
# don't ignore unrecognized options in CFLAGS/LDFLAGS
|
||||
Patch4: gpsd-sconsflags.patch
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: dbus-devel
|
||||
BuildRequires: ncurses-devel
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: python3-setuptools
|
||||
BuildRequires: gtk3-devel
|
||||
BuildRequires: python3-gobject
|
||||
BuildRequires: python3-cairo
|
||||
BuildRequires: python3-pyserial
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: bluez-libs-devel
|
||||
BuildRequires: pps-tools-devel
|
||||
BuildRequires: systemd-rpm-macros
|
||||
%if %{with_qt}
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: qt-devel
|
||||
%endif
|
||||
BuildRequires: libusb1-devel
|
||||
|
||||
Requires: udev
|
||||
%{?systemd_requires}
|
||||
|
||||
%if !%{with_libs}
|
||||
Obsoletes: gpsd-libs < %{epoch}:%{version}-%{release}
|
||||
Obsoletes: gpsd-devel < %{epoch}:%{version}-%{release}
|
||||
%endif
|
||||
|
||||
Obsoletes: gpsd-minimal
|
||||
|
||||
%description
|
||||
gpsd is a service daemon that mediates access to a GPS sensor
|
||||
connected to the host computer by serial or USB interface, making its
|
||||
data on the location/course/velocity of the sensor available to be
|
||||
queried on TCP port 2947 of the host computer. With gpsd, multiple
|
||||
GPS client applications (such as navigational and war-driving software)
|
||||
can share access to a GPS without contention or loss of data. Also,
|
||||
gpsd responds to queries with a format that is substantially easier to
|
||||
parse than NMEA 0183.
|
||||
|
||||
%if %{with_libs}
|
||||
%package libs
|
||||
Summary: Client libraries in C for talking to a running gpsd or GPS
|
||||
|
||||
%description libs
|
||||
This package contains the gpsd libraries that manage access
|
||||
to a GPS for applications.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for the gpsd library
|
||||
Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release}
|
||||
|
||||
%description devel
|
||||
This package provides C header files for the gpsd shared libraries that
|
||||
manage access to a GPS for applications
|
||||
%endif
|
||||
|
||||
%if %{with_qt}
|
||||
%package qt
|
||||
Summary: C++/Qt5 bindings for the gpsd library
|
||||
%if %{with_libs}
|
||||
Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release}
|
||||
%endif
|
||||
|
||||
%description qt
|
||||
This package provide C++ and Qt bindings for use with the libgps library from
|
||||
gpsd.
|
||||
|
||||
%package qt-devel
|
||||
Summary: Development files for the C++/Qt5 bindings for the gpsd library
|
||||
Requires: %{name}-qt%{?_isa} = %{epoch}:%{version}-%{release}
|
||||
|
||||
%description qt-devel
|
||||
This package provides the development files for the C++ and Qt bindings for use
|
||||
with the libgps library from gpsd.
|
||||
%endif
|
||||
|
||||
%package -n python3-%{name}
|
||||
Summary: Python libraries and modules for use with gpsd
|
||||
%if %{with_libs}
|
||||
Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release}
|
||||
%endif
|
||||
Requires: python3-pyserial
|
||||
%{?python_provide:%python_provide python3-%{name}}
|
||||
|
||||
%description -n python3-%{name}
|
||||
This package contains the python3 modules that manage access to a GPS for
|
||||
applications.
|
||||
|
||||
%package clients
|
||||
Summary: Clients for gpsd
|
||||
Requires: python3-%{name} = %{epoch}:%{version}-%{release}
|
||||
%if %{with_libs}
|
||||
Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release}
|
||||
%endif
|
||||
Obsoletes: gpsd-minimal-clients
|
||||
|
||||
%description clients
|
||||
This package contains various clients using gpsd.
|
||||
|
||||
%package xclients
|
||||
Summary: Graphical clients for gpsd
|
||||
Requires: python3-%{name} = %{epoch}:%{version}-%{release}
|
||||
Requires: python3-cairo
|
||||
Requires: python3-gobject
|
||||
Requires: gtk3
|
||||
# subpackage split
|
||||
Conflicts: gpsd-clients < 1:3.25-6
|
||||
|
||||
%description xclients
|
||||
This package contains X clients using gpsd.
|
||||
|
||||
%prep
|
||||
%setup -q -a 1
|
||||
%patch -P 1 -p1 -b .ipv6
|
||||
%patch -P 2 -p1 -b .scanfixes
|
||||
%patch -P 3 -p1 -b .busywait
|
||||
%patch -P 4 -p1 -b .sconsflags
|
||||
|
||||
# add note to man pages about limited support
|
||||
sed -i ':a;$!{N;ba};s|\(\.SH "[^"]*"\)|.SH "NOTE"\n%{note1}\n%{note2}\n\1|3' \
|
||||
man/*.{1,8}
|
||||
|
||||
# don't try reloading systemd when installing in the build root
|
||||
sed -i 's|systemctl daemon-reload|true|' SConscript
|
||||
|
||||
iconv -f iso8859-1 -t utf8 NEWS > NEWS_ && mv NEWS_ NEWS
|
||||
|
||||
%build
|
||||
export CCFLAGS="%{optflags}"
|
||||
# scons ignores LDFLAGS. LINKFLAGS partially work (some flags like
|
||||
# -spec=... are filtered)
|
||||
export LINKFLAGS="%{__global_ldflags}"
|
||||
|
||||
# breaks with %%{_smp_mflags}
|
||||
%{scons} \
|
||||
dbus_export=yes \
|
||||
systemd=yes \
|
||||
%if %{with_qt}
|
||||
qt=yes \
|
||||
%else
|
||||
qt=no \
|
||||
%endif
|
||||
debug=yes \
|
||||
leapfetch=no \
|
||||
manbuild=no \
|
||||
prefix="" \
|
||||
sysconfdif=%{_sysconfdir} \
|
||||
bindir=%{_bindir} \
|
||||
includedir=%{_includedir} \
|
||||
libdir=%{_libdir} \
|
||||
sbindir=%{_sbindir} \
|
||||
mandir=%{_mandir} \
|
||||
mibdir=%{_docdir}/gpsd \
|
||||
docdir=%{_docdir}/gpsd \
|
||||
pkgconfigdir=%{_libdir}/pkgconfig \
|
||||
icondir=%{_datadir}/gpsd \
|
||||
udevdir=$(dirname %{_udevrulesdir}) \
|
||||
unitdir=%{_unitdir} \
|
||||
target_python=python3 \
|
||||
python_shebang=%{python3} \
|
||||
python_libdir=%{python3_sitearch} \
|
||||
build
|
||||
|
||||
%install
|
||||
# avoid rebuilding
|
||||
export CCFLAGS="%{optflags}"
|
||||
export LINKFLAGS="%{__global_ldflags}"
|
||||
|
||||
DESTDIR=%{buildroot} %{scons} install systemd_install udev-install
|
||||
|
||||
# use the old name for udev rules
|
||||
mv %{buildroot}%{_udevrulesdir}/{25,99}-gpsd.rules
|
||||
|
||||
install -d -m 0755 %{buildroot}%{_sysconfdir}/sysconfig
|
||||
install -p -m 0644 %{SOURCE11} \
|
||||
%{buildroot}%{_sysconfdir}/sysconfig/gpsd
|
||||
|
||||
# Install the .desktop files
|
||||
desktop-file-install \
|
||||
--dir %{buildroot}%{_datadir}/applications \
|
||||
gpsd-%{version}/packaging/X11/xgps.desktop
|
||||
desktop-file-install \
|
||||
--dir %{buildroot}%{_datadir}/applications \
|
||||
gpsd-%{version}/packaging/X11/xgpsspeed.desktop
|
||||
|
||||
# Missed in scons install
|
||||
install -p -m 0755 gpsinit %{buildroot}%{_sbindir}
|
||||
|
||||
# Remove shebang and fix permissions
|
||||
sed -i '/^#!.*python/d' %{buildroot}%{python3_sitearch}/gps/{aio,}gps.py
|
||||
chmod 644 %{buildroot}%{python3_sitearch}/gps/gps.py
|
||||
|
||||
rm -f %{buildroot}%{_libdir}/libgpsdpacket.so
|
||||
|
||||
# Remove unpackaged files
|
||||
%if !%{with_libs}
|
||||
rm -f %{buildroot}%{_libdir}/lib{gps*.so,gps.so.*}
|
||||
rm -rf %{buildroot}%{_libdir}/pkgconfig
|
||||
rm -rf %{buildroot}%{_includedir}
|
||||
rm -rf %{buildroot}%{_mandir}/man{3,5}
|
||||
%endif
|
||||
%if !%{with_qt}
|
||||
rm -f %{buildroot}%{_libdir}/libQgpsmm* \
|
||||
%{buildroot}%{_libdir}/pkgconfig/Qgpsmm* \
|
||||
%{buildroot}%{_mandir}/man3/libQgpsmm.3*
|
||||
%endif
|
||||
rm -rf %{buildroot}%{_docdir}/gpsd
|
||||
|
||||
%post
|
||||
%systemd_post gpsd.service gpsd.socket
|
||||
|
||||
%preun
|
||||
%systemd_preun gpsd.service gpsd.socket
|
||||
|
||||
%postun
|
||||
# Don't restart the service
|
||||
%systemd_postun gpsd.service gpsd.socket
|
||||
|
||||
%if %{with_libs}
|
||||
%ldconfig_scriptlets libs
|
||||
%endif
|
||||
|
||||
%if %{with_qt}
|
||||
%ldconfig_scriptlets qt
|
||||
%endif
|
||||
|
||||
%files
|
||||
%doc README.adoc NEWS
|
||||
%license COPYING
|
||||
%config(noreplace) %{_sysconfdir}/sysconfig/%{name}
|
||||
%{_sbindir}/gpsd
|
||||
%{_sbindir}/gpsdctl
|
||||
%{_sbindir}/gpsinit
|
||||
%{_bindir}/gpsmon
|
||||
%{_bindir}/gpsctl
|
||||
%{_bindir}/ntpshmmon
|
||||
%{_bindir}/ppscheck
|
||||
%{_unitdir}/gpsd.service
|
||||
%{_unitdir}/gpsd.socket
|
||||
%{_unitdir}/gpsdctl@.service
|
||||
%{_udevrulesdir}/*.rules
|
||||
%{_mandir}/man8/gpsd.8*
|
||||
%{_mandir}/man8/gpsdctl.8*
|
||||
%{_mandir}/man8/gpsinit.8*
|
||||
%{_mandir}/man8/ppscheck.8*
|
||||
%{_mandir}/man1/gpsmon.1*
|
||||
%{_mandir}/man1/gpsctl.1*
|
||||
%{_mandir}/man1/ntpshmmon.1*
|
||||
|
||||
%if %{with_libs}
|
||||
%files libs
|
||||
%{_libdir}/libgps.so.30*
|
||||
|
||||
%files devel
|
||||
%doc TODO HACKING
|
||||
%{_libdir}/libgps.so
|
||||
%{_libdir}/pkgconfig/libgps.pc
|
||||
%{_includedir}/gps.h
|
||||
%{_includedir}/libgpsmm.h
|
||||
%{_mandir}/man3/libgps.3*
|
||||
%{_mandir}/man3/libgpsmm.3*
|
||||
%{_mandir}/man5/gpsd_json.5*
|
||||
%endif
|
||||
|
||||
%if %{with_qt}
|
||||
%files qt
|
||||
%{_libdir}/libQgpsmm.so.30*
|
||||
|
||||
%files qt-devel
|
||||
%{_libdir}/libQgpsmm.so
|
||||
%{_libdir}/libQgpsmm.prl
|
||||
%{_libdir}/pkgconfig/Qgpsmm.pc
|
||||
%{_mandir}/man3/libQgpsmm.3*
|
||||
%endif
|
||||
|
||||
%files -n python3-%{name}
|
||||
%license COPYING
|
||||
%{_libdir}/libgpsdpacket.so*
|
||||
%{python3_sitearch}/gps*
|
||||
|
||||
%files clients
|
||||
%{_bindir}/cgps
|
||||
%{_bindir}/gegps
|
||||
%{_bindir}/gps2udp
|
||||
%{_bindir}/gpscat
|
||||
%{_bindir}/gpscsv
|
||||
%{_bindir}/gpsdebuginfo
|
||||
%{_bindir}/gpsdecode
|
||||
%{_bindir}/gpspipe
|
||||
%{_bindir}/gpsplot
|
||||
%{_bindir}/gpsprof
|
||||
%{_bindir}/gpsrinex
|
||||
%{_bindir}/gpssnmp
|
||||
%{_bindir}/gpssubframe
|
||||
%{_bindir}/gpxlogger
|
||||
%{_bindir}/lcdgps
|
||||
%{_bindir}/gpsfake
|
||||
%{_bindir}/ubxtool
|
||||
%{_bindir}/zerk
|
||||
%{_mandir}/man1/gegps.1*
|
||||
%{_mandir}/man1/gps.1*
|
||||
%{_mandir}/man1/gps2udp.1*
|
||||
%{_mandir}/man1/gpscsv.1*
|
||||
%{_mandir}/man1/gpsdebuginfo.1*
|
||||
%{_mandir}/man1/gpsdecode.1*
|
||||
%{_mandir}/man1/gpspipe.1*
|
||||
%{_mandir}/man1/gpsplot.1*
|
||||
%{_mandir}/man1/gpsprof.1*
|
||||
%{_mandir}/man1/gpsrinex.1*
|
||||
%{_mandir}/man1/gpssnmp.1*
|
||||
%{_mandir}/man1/gpssubframe.1*
|
||||
%{_mandir}/man1/gpxlogger.1*
|
||||
%{_mandir}/man1/lcdgps.1*
|
||||
%{_mandir}/man1/cgps.1*
|
||||
%{_mandir}/man1/gpscat.1*
|
||||
%{_mandir}/man1/gpsfake.1*
|
||||
%{_mandir}/man1/ubxtool.1*
|
||||
%{_mandir}/man1/zerk.1*
|
||||
|
||||
%files xclients
|
||||
%{_bindir}/xgps
|
||||
%{_bindir}/xgpsspeed
|
||||
%{_datadir}/applications/*.desktop
|
||||
%dir %{_datadir}/gpsd
|
||||
%{_datadir}/gpsd/gpsd-logo.png
|
||||
%{_mandir}/man1/xgps.1*
|
||||
%{_mandir}/man1/xgpsspeed.1*
|
||||
|
||||
%changelog
|
||||
* Fri Oct 25 2024 MSVSphere Packaging Team <packager@msvsphere-os.ru> - 1:3.25-16
|
||||
- Rebuilt for MSVSphere 10
|
||||
|
||||
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 1:3.25-16
|
||||
- Bump release for June 2024 mass rebuild
|
||||
|
||||
* Thu Apr 25 2024 Miroslav Lichvar <mlichvar@redhat.com> - 1:3.25-15
|
||||
- fix icon path in desktop files (RHEL-34158)
|
||||
- replace gpsd-minimal conflicts with obsoletes (RHEL-33651)
|
||||
|
||||
* Tue Apr 23 2024 Miroslav Lichvar <mlichvar@redhat.com> - 1:3.25-14
|
||||
- fix annobin coverage (RHEL-33496)
|
||||
- add conflicts for gpsd-minimal (RHEL-33651)
|
||||
- drop compat subpackage (RHEL-33651)
|
||||
|
||||
* Tue Apr 16 2024 Miroslav Lichvar <mlichvar@redhat.com> - 1:3.25-13
|
||||
- fix dependencies for build without libs
|
||||
|
||||
* Mon Apr 15 2024 Miroslav Lichvar <mlichvar@redhat.com> - 1:3.25-12
|
||||
- rebuild
|
||||
|
||||
* Tue Feb 20 2024 Miroslav Lichvar <mlichvar@redhat.com> - 1:3.25-11
|
||||
- internalize scons (RHEL-14750)
|
||||
- add missing IPv6 support
|
||||
- add note about limited Red Hat support
|
||||
- drop unneeded API-compatibility patch
|
||||
- fix busy wait when reading from gpsd socket
|
||||
- fix some issues reported by coverity and shellcheck
|
||||
|
||||
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.25-10
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Sat Jan 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.25-9
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Tue Oct 03 2023 Miroslav Lichvar <mlichvar@redhat.com> - 1:3.25-8
|
||||
- disable libs and devel subpackages on RHEL
|
||||
- don't require libs in main package
|
||||
|
||||
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.25-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Mon Jul 17 2023 Miroslav Lichvar <mlichvar@redhat.com> - 1:3.25-6
|
||||
- split X clients to separate subpackage
|
||||
- add missing dependencies for python clients
|
||||
- add explicit gcc dependency
|
||||
- drop xmlto from build dependencies
|
||||
- enable libusb1-devel on s390x
|
||||
- fix qt build option
|
||||
- fix spec indentation
|
||||
|
||||
* Thu Jun 15 2023 Python Maint <python-maint@redhat.com> - 1:3.25-5
|
||||
- Rebuilt for Python 3.12
|
||||
|
||||
* Thu May 11 2023 Miroslav Lichvar <mlichvar@redhat.com> - 1:3.25-4
|
||||
- convert NEWS to UTF-8
|
||||
- remove shebang in python module files and fix permissions
|
||||
- remove unnecessary .so symlink
|
||||
- update URL
|
||||
|
||||
* Sun Mar 12 2023 Tim Orling <ticotimo@gmail.com> - 1:3.25-3
|
||||
- migrated to SPDX license
|
||||
|
||||
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.25-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Wed Jan 11 2023 Miroslav Lichvar <mlichvar@redhat.com> - 1:3.25-1
|
||||
- update to 3.25
|
||||
|
||||
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.24-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 1:3.24-2
|
||||
- Rebuilt for Python 3.11
|
||||
|
||||
* Wed May 04 2022 Miroslav Lichvar <mlichvar@redhat.com> - 1:3.24-1
|
||||
- update to 3.24
|
||||
|
||||
* Sat Feb 12 2022 Jeff Law <jeffreyalaw@gmail.com> - 1:3.23.1-3
|
||||
- Re-enable LTO
|
||||
|
||||
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.23.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Mon Sep 27 2021 Miroslav Lichvar <mlichvar@redhat.com> - 1:3.23.1-1
|
||||
- update to 3.23.1
|
||||
- add old status names to gps.h for compatibility
|
||||
|
||||
* Wed Aug 11 2021 Miroslav Lichvar <mlichvar@redhat.com> - 1:3.23-1
|
||||
- update to 3.23
|
||||
|
||||
* Wed Aug 11 2021 Miroslav Lichvar <mlichvar@redhat.com> - 1:3.22-5
|
||||
- fix handling of GPS weeks after 2180 (#1989379)
|
||||
|
||||
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.22-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 1:3.22-3
|
||||
- Rebuilt for Python 3.10
|
||||
|
||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.22-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Tue Jan 12 2021 Miroslav Lichvar <mlichvar@redhat.com> - 1:3.22-1
|
||||
- update to 3.22
|
||||
- keep all python modules in python subpackage
|
||||
- move gpsprof to clients subpackage
|
||||
- disable LTO on aarch64
|
||||
|
||||
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.20-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Thu Jun 18 2020 Miroslav Lichvar <mlichvar@redhat.com> - 1:3.20-1
|
||||
- update to 3.20
|
||||
|
||||
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 1:3.19-6
|
||||
- Rebuilt for Python 3.9
|
||||
|
||||
* Mon Feb 03 2020 Miroslav Lichvar <mlichvar@redhat.com> - 1:3.19-5
|
||||
- fix missing epoch in dependencies (#1797370)
|
||||
|
||||
* Fri Jan 31 2020 Dan Horák <dan[at]danny.cz> - 1:3.19-2
|
||||
- all Requires must use Epoch too
|
||||
|
||||
* Tue Jan 28 2020 Miroslav Lichvar <mlichvar@redhat.com> - 1:3.19-1
|
||||
- revert to 3.19 (#1787784)
|
||||
|
||||
* Tue Jan 21 2020 Fabian Affolter <mail@fabian-affolter.ch> - 3.20-2
|
||||
- Update to latest upstream release 3.20
|
||||
|
||||
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 3.19-4
|
||||
- Rebuilt for Python 3.8.0rc1 (#1748018)
|
||||
|
||||
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 3.19-3
|
||||
- Rebuilt for Python 3.8
|
||||
|
||||
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.19-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Tue Jul 02 2019 Miroslav Lichvar <mlichvar@redhat.com> - 3.19-1
|
||||
- update to 3.19
|
||||
- fix systemd scriptlet (#1716467)
|
||||
|
||||
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.18.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Wed Oct 24 2018 Miroslav Lichvar <mlichvar@redhat.com> - 3.18.1-1
|
||||
- update to 3.18.1
|
||||
|
||||
* Tue Oct 09 2018 Miroslav Lichvar <mlichvar@redhat.com> - 3.18-3
|
||||
- fix paths in systemd unit files
|
||||
|
||||
* Tue Oct 09 2018 Miroslav Lichvar <mlichvar@redhat.com> - 3.18-2
|
||||
- use python3 scons and fix build requirements for xgps
|
||||
|
||||
* Thu Oct 04 2018 Miroslav Lichvar <mlichvar@redhat.com> - 3.18-1
|
||||
- update to 3.18
|
||||
- drop python2 subpackage (#1633793)
|
||||
|
||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.17-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 3.17-4
|
||||
- Rebuilt for Python 3.7
|
||||
|
||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.17-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Tue Jan 30 2018 Miroslav Lichvar <mlichvar@redhat.com> - 3.17-2
|
||||
- use macro for systemd scriptlet dependencies
|
||||
- use macro for ldconfig scriptlets
|
||||
|
||||
* Fri Sep 08 2017 Troy Curtis, Jr <troycurtisjr@gmail.com> - 3.17-1
|
||||
- Update to 3.17
|
||||
- Build both python2 and python3 files and install into separate subpackages
|
||||
- Add Qt5 subpackage
|
||||
|
||||
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.16-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.16-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.16-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.16-3
|
||||
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
|
||||
|
||||
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.16-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Mon Jan 11 2016 Miroslav Lichvar <mlichvar@redhat.com> - 3.16-1
|
||||
- update to 3.16
|
||||
|
||||
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.15-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Fri Jun 05 2015 Miroslav Lichvar <mlichvar@redhat.com> - 3.15-1
|
||||
- update to 3.15
|
||||
|
||||
* Tue Apr 21 2015 Miroslav Lichvar <mlichvar@redhat.com> - 3.14-1
|
||||
- update to 3.14
|
||||
|
||||
* Fri Mar 06 2015 Rex Dieter <rdieter@fedoraproject.org> 3.13-2
|
||||
- track library sonames and api files closer, so bumps aren't a surprise
|
||||
|
||||
* Mon Mar 02 2015 Miroslav Lichvar <mlichvar@redhat.com> - 3.13-1
|
||||
- update to 3.13
|
||||
|
||||
* Mon Aug 25 2014 Miroslav Lichvar <mlichvar@redhat.com> - 3.11-1
|
||||
- update to 3.11
|
||||
|
||||
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.10-6.20140524gitd6b65b
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Wed Jul 02 2014 Miroslav Lichvar <mlichvar@redhat.com> - 3.10-5.20140524gitd6b65b
|
||||
- update to 20140524gitd6b65b
|
||||
- fix PPS with large offsets
|
||||
- set gpsd revision string to include package revision
|
||||
|
||||
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.10-4.20140127gitf2753b
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Thu Feb 20 2014 Miroslav Lichvar <mlichvar@redhat.com> - 3.10-3.20140127gitf2753b
|
||||
- update to 20140127gitf2753b
|
||||
- replace udev hotplug script with gpsdctl service (#909563)
|
||||
- add dependency on gpsd.socket to gpsd.service
|
||||
- reenable dbus export
|
||||
|
||||
* Fri Dec 20 2013 Miroslav Lichvar <mlichvar@redhat.com> - 3.10-2
|
||||
- use systemd socket activation (#909563)
|
||||
- don't use -n in default gpsd service options
|
||||
- update gpsd service file
|
||||
|
||||
* Mon Nov 25 2013 Miroslav Lichvar <mlichvar@redhat.com> - 3.10-1
|
||||
- update to 3.10
|
||||
- move udev rules from /etc to /usr/lib (#971851)
|
||||
- enable hardened build (#1000643)
|
||||
- drop also supplementary groups when dropping privileges
|
||||
- set time stamp in chrony SOCK sample correctly
|
||||
- remove RPATH from all files
|
||||
- don't package INSTALL file
|
||||
|
||||
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.9-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||
|
||||
* Thu May 02 2013 Miroslav Lichvar <mlichvar@redhat.com> - 3.9-1
|
||||
- update to 3.9
|
||||
- move files from /lib
|
||||
|
||||
* Wed Feb 27 2013 Miroslav Lichvar <mlichvar@redhat.com> - 3.8-1
|
||||
- update to 3.8
|
||||
- use systemd macros (#850135)
|
||||
- don't set vendor for desktop files
|
||||
- make some dependencies arch-specific
|
||||
- remove obsolete macros
|
||||
|
||||
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.5-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||
|
||||
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.5-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||
|
||||
* Mon Apr 30 2012 Miroslav Lichvar <mlichvar@redhat.com> - 3.5-1
|
||||
- update to 3.5
|
||||
|
||||
* Thu Jan 26 2012 Miroslav Lichvar <mlichvar@redhat.com> - 3.4-1
|
||||
- update to 3.4
|
||||
|
||||
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||
|
||||
* Mon Oct 31 2011 Miroslav Lichvar <mlichvar@redhat.com> - 3.3-1
|
||||
- update to 3.3
|
||||
|
||||
* Mon Aug 29 2011 Miroslav Lichvar <mlichvar@redhat.com> - 3.1-1
|
||||
- update to 3.1
|
||||
|
||||
* Tue Aug 23 2011 Miroslav Lichvar <mlichvar@redhat.com> - 3.0-1
|
||||
- update to 3.0
|
||||
- enable PPSAPI support
|
||||
- fix PPS without -N
|
||||
- change service type to simple
|
||||
- start after chrony
|
||||
- fix permissions of systemd unit file
|
||||
- fix ldconfig scriptlets
|
||||
- package client-howto.txt
|
||||
|
||||
* Tue Jul 26 2011 Miroslav Lichvar <mlichvar@redhat.com> - 2.95-7
|
||||
- make -libs subpackage (#663124)
|
||||
- replace SysV initscript with systemd service (#717419)
|
||||
- explicitly set USBAUTO=true in sysconfig file
|
||||
|
||||
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.95-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||
|
||||
* Wed Sep 29 2010 jkeating - 2.95-5
|
||||
- Rebuilt for gcc bug 634757
|
||||
|
||||
* Tue Sep 14 2010 Miroslav Lichvar <mlichvar@redhat.com> - 2.95-4
|
||||
- don't crash in gpscat when started without arguments (#633117)
|
||||
|
||||
* Fri Aug 27 2010 Dan Horák <dan[at]danny.cz> - 2.95-3
|
||||
- no USB on s390(x)
|
||||
|
||||
* Wed Jul 21 2010 David Malcolm <dmalcolm@redhat.com> - 2.95-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild
|
||||
|
||||
* Thu Jul 15 2010 Miroslav Lichvar <mlichvar@redhat.com> - 2.95-1
|
||||
- update to 2.95
|
||||
- add /usr/sbin to PATH in gpsd.hotplug.wrapper
|
||||
- pass sysconfig variables to gpsd started from udev
|
||||
- enable libusb support
|
||||
|
||||
* Thu May 06 2010 Miroslav Lichvar <mlichvar@redhat.com> - 2.94-1
|
||||
- update to 2.94 (#556642)
|
||||
|
||||
* Tue Mar 02 2010 Miroslav Lichvar <mlichvar@redhat.com> - 2.39-7
|
||||
- don't use deprecated SYSFS{} in udev rules (#569089)
|
||||
- fix init script LSB compliance
|
||||
|
||||
* Mon Feb 15 2010 Miroslav Lichvar <mlichvar@redhat.com> - 2.39-6
|
||||
- fix linking with --no-add-needed (#564662)
|
||||
- use %%global macro instead of %%define
|
||||
|
||||
* Wed Aug 12 2009 Marek Mahut <mmahut@fedoraproject.org> - 2.39-5
|
||||
- RHBZ#505588: gpsd has a broken initscript that fails to launch daemon
|
||||
|
||||
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.39-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
||||
|
||||
* Tue Mar 31 2009 Tom "spot" Callaway <tcallawa@redhat.com> - 2.39-3
|
||||
- some of the gpsd client bits went into gpsdclient.h, but that file wasn't getting installed
|
||||
specifically, viking needs that header to build.
|
||||
|
||||
* Wed Mar 25 2009 Douglas E. Warner <silfreed@silfreed.net> - 2.39-2
|
||||
- adding patch to try to fix parallel make errors
|
||||
|
||||
* Thu Mar 19 2009 Douglas E. Warner <silfreed@silfreed.net> - 2.39-1
|
||||
- updating to 2.39
|
||||
- fixed potential core dump in C client handling of "K" responses
|
||||
- Made device hotplugging work again; had been broken by changes in udev
|
||||
- Introduced major and minor API version symbols into the public interfaces
|
||||
- The sirfmon utility is gone, replaced by gpsmon which does the same job
|
||||
for multiple GPS types
|
||||
- Fixed a two-year old error in NMEA parsing that nobody noticed because its
|
||||
only effect was to trash VDOP values from GSA sentences, and gpsd computes
|
||||
those with an internal error model when they look wonky
|
||||
- cgpxlogger has been merged into gpxlogger
|
||||
- Speed-setting commands now allow parity and stop-bit setting if the GPS
|
||||
chipset and adaptor can support it
|
||||
- Specfile and other packaging paraphenalia now live in a packaging
|
||||
subdirectory
|
||||
- rtcmdecode becomes gpsdecode and can now de-armor and dump AIDVM packets
|
||||
- The client library now work correctly in locales where the decimal separator
|
||||
is not a period
|
||||
|
||||
* Mon Mar 16 2009 Douglas E. Warner <silfreed@silfreed.net> - 2.38-1
|
||||
- updating to 2.38
|
||||
- creating init script and sysconfig files
|
||||
- migrating hotplug rules to udev + hotplug wrapper script from svn r5147
|
||||
- updating pyexecdir patch
|
||||
- fixing udev rule subsystem match
|
||||
- Regression test load for RoyalTek RGM3800 and Blumax GPS-009 added
|
||||
- Scaling on E error-estimate fields fixed to match O
|
||||
- Listen on localhost only by default to avoid security problems; this can be
|
||||
overridden with the -G command-line option
|
||||
- The packet-state machine can now recognize RTCM3 packets, though support is
|
||||
not yet complete
|
||||
- Added support for ublox5 and mkt-3301 devices
|
||||
- Add a wrapper around gpsd_hexdump to save CPU
|
||||
- Lots of little fixes to various packet parsers
|
||||
- Always keep the device open: "-n" is not optional any more
|
||||
- xgpsspeed no longer depends on Motif
|
||||
- gpsctl can now ship arbitrary payloads to a device;
|
||||
It's possible to send binary through the control channel with the
|
||||
new "&" command
|
||||
- Experimental new driver for Novatel SuperStarII
|
||||
- The 'g' mode switch command now requires, and returns, 'rtcm104v2' rather
|
||||
than 'rtcm104'; this is design forward for when RTCM104v2 is fully working
|
||||
|
||||
* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.37-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
||||
|
||||
* Sat Nov 29 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 2.37-3
|
||||
- Rebuild for Python 2.6
|
||||
|
||||
* Wed Mar 19 2008 Douglas E. Warner <silfreed@silfreed.net> - 2.37-2
|
||||
- moving gpspacket.so python lib to main package
|
||||
|
||||
* Wed Feb 27 2008 Douglas E. Warner <silfreed@silfreed.net> - 2.37-1
|
||||
- update to 2.37
|
||||
- removed install-gpsd_config.h.patch
|
||||
- installed pkgconfig files in devel package
|
||||
- added patch to install python modules in sitearch
|
||||
- removing rpath from inclucded libtool
|
||||
- moving X11 app-defaults to datadir
|
||||
- using macros for commands in install; using install instead of cp and mkdir
|
||||
- cleaning up spaces/tabs for rpmlint
|
||||
|
||||
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 2.34-9
|
||||
- Autorebuild for GCC 4.3
|
||||
|
||||
* Sun Aug 19 2007 Matthew Truch <matt at truch.net> - 2.34-8
|
||||
- Patch Makefile to also install gpsd_config.h as needed by
|
||||
libgpsmm.h. Redhat BZ 253433.
|
||||
|
||||
* Sat Jun 30 2007 Matthew Truch <matt at truch.net> - 2.34-7
|
||||
- Make sure the logo is actually included (via the spec file).
|
||||
I need to wake up before I try even trivial updates.
|
||||
|
||||
* Sat Jun 30 2007 Matthew Truch <matt at truch.net> - 2.34-6
|
||||
- Learn how to use search and replace (aka fix all instances of
|
||||
gpsd-logo.png spelled incorrectly as gspd-logo.png).
|
||||
|
||||
* Sat Jun 30 2007 Matthew Truch <matt at truch.net> - 2.34-5
|
||||
- Fix desktop file and logo file name.
|
||||
|
||||
* Sat Jun 30 2007 Matthew Truch <matt at truch.net> - 2.34-4
|
||||
- Include icon for .desktop files per BZ 241428
|
||||
|
||||
* Tue Mar 20 2007 Michael Schwendt <mschwendt[AT]users.sf.net> - 2.34-3
|
||||
- Bump release for FE5 -> Fedora 7 upgrade path.
|
||||
|
||||
* Tue Feb 27 2007 Matthew Truch <matt at truch.net> - 2.34-2
|
||||
- BR python-devel instead of python to make it build.
|
||||
|
||||
* Tue Feb 27 2007 Matthew Truch <matt at truch.net> - 2.34-1
|
||||
- Upgrade to 2.34.
|
||||
- Get rid of %%makeinstall (which was never needed).
|
||||
- Possibly fix hotplug issuses (BZ 219750).
|
||||
- Use %%python_sitelib for python site-files stuff.
|
||||
|
||||
* Sat Dec 9 2006 Matthew Truch <matt at truch.net> - 2.33-6
|
||||
- Rebuild to pull in new version of python.
|
||||
|
||||
* Tue Sep 26 2006 Matthew Truch <matt at truch.net> - 2.33-5
|
||||
- Remove openmotif requirment, and switch to lesstif.
|
||||
|
||||
* Mon Aug 28 2006 Matthew Truch <matt at truch.net> - 2.33-4
|
||||
- Bump release for rebuild in prep. for FC6.
|
||||
|
||||
* Thu Jul 20 2006 Matthew Truch <matt at truch.net> - 2.33-3
|
||||
- Actually, was a missing BR glib-dbus-devel. Ooops.
|
||||
|
||||
* Thu Jul 20 2006 Matthew Truch <matt at truch.net> - 2.33-2
|
||||
- Missing BR glib-devel
|
||||
|
||||
* Thu Jul 20 2006 Matthew Truch <matt at truch.net> - 2.33-1
|
||||
- Update to version 2.33
|
||||
|
||||
* Wed Apr 19 2006 Matthew Truch <matt at truch.net> - 2.32-5
|
||||
- Don't --enable-tnt in build as it causes some gpses to not work
|
||||
properly with sattelite view mode. See bugzilla bug 189220.
|
||||
|
||||
* Thu Apr 13 2006 Matthew Truch <matt at truch.net> - 2.32-4
|
||||
- Add dbus-glib to BuildRequires as needed for build.
|
||||
|
||||
* Sun Apr 9 2006 Matthew Truch <matt at truch.net> - 2.32-3
|
||||
- Include xmlto and python in buildrequires so things build right.
|
||||
- Don't package static library file.
|
||||
|
||||
* Wed Apr 5 2006 Matthew Truch <matt at truch.net> - 2.32-2
|
||||
- Use ye olde %%{?dist} tag.
|
||||
|
||||
* Wed Apr 5 2006 Matthew Truch <matt at truch.net> - 2.32-1
|
||||
- Initial Fedora Extras specfile
|
Loading…
Reference in new issue