gpsd: Upgrade 3.19 -> 3.20

Revert "SConstruct: Add test for sizeof(time_t), result in SIZEOF_TIME_T."
Do not cross-compile a small for it to be executed on the host.

Signed-off-by: Sean Nyekjaer <sean@geanix.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Sean Nyekjaer
2020-05-11 19:45:05 +02:00
committed by Khem Raj
parent 7a1f41a6a0
commit cecab9c4ca
3 changed files with 111 additions and 40 deletions
@@ -0,0 +1,108 @@
Subject: [PATCH] Revert "SConstruct: Add test for sizeof(time_t), result in
SIZEOF_TIME_T."
This reverts commit b32ff1a86c44fa738dabaf63de1b5462e0071ad3.
Upstream-Status: Inappropriate [cross-compile specific]
---
SConstruct | 54 ++++--------------------------------------
android/gpsd_config.in | 1 -
2 files changed, 5 insertions(+), 50 deletions(-)
diff --git a/SConstruct b/SConstruct
index 33e0ff326..e3c62fa3c 100644
--- a/SConstruct
+++ b/SConstruct
@@ -597,42 +597,6 @@ def CheckHeaderDefines(context, file, define):
return ret
-def CheckSizeOf(context, type):
- """Check sizeof 'type'"""
- context.Message('Checking size of ' + type + '... ')
-
- program = """
-#include <stdlib.h>
-#include <stdio.h>
-
-/*
- * The CheckSizeOf function does not have a way for the caller to
- * specify header files to be included to provide the type being
- * checked. As a workaround until that is remedied, include the
- * header required for time_t, which is the sole current use of this
- * function.
- */
-#include <time.h>
-
-int main() {
- printf("%d", (int)sizeof(""" + type + """));
- return 0;
-}
-"""
-
- # compile it
- ret = context.TryCompile(program, '.c')
- if 0 == ret:
- announce('ERROR: TryCompile failed\n')
- # fall back to sizeof(time_t) is 8
- return '8'
-
- # run it
- ret = context.TryRun(program, '.c')
- context.Result(ret[0])
- return ret[1]
-
-
def CheckCompilerDefines(context, define):
context.Message('Checking if compiler supplies %s... ' % (define,))
ret = context.TryLink("""
@@ -703,15 +667,13 @@ env.Prepend(LIBPATH=[os.path.realpath(os.curdir)])
# CheckXsltproc works, but result is incorrectly saved as "no"
config = Configure(env, custom_tests={
- 'CheckC11': CheckC11,
- 'CheckCompilerDefines': CheckCompilerDefines,
- 'CheckCompilerOption': CheckCompilerOption,
- 'CheckHeaderDefines': CheckHeaderDefines,
'CheckPKG': CheckPKG,
- 'CheckSizeOf': CheckSizeOf,
'CheckXsltproc': CheckXsltproc,
- 'GetPythonValue': GetPythonValue,
- })
+ 'CheckCompilerOption': CheckCompilerOption,
+ 'CheckCompilerDefines': CheckCompilerDefines,
+ 'CheckC11': CheckC11,
+ 'CheckHeaderDefines': CheckHeaderDefines,
+ 'GetPythonValue': GetPythonValue})
# Use print, rather than announce, so we see it in -s mode.
print("This system is: %s" % sys.platform)
@@ -1043,12 +1005,6 @@ else:
confdefs.append("/* #undef HAVE_%s_H */\n"
% hdr.replace("/", "_").upper())
- sizeof_time_t = config.CheckSizeOf("time_t")
- confdefs.append("#define SIZEOF_TIME_T %s\n" % sizeof_time_t)
- announce("sizeof(time_t) is %s" % sizeof_time_t)
- if 4 >= int(sizeof_time_t):
- announce("WARNING: time_t is too small. It will fail in 2038")
-
# check function after libraries, because some function require libraries
# for example clock_gettime() require librt on Linux glibc < 2.17
for f in ("cfmakeraw", "clock_gettime", "daemon", "fcntl", "fork",
diff --git a/android/gpsd_config.in b/android/gpsd_config.in
index 758251986..d240f6d34 100644
--- a/android/gpsd_config.in
+++ b/android/gpsd_config.in
@@ -19,7 +19,6 @@
#define HAVE_ARPA_INET_H 1
#define HAVE_SYSLOG_H 1
#define HAVE_DAEMON 1
-#define SIZEOF_TIME_T 8
#define HAVE_CLOCK_GETTIME 1
#define HAVE_STRPTIME 1
#define HAVE_GMTIME_R 1
--
2.26.2
@@ -1,37 +0,0 @@
From 2a4b3bcde0d73a3a4a6644d5f944ac9d16023ba9 Mon Sep 17 00:00:00 2001
From: Adrian Bunk <bunk@stusta.de>
Date: Mon, 21 Oct 2019 13:53:25 +0300
Subject: gps_shm_close: Free privdata
Previously every open/close cycle leaked privdata.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Gary E. Miller <gem@rellim.com>
Upstream-Status: Backport
---
libgps_shm.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/libgps_shm.c b/libgps_shm.c
index d93972bba..12bb3760b 100644
--- a/libgps_shm.c
+++ b/libgps_shm.c
@@ -163,8 +163,12 @@ int gps_shm_read(struct gps_data_t *gpsdata)
void gps_shm_close(struct gps_data_t *gpsdata)
{
- if (PRIVATE(gpsdata) && PRIVATE(gpsdata)->shmseg != NULL)
- (void)shmdt((const void *)PRIVATE(gpsdata)->shmseg);
+ if (PRIVATE(gpsdata)) {
+ if (PRIVATE(gpsdata)->shmseg != NULL)
+ (void)shmdt((const void *)PRIVATE(gpsdata)->shmseg);
+ free(PRIVATE(gpsdata));
+ gpsdata->privdata = NULL;
+ }
}
int gps_shm_mainloop(struct gps_data_t *gpsdata, int timeout,
--
2.20.1
@@ -7,10 +7,10 @@ PROVIDES = "virtual/gpsd"
SRC_URI = "${SAVANNAH_GNU_MIRROR}/${BPN}/${BP}.tar.gz \
file://0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch \
file://0001-gps_shm_close-Free-privdata.patch \
file://0001-Revert-SConstruct-Add-test-for-sizeof-time_t-result-.patch \
"
SRC_URI[md5sum] = "b3bf88706794eb8e5f2c2543bf7ba87b"
SRC_URI[sha256sum] = "27dd24d45b2ac69baab7933da2bf6ae5fb0be90130f67e753c110a3477155f39"
SRC_URI[md5sum] = "cf7fdec7ce7221d20bee1a7246362b05"
SRC_URI[sha256sum] = "172a7805068eacb815a3c5225436fcb0be46e7e49a5001a94034eac43df85e50"
inherit scons update-rc.d python3-dir python3native systemd update-alternatives