From: Ladislav Michl <ladis@linux-mips.org>
To: ptxdist@pengutronix.de
Subject: [ptxdist] [PATCH] gpsd: version bump 3.20 -> 3.21
Date: Tue, 4 Aug 2020 23:04:24 +0200 [thread overview]
Message-ID: <20200804210424.GA627309@lenoch> (raw)
Also remove vanished options and modify systemd service files
to expect gpsd socket in /run.
Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
---
...ce-custom-CheckSizeOf-with-standard-.patch | 74 --------
...s-install-xpgs-xgpsspeed-programs-ma.patch | 148 ---------------
...s-install-xgps-.-Only-test-if-deps-f.patch | 108 -----------
...sizeof-time_t-test-when-cross-compil.patch | 39 ----
...ix-merging-and-using-of-python-flags.patch | 45 -----
| 52 ------
...emove-redundant-CheckCompilerDefines.patch | 67 -------
...thonValue-and-CheckPKG-were-using-wr.patch | 44 -----
...ruct-Fix-GetPythonValue-for-python-3.patch | 57 ------
...move-more-checks-into-GetPythonValue.patch | 98 ----------
...-target-python-version-not-scons-pyt.patch | 32 ----
...ify-GetPythonValue-.-It-now-caches-p.patch | 174 ------------------
...3-SConstruct-fix-polystr-for-python2.patch | 34 ----
...arget_python-when-constructing-exten.patch | 36 ----
...SConstruct-HACK-use-target-INCLUDEPY.patch | 25 ---
patches/gpsd-3.20/series | 20 --
.../0001-Search-for-ncursesw-pkgconfig.patch} | 6 +-
...arget-option-to-decide-whenewer-to-r.patch | 21 +++
patches/gpsd-3.21/series | 5 +
.../usr/lib/systemd/system/gpsd.socket | 2 +-
.../usr/lib/systemd/system/gpsdctl@.service | 2 +-
rules/gpsd.in | 12 --
rules/gpsd.make | 13 +-
23 files changed, 37 insertions(+), 1077 deletions(-)
delete mode 100644 patches/gpsd-3.20/0001-SConstruct-replace-custom-CheckSizeOf-with-standard-.patch
delete mode 100644 patches/gpsd-3.20/0002-SConstruct-Always-install-xpgs-xgpsspeed-programs-ma.patch
delete mode 100644 patches/gpsd-3.20/0003-SConstruct-Always-install-xgps-.-Only-test-if-deps-f.patch
delete mode 100644 patches/gpsd-3.20/0004-SConstruct-Skip-sizeof-time_t-test-when-cross-compil.patch
delete mode 100644 patches/gpsd-3.20/0005-Fix-merging-and-using-of-python-flags.patch
delete mode 100644 patches/gpsd-3.20/0006-SConstruct-Remove-redundant-CheckHeaderDefines.patch
delete mode 100644 patches/gpsd-3.20/0007-SConstruct-remove-redundant-CheckCompilerDefines.patch
delete mode 100644 patches/gpsd-3.20/0008-SConstruct-GetPythonValue-and-CheckPKG-were-using-wr.patch
delete mode 100644 patches/gpsd-3.20/0009-SConstruct-Fix-GetPythonValue-for-python-3.patch
delete mode 100644 patches/gpsd-3.20/0010-SConstruct-move-more-checks-into-GetPythonValue.patch
delete mode 100644 patches/gpsd-3.20/0011-SConstruct-Check-target-python-version-not-scons-pyt.patch
delete mode 100644 patches/gpsd-3.20/0012-SConstruct-Simplify-GetPythonValue-.-It-now-caches-p.patch
delete mode 100644 patches/gpsd-3.20/0013-SConstruct-fix-polystr-for-python2.patch
delete mode 100644 patches/gpsd-3.20/0100-SConstruct-Use-target_python-when-constructing-exten.patch
delete mode 100644 patches/gpsd-3.20/0102-SConstruct-HACK-use-target-INCLUDEPY.patch
delete mode 100644 patches/gpsd-3.20/series
rename patches/{gpsd-3.20/0101-SConstruct-Search-for-ncursesw-pkgconfig.patch => gpsd-3.21/0001-Search-for-ncursesw-pkgconfig.patch} (86%)
create mode 100644 patches/gpsd-3.21/0002-SConstruct-Use-target-option-to-decide-whenewer-to-r.patch
create mode 100644 patches/gpsd-3.21/series
diff --git a/patches/gpsd-3.20/0001-SConstruct-replace-custom-CheckSizeOf-with-standard-.patch b/patches/gpsd-3.20/0001-SConstruct-replace-custom-CheckSizeOf-with-standard-.patch
deleted file mode 100644
index 0d5771bbe..000000000
--- a/patches/gpsd-3.20/0001-SConstruct-replace-custom-CheckSizeOf-with-standard-.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From: "Gary E. Miller" <gem@rellim.com>
-Date: Fri, 3 Jan 2020 16:15:53 -0800
-Subject: [PATCH] SConstruct: replace custom CheckSizeOf() with standard
- CheckTypeSize()
-
----
- SConstruct | 40 ++--------------------------------------
- 1 file changed, 2 insertions(+), 38 deletions(-)
-
-diff --git a/SConstruct b/SConstruct
-index 33e0ff32665c..bd008207011d 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("""
-@@ -708,7 +672,6 @@ config = Configure(env, custom_tests={
- 'CheckCompilerOption': CheckCompilerOption,
- 'CheckHeaderDefines': CheckHeaderDefines,
- 'CheckPKG': CheckPKG,
-- 'CheckSizeOf': CheckSizeOf,
- 'CheckXsltproc': CheckXsltproc,
- 'GetPythonValue': GetPythonValue,
- })
-@@ -1043,7 +1006,8 @@ else:
- confdefs.append("/* #undef HAVE_%s_H */\n"
- % hdr.replace("/", "_").upper())
-
-- sizeof_time_t = config.CheckSizeOf("time_t")
-+ sizeof_time_t = config.CheckTypeSize('time_t',
-+ includes='#include <time.h>\n')
- 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):
diff --git a/patches/gpsd-3.20/0002-SConstruct-Always-install-xpgs-xgpsspeed-programs-ma.patch b/patches/gpsd-3.20/0002-SConstruct-Always-install-xpgs-xgpsspeed-programs-ma.patch
deleted file mode 100644
index 5800867b8..000000000
--- a/patches/gpsd-3.20/0002-SConstruct-Always-install-xpgs-xgpsspeed-programs-ma.patch
+++ /dev/null
@@ -1,148 +0,0 @@
-From: "Gary E. Miller" <gem@rellim.com>
-Date: Mon, 6 Jan 2020 12:29:10 -0800
-Subject: [PATCH] SConstruct: Always install xpgs/xgpsspeed programs, man
- pages.
-
-Now the xgps/xgpsspeed dependencies are tested at build time but not
-mandatory. The dependencies need to be installed for the programs to
-run.
----
- SConstruct | 75 ++++++++++++++++++++++++++------------------------------------
- 1 file changed, 31 insertions(+), 44 deletions(-)
-
-diff --git a/SConstruct b/SConstruct
-index bd008207011d..cfd1c4164337 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -1179,15 +1179,13 @@ def polystr(o):
-
-
- if helping:
--
- # If helping just get usable config info from the local Python
- target_python_path = ''
- py_config_text = str(eval(PYTHON_CONFIG_CALL))
- python_libdir = str(eval(PYTHON_LIBDIR_CALL))
-
--else:
--
-- if config.env['python'] and config.env['target_python']:
-+elif config.env['python']:
-+ if config.env['target_python']:
- try:
- config.CheckProg
- except AttributeError: # Older scons versions don't have CheckProg
-@@ -1197,6 +1195,7 @@ else:
- if not target_python_path:
- announce("Target Python doesn't exist - disabling Python.")
- config.env['python'] = False
-+
- if config.env['python']:
- # Maximize consistency by using the reported sys.executable
- target_python_path = config.GetPythonValue('exe path',
-@@ -1235,41 +1234,36 @@ else:
- imp.find_module('serial')
- announce("Python module serial (pyserial) found.")
- except ImportError:
-- # no pycairo, don't build xgps, xgpsspeed
-+ # no pyserial, used by ubxtool and zerk
- announce("WARNING: Python module serial (pyserial) not found.")
-- config.env['xgps'] = False
-
-- if config.env['xgps']:
-- # check for pycairo
-- try:
-- imp.find_module('cairo')
-- announce("Python module cairo (pycairo) found.")
-- except ImportError:
-- # no pycairo, don't build xgps, xgpsspeed
-- announce("WARNING: Python module cairo (pycairo) not found.")
-- config.env['xgps'] = False
--
-- # check for pygobject
-- try:
-- imp.find_module('gi')
-- announce("Python module gi (pygobject) found.")
-- except ImportError:
-- # no pygobject, don't build xgps, xgpsspeed
-- announce("WARNING: Python module gi (pygobject) not found.")
-- config.env['xgps'] = False
-+ # check for pycairo
-+ try:
-+ imp.find_module('cairo')
-+ announce("Python module cairo (pycairo) found.")
-+ except ImportError:
-+ # no pycairo, used by xgps, xgpsspeed
-+ announce("WARNING: Python module cairo (pycairo) not found.")
-
-- if not config.CheckPKG('gtk+-3.0'):
-- config.env['xgps'] = False
-+ # check for pygobject
-+ try:
-+ imp.find_module('gi')
-+ announce("Python module gi (pygobject) found.")
-+ except ImportError:
-+ # no pycairo, used by xgps, xgpsspeed
-+ announce("WARNING: Python module gi (pygobject) not found.")
-
-+ # gtk+ needed by pygobject
-+ config.CheckPKG('gtk+-3.0')
-
--if config.env['python']: # May have been turned off by error
-- config.env['PYTHON'] = polystr(target_python_path)
-- # For regress-driver
-- config.env['ENV']['PYTHON'] = polystr(target_python_path)
-- py_config_vars = ast.literal_eval(py_config_text.decode())
-- py_config_vars = [[] if x is None else x for x in py_config_vars]
-- python_config = dict(zip(PYTHON_CONFIG_NAMES, py_config_vars))
-- announce(python_config)
-+ config.env['PYTHON'] = polystr(target_python_path)
-+ # For regress-driver
-+ config.env['ENV']['PYTHON'] = polystr(target_python_path)
-+ py_config_vars = ast.literal_eval(py_config_text.decode())
-+ py_config_vars = [[] if x is None else x for x in py_config_vars]
-+ python_config = dict(zip(PYTHON_CONFIG_NAMES, py_config_vars))
-+ # debug
-+ # announce(python_config)
-
-
- env = config.Finish()
-@@ -1664,15 +1658,13 @@ else:
- "man/gpsfake.1": "man/gpsfake.xml",
- "man/gpsprof.1": "man/gpsprof.xml",
- "man/ubxtool.1": "man/ubxtool.xml",
-+ "man/xgps.1": "man/gps.xml",
-+ "man/xgpsspeed.1": "man/gps.xml",
- "man/zerk.1": "man/zerk.xml",
- }
-
- if env['xgps']:
- python_progs.extend(["xgps", "xgpsspeed"])
-- python_manpages.update({
-- "man/xgps.1": "man/gps.xml",
-- "man/xgpsspeed.1": "man/gps.xml",
-- })
- else:
- announce("WARNING: xgps and xgpsspeed will not be installed")
-
-@@ -1961,11 +1953,6 @@ if tiocmiwait:
- })
-
- all_manpages = list(base_manpages.keys())
--other_manpages = [
-- "man/gegps.1",
-- "man/xgps.1",
-- "man/xgpsspeed.1",
-- ]
-
- if python_manpages:
- all_manpages += list(python_manpages.keys())
-@@ -2701,7 +2688,7 @@ Utility('udev-test', '', ['$SRCDIR/gpsd -N -n -F /var/run/gpsd.sock -D 5', ])
- # Dummy target for cleaning misc files
- clean_misc = env.Alias('clean-misc')
- # Since manpage targets are disabled in clean mode, we cover them here
--env.Clean(clean_misc, all_manpages + other_manpages)
-+env.Clean(clean_misc, all_manpages)
- # Clean compiled Python
- env.Clean(clean_misc,
- glob.glob('*.pyc') + glob.glob('gps/*.pyc') +
diff --git a/patches/gpsd-3.20/0003-SConstruct-Always-install-xgps-.-Only-test-if-deps-f.patch b/patches/gpsd-3.20/0003-SConstruct-Always-install-xgps-.-Only-test-if-deps-f.patch
deleted file mode 100644
index a05f411be..000000000
--- a/patches/gpsd-3.20/0003-SConstruct-Always-install-xgps-.-Only-test-if-deps-f.patch
+++ /dev/null
@@ -1,108 +0,0 @@
-From: "Gary E. Miller" <gem@rellim.com>
-Date: Mon, 6 Jan 2020 14:30:58 -0800
-Subject: [PATCH] SConstruct: Always install xgps*. Only test if deps found.
-
-Now no build time deps for xgps*. Just runtime deps.
----
- SConstruct | 35 +++++++++++++++++++++++++----------
- 1 file changed, 25 insertions(+), 10 deletions(-)
-
-diff --git a/SConstruct b/SConstruct
-index cfd1c4164337..7b4a63f817f9 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -1178,11 +1178,15 @@ def polystr(o):
- raise ValueError
-
-
-+# flag that we have xgps* dependencies, so xgps* should run OK
-+config.env['xgps_deps'] = False
-+
- if helping:
- # If helping just get usable config info from the local Python
- target_python_path = ''
- py_config_text = str(eval(PYTHON_CONFIG_CALL))
- python_libdir = str(eval(PYTHON_LIBDIR_CALL))
-+ config.env['xgps_deps'] = False
-
- elif config.env['python']:
- if config.env['target_python']:
-@@ -1237,12 +1241,14 @@ elif config.env['python']:
- # no pyserial, used by ubxtool and zerk
- announce("WARNING: Python module serial (pyserial) not found.")
-
-+ config.env['xgps_deps'] = True
- # check for pycairo
- try:
- imp.find_module('cairo')
- announce("Python module cairo (pycairo) found.")
- except ImportError:
- # no pycairo, used by xgps, xgpsspeed
-+ config.env['xgps_deps'] = False
- announce("WARNING: Python module cairo (pycairo) not found.")
-
- # check for pygobject
-@@ -1251,10 +1257,17 @@ elif config.env['python']:
- announce("Python module gi (pygobject) found.")
- except ImportError:
- # no pycairo, used by xgps, xgpsspeed
-+ config.env['xgps_deps'] = False
- announce("WARNING: Python module gi (pygobject) not found.")
-
- # gtk+ needed by pygobject
-- config.CheckPKG('gtk+-3.0')
-+ if not config.CheckPKG('gtk+-3.0'):
-+ config.env['xgps_deps'] = False
-+ announce("WARNING: gtk+-3.0 nnot found.")
-+
-+ if not env['xgps']:
-+ # xgps* turned off by option
-+ config.env['xgps_deps'] = False
-
- config.env['PYTHON'] = polystr(target_python_path)
- # For regress-driver
-@@ -1634,7 +1647,14 @@ if not env['python']:
- python_targets = []
- else:
- # installed python programs
-- python_progs = ["gegps", "gpscat", "gpsfake", "gpsprof", "ubxtool", "zerk"]
-+ python_progs = ["gegps",
-+ "gpscat",
-+ "gpsfake",
-+ "gpsprof",
-+ "ubxtool",
-+ "xgps",
-+ "xgpsspeed",
-+ "zerk"]
- python_deps = {'gpscat': 'packet'}
-
- # python misc helpers and stuff
-@@ -1663,11 +1683,6 @@ else:
- "man/zerk.1": "man/zerk.xml",
- }
-
-- if env['xgps']:
-- python_progs.extend(["xgps", "xgpsspeed"])
-- else:
-- announce("WARNING: xgps and xgpsspeed will not be installed")
--
- # Glob() has to be run after all buildable objects defined
- python_modules = Glob('gps/*.py', strings=True)
-
-@@ -2410,13 +2425,13 @@ method_regress = UtilityWithHerald(
- '$SRCDIR/tests/test_packet -c >/dev/null', ])
-
- # Test the xgps/xgpsspeed dependencies
--if not env['python'] or not env['xgps']:
-- test_xgps_deps = None
--else:
-+if env['xgps_deps']:
- test_xgps_deps = UtilityWithHerald(
- 'Testing xgps/xgpsspeed dependencies (since xgps=yes)...',
- 'test-xgps-deps', [], [
- '$PYTHON $SRCDIR/test_xgps_deps.py'])
-+else:
-+ test_xgps_deps = None
-
- # Run a valgrind audit on the daemon - not in normal tests
- valgrind_audit = Utility('valgrind-audit', [
diff --git a/patches/gpsd-3.20/0004-SConstruct-Skip-sizeof-time_t-test-when-cross-compil.patch b/patches/gpsd-3.20/0004-SConstruct-Skip-sizeof-time_t-test-when-cross-compil.patch
deleted file mode 100644
index 9f9c0cd69..000000000
--- a/patches/gpsd-3.20/0004-SConstruct-Skip-sizeof-time_t-test-when-cross-compil.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From: Jeffery To <jeffery.to@gmail.com>
-Date: Fri, 17 Jan 2020 06:09:33 +0800
-Subject: [PATCH] SConstruct: Skip sizeof(time_t) test when cross-compiling
-
-Fixes #48.
----
- SConstruct | 18 +++++++++++++-----
- 1 file changed, 13 insertions(+), 5 deletions(-)
-
-diff --git a/SConstruct b/SConstruct
-index 7b4a63f817f9..bf682a03e087 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -1006,12 +1006,20 @@ else:
- confdefs.append("/* #undef HAVE_%s_H */\n"
- % hdr.replace("/", "_").upper())
-
-- sizeof_time_t = config.CheckTypeSize('time_t',
-- includes='#include <time.h>\n')
-+ if not env['target']:
-+ sizeof_time_t = config.CheckTypeSize('time_t',
-+ includes='#include <time.h>\n')
-+ if 0 < sizeof_time_t:
-+ announce("sizeof(time_t) is %s" % sizeof_time_t)
-+ if 4 >= sizeof_time_t:
-+ announce("WARNING: time_t is too small. It will fail in 2038")
-+ else:
-+ announce("WARNING: could not get sizeof(time_t)")
-+ sizeof_time_t = 8
-+ else:
-+ announce("Not checking sizeof(time_t) when cross-compiling")
-+ sizeof_time_t = 8
- 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
diff --git a/patches/gpsd-3.20/0005-Fix-merging-and-using-of-python-flags.patch b/patches/gpsd-3.20/0005-Fix-merging-and-using-of-python-flags.patch
deleted file mode 100644
index e4139f66c..000000000
--- a/patches/gpsd-3.20/0005-Fix-merging-and-using-of-python-flags.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From: Bernd Zeimetz <bernd@bzed.de>
-Date: Sat, 17 Aug 2019 01:27:08 +0200
-Subject: [PATCH] Fix merging and using of python *flags.
-
-As follow-up for d0e0864c2802860ff561fe0b39939b63d38b8c70,
-also fix the handling of python build flags.
----
- SConstruct | 13 ++++++++-----
- 1 file changed, 8 insertions(+), 5 deletions(-)
-
-diff --git a/SConstruct b/SConstruct
-index bf682a03e087..d71dfab48db3 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -1169,7 +1169,7 @@ else:
-
- PYTHON_LIBDIR_CALL = 'sysconfig.get_python_lib()'
-
--PYTHON_CONFIG_NAMES = ['CC', 'CXX', 'OPT', 'BASECFLAGS',
-+PYTHON_CONFIG_NAMES = ['CC', 'CXX', 'OPT', 'CFLAGS',
- 'CCSHARED', 'LDSHARED', 'SO', 'INCLUDEPY', 'LDFLAGS']
- PYTHON_CONFIG_QUOTED = ["'%s'" % s for s in PYTHON_CONFIG_NAMES]
- PYTHON_CONFIG_CALL = ('sysconfig.get_config_vars(%s)'
-@@ -1753,14 +1753,17 @@ else:
- ldshared = ldshared.replace('-fPIE', '')
- ldshared = ldshared.replace('-pie', '')
- python_env.Replace(SHLINKFLAGS=[],
-- LDFLAGS=python_config['LDFLAGS'],
-+ LDFLAGS=[],
- LINK=ldshared,
- SHLIBPREFIX="",
- SHLIBSUFFIX=python_config['SO'],
- CPPPATH=[python_config['INCLUDEPY']],
-- CPPFLAGS=python_config['OPT'],
-- CFLAGS=python_config['BASECFLAGS'],
-- CXXFLAGS=python_config['BASECFLAGS'])
-+ CPPFLAGS=[],
-+ CFLAGS=[],
-+ CXXFLAGS=[])
-+
-+ for flag in ['CFLAGS','LDFLAGS','OPT']:
-+ python_env.MergeFlags(Split(python_config[flag]))
-
- python_objects = {}
- python_compiled_libs = {}
diff --git a/patches/gpsd-3.20/0006-SConstruct-Remove-redundant-CheckHeaderDefines.patch b/patches/gpsd-3.20/0006-SConstruct-Remove-redundant-CheckHeaderDefines.patch
deleted file mode 100644
index a1519a723..000000000
--- a/patches/gpsd-3.20/0006-SConstruct-Remove-redundant-CheckHeaderDefines.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From: "Gary E. Miller" <gem@rellim.com>
-Date: Wed, 8 Jan 2020 14:56:58 -0800
-Subject: [PATCH] SConstruct: Remove redundant CheckHeaderDefines()
-
----
- SConstruct | 19 +------------------
- 1 file changed, 1 insertion(+), 18 deletions(-)
-
-diff --git a/SConstruct b/SConstruct
-index d71dfab48db3..1a0463f67a41 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -581,22 +581,6 @@ def CheckCompilerOption(context, option):
- return ret
-
-
--def CheckHeaderDefines(context, file, define):
-- context.Message('Checking if %s supplies %s... ' % (file, define))
-- ret = context.TryLink("""
-- #include <%s>
-- #ifndef %s
-- #error %s is not defined
-- #endif
-- int main(int argc, char **argv) {
-- (void) argc; (void) argv;
-- return 0;
-- }
-- """ % (file, define, define), '.c')
-- context.Result(ret)
-- return ret
--
--
- def CheckCompilerDefines(context, define):
- context.Message('Checking if compiler supplies %s... ' % (define,))
- ret = context.TryLink("""
-@@ -670,7 +654,6 @@ config = Configure(env, custom_tests={
- 'CheckC11': CheckC11,
- 'CheckCompilerDefines': CheckCompilerDefines,
- 'CheckCompilerOption': CheckCompilerOption,
-- 'CheckHeaderDefines': CheckHeaderDefines,
- 'CheckPKG': CheckPKG,
- 'CheckXsltproc': CheckXsltproc,
- 'GetPythonValue': GetPythonValue,
-@@ -1046,7 +1029,7 @@ else:
- if config.env["magic_hat"]:
- announce("Forcing magic_hat=no since RFC2783 API is unavailable")
- config.env["magic_hat"] = False
-- tiocmiwait = config.CheckHeaderDefines("sys/ioctl.h", "TIOCMIWAIT")
-+ tiocmiwait = config.CheckDeclaration("TIOCMIWAIT", "#include <sys/ioctl.h>")
- if not tiocmiwait and not kpps:
- announce("Neither TIOCMIWAIT nor RFC2783 API is available)")
- if config.env["timeservice"]:
diff --git a/patches/gpsd-3.20/0007-SConstruct-remove-redundant-CheckCompilerDefines.patch b/patches/gpsd-3.20/0007-SConstruct-remove-redundant-CheckCompilerDefines.patch
deleted file mode 100644
index c99949f6a..000000000
--- a/patches/gpsd-3.20/0007-SConstruct-remove-redundant-CheckCompilerDefines.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From: "Gary E. Miller" <gem@rellim.com>
-Date: Wed, 8 Jan 2020 15:25:10 -0800
-Subject: [PATCH] SConstruct: remove redundant CheckCompilerDefines()
-
-Built in CheckDeclaration() works fine.
----
- SConstruct | 25 ++++---------------------
- 1 file changed, 4 insertions(+), 21 deletions(-)
-
-diff --git a/SConstruct b/SConstruct
-index 1a0463f67a41..ea87d9204e60 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -581,23 +581,7 @@ def CheckCompilerOption(context, option):
- return ret
-
-
--def CheckCompilerDefines(context, define):
-- context.Message('Checking if compiler supplies %s... ' % (define,))
-- ret = context.TryLink("""
-- #ifndef %s
-- #error %s is not defined
-- #endif
-- int main(int argc, char **argv) {
-- (void) argc; (void) argv;
-- return 0;
-- }
-- """ % (define, define), '.c')
-- context.Result(ret)
-- return ret
--
- # Check if this compiler is C11 or better
--
--
- def CheckC11(context):
- context.Message('Checking if compiler is C11... ')
- ret = context.TryLink("""
-@@ -652,7 +636,6 @@ 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,
- 'CheckPKG': CheckPKG,
- 'CheckXsltproc': CheckXsltproc,
-@@ -926,7 +909,7 @@ else:
- # check for C11 or better, and __STDC__NO_ATOMICS__ is not defined
- # before looking for stdatomic.h
- if ((config.CheckC11() and
-- not config.CheckCompilerDefines("__STDC_NO_ATOMICS__") and
-+ not config.CheckDeclaration("__STDC_NO_ATOMICS__") and
- config.CheckHeader("stdatomic.h"))):
- confdefs.append("#define HAVE_STDATOMIC_H 1\n")
- else:
-@@ -940,9 +923,9 @@ else:
-
- # endian.h is required for rtcm104v2 unless the compiler defines
- # __ORDER_BIG_ENDIAN__, __ORDER_LITTLE_ENDIAN__ and __BYTE_ORDER__
-- if config.CheckCompilerDefines("__ORDER_BIG_ENDIAN__") \
-- and config.CheckCompilerDefines("__ORDER_LITTLE_ENDIAN__") \
-- and config.CheckCompilerDefines("__BYTE_ORDER__"):
-+ if ((config.CheckDeclaration("__ORDER_BIG_ENDIAN__") and
-+ config.CheckDeclaration("__ORDER_LITTLE_ENDIAN__") and
-+ config.CheckDeclaration("__BYTE_ORDER__"))):
- confdefs.append("#define HAVE_BUILTIN_ENDIANNESS 1\n")
- confdefs.append("/* #undef HAVE_ENDIAN_H */\n")
- confdefs.append("/* #undef HAVE_SYS_ENDIAN_H */\n")
diff --git a/patches/gpsd-3.20/0008-SConstruct-GetPythonValue-and-CheckPKG-were-using-wr.patch b/patches/gpsd-3.20/0008-SConstruct-GetPythonValue-and-CheckPKG-were-using-wr.patch
deleted file mode 100644
index 4db5abd2c..000000000
--- a/patches/gpsd-3.20/0008-SConstruct-GetPythonValue-and-CheckPKG-were-using-wr.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From: "Gary E. Miller" <gem@rellim.com>
-Date: Wed, 8 Jan 2020 15:46:03 -0800
-Subject: [PATCH] SConstruct: GetPythonValue() and CheckPKG were using wrong
- env.
-
----
- SConstruct | 9 ++++++---
- 1 file changed, 6 insertions(+), 3 deletions(-)
-
-diff --git a/SConstruct b/SConstruct
-index ea87d9204e60..fc5ab39bfad6 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -524,7 +524,7 @@ values can be listed with 'scons -h'.
- def CheckPKG(context, name):
- context.Message('Checking pkg-config for %s... ' % name)
- ret = context.TryAction('%s --exists \'%s\''
-- % (env['PKG_CONFIG'], name))[0]
-+ % (context.env['PKG_CONFIG'], name))[0]
- context.Result(ret)
- return ret
-
-@@ -599,8 +599,11 @@ def CheckC11(context):
-
- def GetPythonValue(context, name, imp, expr, brief=False):
- context.Message('Obtaining Python %s... ' % name)
-+
-+ # what is this about?
- context.sconf.cached = 0 # Avoid bogus "(cached)"
-- if not env['target_python']:
-+
-+ if not context.env['target_python']:
- status, value = 0, str(eval(expr))
- else:
- command = [target_python_path, '-c', '%s; print(%s)' % (imp, expr)]
-@@ -615,7 +618,7 @@ def GetPythonValue(context, name, imp, expr, brief=False):
- announce('Python command "%s" failed - disabling Python.\n'
- 'Python components will NOT be installed' %
- command[2])
-- env['python'] = False
-+ context.env['python'] = False
- context.Result('failed' if status else 'ok' if brief else value)
- return value
-
diff --git a/patches/gpsd-3.20/0009-SConstruct-Fix-GetPythonValue-for-python-3.patch b/patches/gpsd-3.20/0009-SConstruct-Fix-GetPythonValue-for-python-3.patch
deleted file mode 100644
index 88c8cfbaa..000000000
--- a/patches/gpsd-3.20/0009-SConstruct-Fix-GetPythonValue-for-python-3.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From: "Gary E. Miller" <gem@rellim.com>
-Date: Wed, 8 Jan 2020 17:25:16 -0800
-Subject: [PATCH] SConstruct: Fix GetPythonValue() for python 3.
-
----
- SConstruct | 19 +++++++++++++------
- 1 file changed, 13 insertions(+), 6 deletions(-)
-
-diff --git a/SConstruct b/SConstruct
-index fc5ab39bfad6..a5c41e8f4803 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -604,7 +604,8 @@ def GetPythonValue(context, name, imp, expr, brief=False):
- context.sconf.cached = 0 # Avoid bogus "(cached)"
-
- if not context.env['target_python']:
-- status, value = 0, str(eval(expr))
-+ status = 0
-+ value = str(eval(expr))
- else:
- command = [target_python_path, '-c', '%s; print(%s)' % (imp, expr)]
- try:
-@@ -619,7 +620,14 @@ def GetPythonValue(context, name, imp, expr, brief=False):
- 'Python components will NOT be installed' %
- command[2])
- context.env['python'] = False
-- context.Result('failed' if status else 'ok' if brief else value)
-+ if 0 != status:
-+ result = 'failed'
-+ elif brief:
-+ result = 'ok'
-+ else:
-+ # context.Result() confused by bytes
-+ result = polystr(value)
-+ context.Result(result)
- return value
-
-
-@@ -1181,15 +1189,14 @@ elif config.env['python']:
- # Maximize consistency by using the reported sys.executable
- target_python_path = config.GetPythonValue('exe path',
- 'import sys',
-- 'sys.executable',
-- brief=cleaning)
-+ 'sys.executable')
-+ # python module directory
- if config.env['python_libdir']:
- python_libdir = config.env['python_libdir']
- else:
- python_libdir = config.GetPythonValue('lib dir',
- PYTHON_SYSCONFIG_IMPORT,
-- PYTHON_LIBDIR_CALL,
-- brief=cleaning)
-+ PYTHON_LIBDIR_CALL)
- # follow FHS, put in /usr/local/libXX, not /usr/libXX
- # may be lib, lib32 or lib64
- python_libdir = polystr(python_libdir)
diff --git a/patches/gpsd-3.20/0010-SConstruct-move-more-checks-into-GetPythonValue.patch b/patches/gpsd-3.20/0010-SConstruct-move-more-checks-into-GetPythonValue.patch
deleted file mode 100644
index a68169431..000000000
--- a/patches/gpsd-3.20/0010-SConstruct-move-more-checks-into-GetPythonValue.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From: "Gary E. Miller" <gem@rellim.com>
-Date: Wed, 8 Jan 2020 18:04:15 -0800
-Subject: [PATCH] SConstruct: move more checks into GetPythonValue()
-
-So the target python is used, not the python used to run scons.
----
- SConstruct | 36 ++++++++++++++++--------------------
- 1 file changed, 16 insertions(+), 20 deletions(-)
-
-diff --git a/SConstruct b/SConstruct
-index a5c41e8f4803..9f88fa347b9a 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -33,7 +33,6 @@ from __future__ import print_function
- import ast
- import functools
- import glob
--import imp # for imp.find_module('gps'), imp deprecated in 3.4
- import operator
- import os
- import pickle
-@@ -598,12 +597,14 @@ def CheckC11(context):
-
-
- def GetPythonValue(context, name, imp, expr, brief=False):
-- context.Message('Obtaining Python %s... ' % name)
-+ """Get a value from the target python, not the running one."""
-+ context.Message('Checking Python %s... ' % name)
-
- # what is this about?
- context.sconf.cached = 0 # Avoid bogus "(cached)"
-
- if not context.env['target_python']:
-+ # FIXME: this ignores imp
- status = 0
- value = str(eval(expr))
- else:
-@@ -616,10 +617,8 @@ def GetPythonValue(context, name, imp, expr, brief=False):
- value = value.strip()
- else:
- value = ''
-- announce('Python command "%s" failed - disabling Python.\n'
-- 'Python components will NOT be installed' %
-- command[2])
-- context.env['python'] = False
-+ # do not disable python because this failed
-+ # maybe testing for newer python feature
- if 0 != status:
- result = 'failed'
- elif brief:
-@@ -1023,7 +1022,8 @@ else:
- if config.env["magic_hat"]:
- announce("Forcing magic_hat=no since RFC2783 API is unavailable")
- config.env["magic_hat"] = False
-- tiocmiwait = config.CheckDeclaration("TIOCMIWAIT", "#include <sys/ioctl.h>")
-+ tiocmiwait = config.CheckDeclaration("TIOCMIWAIT",
-+ "#include <sys/ioctl.h>")
- if not tiocmiwait and not kpps:
- announce("Neither TIOCMIWAIT nor RFC2783 API is available)")
- if config.env["timeservice"]:
-@@ -1218,28 +1218,24 @@ elif config.env['python']:
- config.env['aiogps'] = True
-
- # check for pyserial
-- try:
-- imp.find_module('serial')
-- announce("Python module serial (pyserial) found.")
-- except ImportError:
-+ if not config.GetPythonValue('module serial (pyserial)',
-+ 'import serial', '"found"'):
- # no pyserial, used by ubxtool and zerk
-- announce("WARNING: Python module serial (pyserial) not found.")
-+ announce("WARNING: ubxtool and zerk are missing optional "
-+ "runtime module serial")
-
- config.env['xgps_deps'] = True
-+
- # check for pycairo
-- try:
-- imp.find_module('cairo')
-- announce("Python module cairo (pycairo) found.")
-- except ImportError:
-+ if not config.GetPythonValue('module cairo (pycairo)',
-+ 'import cairo', '"found"'):
- # no pycairo, used by xgps, xgpsspeed
- config.env['xgps_deps'] = False
- announce("WARNING: Python module cairo (pycairo) not found.")
-
- # check for pygobject
-- try:
-- imp.find_module('gi')
-- announce("Python module gi (pygobject) found.")
-- except ImportError:
-+ if not config.GetPythonValue('module gi (pygobject)',
-+ 'import gi', '"found"'):
- # no pycairo, used by xgps, xgpsspeed
- config.env['xgps_deps'] = False
- announce("WARNING: Python module gi (pygobject) not found.")
diff --git a/patches/gpsd-3.20/0011-SConstruct-Check-target-python-version-not-scons-pyt.patch b/patches/gpsd-3.20/0011-SConstruct-Check-target-python-version-not-scons-pyt.patch
deleted file mode 100644
index 19d3e3b23..000000000
--- a/patches/gpsd-3.20/0011-SConstruct-Check-target-python-version-not-scons-pyt.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From: "Gary E. Miller" <gem@rellim.com>
-Date: Wed, 8 Jan 2020 18:38:11 -0800
-Subject: [PATCH] SConstruct: Check target python version, not scons python
- version.
-
----
- SConstruct | 11 +++++++----
- 1 file changed, 7 insertions(+), 4 deletions(-)
-
-diff --git a/SConstruct b/SConstruct
-index 9f88fa347b9a..a02a2a897d32 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -1209,11 +1209,14 @@ elif config.env['python']:
- brief=True)
-
- # aiogps is only available on Python >= 3.6
-- # FIXME check target_python, not current python
-- if sys.version_info < (3, 6):
-+ sysver = config.GetPythonValue('version',
-+ 'import sys',
-+ '"%d.%d" % sys.version_info[0:2]')
-+ if 3 > int(sysver[0]) or 6 > int(sysver[2]):
- config.env['aiogps'] = False
-- announce("WARNING: Python too old: "
-- "gps/aiogps.py will not be installed\n")
-+ announce("WARNING: Python%s too old (need 3.6): "
-+ "gps/aiogps.py will not be installed\n" %
-+ (sysver), end=True)
- else:
- config.env['aiogps'] = True
-
diff --git a/patches/gpsd-3.20/0012-SConstruct-Simplify-GetPythonValue-.-It-now-caches-p.patch b/patches/gpsd-3.20/0012-SConstruct-Simplify-GetPythonValue-.-It-now-caches-p.patch
deleted file mode 100644
index e833a1f08..000000000
--- a/patches/gpsd-3.20/0012-SConstruct-Simplify-GetPythonValue-.-It-now-caches-p.patch
+++ /dev/null
@@ -1,174 +0,0 @@
-From: "Gary E. Miller" <gem@rellim.com>
-Date: Fri, 10 Jan 2020 16:24:58 -0800
-Subject: [PATCH] SConstruct: Simplify GetPythonValue(). It now caches
- properly.
-
----
- SConstruct | 93 ++++++++++++++++++++++++++++++++------------------------------
- 1 file changed, 48 insertions(+), 45 deletions(-)
-
-diff --git a/SConstruct b/SConstruct
-index a02a2a897d32..f45efe4e19f0 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -22,12 +22,12 @@
- # * Out-of-directory builds: see http://www.scons.org/wiki/UsingBuildDir
- # * Coveraging mode: gcc "-coverage" flag requires a hack
- # for building the python bindings
--# * Python 3 compatibility in this recipe
--
--# Since SCons 3.0.0 forces print_function on us, it needs to be unconditional.
--# This is recognized to be a bug in SCons, but we need to live with it for now,
--# and we'll need this for eventual Python 3 compatibility, anyway.
--# Python requires this to precede any non-comment code.
-+#
-+# This file is Copyright (c) 2010-2020 by the GPSD project
-+# SPDX-License-Identifier: BSD-2-clause
-+#
-+# This code runs compatibly under Python 2 and 3.x for x >= 2.
-+# Preserve this property!
- from __future__ import print_function
-
- import ast
-@@ -600,33 +600,29 @@ def GetPythonValue(context, name, imp, expr, brief=False):
- """Get a value from the target python, not the running one."""
- context.Message('Checking Python %s... ' % name)
-
-- # what is this about?
-- context.sconf.cached = 0 # Avoid bogus "(cached)"
--
- if not context.env['target_python']:
- # FIXME: this ignores imp
-- status = 0
-+ status = 1
- value = str(eval(expr))
- else:
-- command = [target_python_path, '-c', '%s; print(%s)' % (imp, expr)]
-- try:
-- status, value = _getstatusoutput(command, shell=False)
-- except OSError:
-- status = -1
-- if status == 0:
-- value = value.strip()
-- else:
-- value = ''
-- # do not disable python because this failed
-- # maybe testing for newer python feature
-- if 0 != status:
-- result = 'failed'
-- elif brief:
-- result = 'ok'
-- else:
-- # context.Result() confused by bytes
-- result = polystr(value)
-- context.Result(result)
-+ command = (context.env['target_python'] + " $SOURCE > $TARGET")
-+ text = "%s; print(%s)" % (imp, expr)
-+
-+ # TryAction returns (1, outputStr), or (0, '') on fail
-+ (status, value) = context.TryAction(command, text, '.py')
-+
-+ # do not disable python because this failed
-+ # maybe testing for newer python feature
-+
-+ if 1 == status:
-+ # we could convert to str(), but caching turns it into bytes anyway
-+ value = value.strip()
-+ if brief is True:
-+ context.did_show_result = 1
-+ print("ok")
-+
-+ context.Result(value)
-+ # return value
- return value
-
-
-@@ -1174,10 +1170,13 @@ if helping:
- config.env['xgps_deps'] = False
-
- elif config.env['python']:
-+ target_python_path = None
- if config.env['target_python']:
- try:
- config.CheckProg
-- except AttributeError: # Older scons versions don't have CheckProg
-+ except AttributeError:
-+ # scons versions before Sep 2015 (2.4.0) don't have CheckProg
-+ # gpsd only asks for 2.3.0 or higher
- target_python_path = config.env['target_python']
- else:
- target_python_path = config.CheckProg(config.env['target_python'])
-@@ -1186,10 +1185,13 @@ elif config.env['python']:
- config.env['python'] = False
-
- if config.env['python']:
-- # Maximize consistency by using the reported sys.executable
-- target_python_path = config.GetPythonValue('exe path',
-- 'import sys',
-- 'sys.executable')
-+ if not target_python_path:
-+ # Avoid double testing for target_python_path
-+ # Maximize consistency by using the reported sys.executable
-+ target_python_path = config.GetPythonValue('exe path',
-+ 'import sys',
-+ 'sys.executable')
-+ target_python_path = polystr(target_python_path)
- # python module directory
- if config.env['python_libdir']:
- python_libdir = config.env['python_libdir']
-@@ -1207,11 +1209,18 @@ elif config.env['python']:
- PYTHON_SYSCONFIG_IMPORT,
- PYTHON_CONFIG_CALL,
- brief=True)
-+ py_config_text = polystr(py_config_text)
-+ py_config_vars = ast.literal_eval(py_config_text)
-+ py_config_vars = [[] if x is None else x for x in py_config_vars]
-+ python_config = dict(zip(PYTHON_CONFIG_NAMES, py_config_vars))
-+ # debug
-+ # announce(python_config)
-
- # aiogps is only available on Python >= 3.6
- sysver = config.GetPythonValue('version',
- 'import sys',
- '"%d.%d" % sys.version_info[0:2]')
-+
- if 3 > int(sysver[0]) or 6 > int(sysver[2]):
- config.env['aiogps'] = False
- announce("WARNING: Python%s too old (need 3.6): "
-@@ -1252,14 +1261,8 @@ elif config.env['python']:
- # xgps* turned off by option
- config.env['xgps_deps'] = False
-
-- config.env['PYTHON'] = polystr(target_python_path)
-- # For regress-driver
-- config.env['ENV']['PYTHON'] = polystr(target_python_path)
-- py_config_vars = ast.literal_eval(py_config_text.decode())
-- py_config_vars = [[] if x is None else x for x in py_config_vars]
-- python_config = dict(zip(PYTHON_CONFIG_NAMES, py_config_vars))
-- # debug
-- # announce(python_config)
-+ config.env['PYTHON'] = target_python_path
-+ config.env['ENV']['PYTHON'] = target_python_path
-
-
- env = config.Finish()
-@@ -1859,7 +1862,7 @@ else:
-
-
- # Instantiate some file templates. We'd like to use the Substfile builtin
--# but it doesn't seem to work in scons 1.20
-+# Substfile in scons 1.3.0+, since 2010
- def substituter(target, source, env):
- substmap = (
- ('@ANNOUNCE@', annmail),
-@@ -2371,8 +2374,8 @@ else:
- ' $SRCDIR/test/clientlib/*.log', ])
- # Unit-test the bitfield extractor
- misc_regress = Utility('misc-regress', [], [
-- '{} $SRCDIR/test_clienthelpers.py'.format(target_python_path.decode()),
-- '{} $SRCDIR/test_misc.py'.format(target_python_path.decode())
-+ '{} $SRCDIR/test_clienthelpers.py'.format(target_python_path),
-+ '{} $SRCDIR/test_misc.py'.format(target_python_path)
- ])
-
-
diff --git a/patches/gpsd-3.20/0013-SConstruct-fix-polystr-for-python2.patch b/patches/gpsd-3.20/0013-SConstruct-fix-polystr-for-python2.patch
deleted file mode 100644
index 0223a2735..000000000
--- a/patches/gpsd-3.20/0013-SConstruct-fix-polystr-for-python2.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From: "Gary E. Miller" <gem@rellim.com>
-Date: Fri, 10 Jan 2020 18:43:17 -0800
-Subject: [PATCH] SConstruct: fix polystr() for python2
-
----
- SConstruct | 15 ++++++++++-----
- 1 file changed, 10 insertions(+), 5 deletions(-)
-
-diff --git a/SConstruct b/SConstruct
-index f45efe4e19f0..a4f8cdc763cd 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -1152,11 +1152,16 @@ PYTHON_CONFIG_CALL = ('sysconfig.get_config_vars(%s)'
- # ugly hack from http://www.catb.org/esr/faqs/practical-python-porting/
- # handle python2/3 strings
- def polystr(o):
-- if isinstance(o, str):
-- return o
-- if isinstance(o, bytes):
-- return str(o, encoding='latin-1')
-- raise ValueError
-+ if bytes is str: # Python 2
-+ return str(o)
-+ else: # python 3.
-+ if isinstance(o, str):
-+ return o
-+ if isinstance(o, bytes) or isinstance(o, bytearray):
-+ return str(o, encoding='latin1')
-+ if isinstance(o, int):
-+ return str(o)
-+ raise ValueError
-
-
- # flag that we have xgps* dependencies, so xgps* should run OK
diff --git a/patches/gpsd-3.20/0100-SConstruct-Use-target_python-when-constructing-exten.patch b/patches/gpsd-3.20/0100-SConstruct-Use-target_python-when-constructing-exten.patch
deleted file mode 100644
index e01d92353..000000000
--- a/patches/gpsd-3.20/0100-SConstruct-Use-target_python-when-constructing-exten.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From: Ladislav Michl <ladis@linux-mips.org>
-Date: Sun, 2 Feb 2020 00:42:42 +0100
-Subject: [PATCH] SConstruct: Use target_python when constructing extension
- name
-
----
- SConstruct | 9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
-diff --git a/SConstruct b/SConstruct
-index a4f8cdc763cd..cd30bb86f4ac 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -1234,6 +1234,12 @@ elif config.env['python']:
- else:
- config.env['aiogps'] = True
-
-+ # get version part of python extension name
-+ ext_python_ver = config.GetPythonValue('ext version string',
-+ 'import sys',
-+ '"_".join(map(str, '
-+ 'sys.version_info))')
-+
- # check for pyserial
- if not config.GetPythonValue('module serial (pyserial)',
- 'import serial', '"found"'):
-@@ -1756,8 +1762,7 @@ else:
- python_objects[ext].append(
- python_env.NoCache(
- python_env.SharedObject(
-- src.split(".")[0] + '-py_' +
-- '_'.join(['%s' % (x) for x in sys.version_info]) +
-+ src.split(".")[0] + '-py_' + ext_python_ver +
- python_config['SO'], src
- )
- )
diff --git a/patches/gpsd-3.20/0102-SConstruct-HACK-use-target-INCLUDEPY.patch b/patches/gpsd-3.20/0102-SConstruct-HACK-use-target-INCLUDEPY.patch
deleted file mode 100644
index c597c8393..000000000
--- a/patches/gpsd-3.20/0102-SConstruct-HACK-use-target-INCLUDEPY.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From: Ladislav Michl <ladis@linux-mips.org>
-Date: Fri, 7 Feb 2020 10:53:19 +0100
-Subject: [PATCH] SConstruct: HACK: use target INCLUDEPY
-
-Once PTXdist's cross-python starts returning proper INCLUDEPY
-path, this hack will wanish.
-
-Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
----
- SConstruct | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/SConstruct b/SConstruct
-index 841eb06b7793..3d885a17a5b9 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -1748,7 +1748,7 @@ else:
- LINK=ldshared,
- SHLIBPREFIX="",
- SHLIBSUFFIX=python_config['SO'],
-- CPPPATH=[python_config['INCLUDEPY']],
-+ CPPPATH=[os.getenv('SYSROOT') + python_config['INCLUDEPY']],
- CPPFLAGS=[],
- CFLAGS=[],
- CXXFLAGS=[])
diff --git a/patches/gpsd-3.20/series b/patches/gpsd-3.20/series
deleted file mode 100644
index cf6301f6d..000000000
--- a/patches/gpsd-3.20/series
+++ /dev/null
@@ -1,20 +0,0 @@
-# generated by git-ptx-patches
-#tag:base --start-number 1
-0001-SConstruct-replace-custom-CheckSizeOf-with-standard-.patch
-0002-SConstruct-Always-install-xpgs-xgpsspeed-programs-ma.patch
-0003-SConstruct-Always-install-xgps-.-Only-test-if-deps-f.patch
-0004-SConstruct-Skip-sizeof-time_t-test-when-cross-compil.patch
-0005-Fix-merging-and-using-of-python-flags.patch
-0006-SConstruct-Remove-redundant-CheckHeaderDefines.patch
-0007-SConstruct-remove-redundant-CheckCompilerDefines.patch
-0008-SConstruct-GetPythonValue-and-CheckPKG-were-using-wr.patch
-0009-SConstruct-Fix-GetPythonValue-for-python-3.patch
-0010-SConstruct-move-more-checks-into-GetPythonValue.patch
-0011-SConstruct-Check-target-python-version-not-scons-pyt.patch
-0012-SConstruct-Simplify-GetPythonValue-.-It-now-caches-p.patch
-0013-SConstruct-fix-polystr-for-python2.patch
-#tag:ptx --start-number 100
-0100-SConstruct-Use-target_python-when-constructing-exten.patch
-0101-SConstruct-Search-for-ncursesw-pkgconfig.patch
-0102-SConstruct-HACK-use-target-INCLUDEPY.patch
-# 0b0660f42833b6e75cc0bdf50a2eec25 - git-ptx-patches magic
diff --git a/patches/gpsd-3.20/0101-SConstruct-Search-for-ncursesw-pkgconfig.patch b/patches/gpsd-3.21/0001-Search-for-ncursesw-pkgconfig.patch
similarity index 86%
rename from patches/gpsd-3.20/0101-SConstruct-Search-for-ncursesw-pkgconfig.patch
rename to patches/gpsd-3.21/0001-Search-for-ncursesw-pkgconfig.patch
index ac233ca96..c7b874c83 100644
--- a/patches/gpsd-3.20/0101-SConstruct-Search-for-ncursesw-pkgconfig.patch
+++ b/patches/gpsd-3.21/0001-Search-for-ncursesw-pkgconfig.patch
@@ -1,6 +1,6 @@
From: Ladislav Michl <ladis@linux-mips.org>
Date: Fri, 25 Oct 2019 14:18:30 +0200
-Subject: [PATCH] SConstruct: Search for ncursesw pkgconfig
+Subject: [PATCH] Search for ncursesw pkgconfig
PTXDist can be configured to build wide char version of ncurses
which SConstruct is unaware of.
@@ -11,10 +11,10 @@ Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
1 file changed, 2 insertions(+)
diff --git a/SConstruct b/SConstruct
-index cd30bb86f4ac..841eb06b7793 100644
+index e15d63f6ede0..71643c428f26 100644
--- a/SConstruct
+++ b/SConstruct
-@@ -807,6 +807,8 @@ else:
+@@ -1067,6 +1067,8 @@ else:
ncurseslibs = pkg_config('ncurses', rpath_hack=True)
if config.CheckPKG('tinfo'):
ncurseslibs += pkg_config('tinfo', rpath_hack=True)
diff --git a/patches/gpsd-3.21/0002-SConstruct-Use-target-option-to-decide-whenewer-to-r.patch b/patches/gpsd-3.21/0002-SConstruct-Use-target-option-to-decide-whenewer-to-r.patch
new file mode 100644
index 000000000..72f7d3a31
--- /dev/null
+++ b/patches/gpsd-3.21/0002-SConstruct-Use-target-option-to-decide-whenewer-to-r.patch
@@ -0,0 +1,21 @@
+From: Ladislav Michl <ladis@linux-mips.org>
+Date: Sun, 2 Feb 2020 09:45:04 +0100
+Subject: [PATCH] SConstruct: Use 'target' option to decide whenewer to restart systemd
+
+---
+ SConstruct | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/SConstruct b/SConstruct
+index 71643c428f26..434141f3e46b 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -2853,7 +2853,7 @@ udev_install = Utility('udev-install', 'install', [
+
+ if env['systemd']:
+ env.Requires(udev_install, systemd_install)
+- if not env["sysroot"]:
++ if not env['target']:
+ systemctl_daemon_reload = Utility('systemctl-daemon-reload', '',
+ ['systemctl daemon-reload || true'])
+ env.AlwaysBuild(systemctl_daemon_reload)
diff --git a/patches/gpsd-3.21/series b/patches/gpsd-3.21/series
new file mode 100644
index 000000000..33da89cc5
--- /dev/null
+++ b/patches/gpsd-3.21/series
@@ -0,0 +1,5 @@
+# generated by git-ptx-patches
+#tag:base --start-number 1
+0001-Search-for-ncursesw-pkgconfig.patch
+0002-SConstruct-Use-target-option-to-decide-whenewer-to-r.patch
+# 207be982e9eb34d250a9e62946dcd881 - git-ptx-patches magic
diff --git a/projectroot/usr/lib/systemd/system/gpsd.socket b/projectroot/usr/lib/systemd/system/gpsd.socket
index bc7682116..17f5b9d8d 100644
--- a/projectroot/usr/lib/systemd/system/gpsd.socket
+++ b/projectroot/usr/lib/systemd/system/gpsd.socket
@@ -2,7 +2,7 @@
Description=GPS (Global Positioning System) Daemon Sockets
[Socket]
-ListenStream=/var/run/gpsd.sock
+ListenStream=/run/gpsd.sock
ListenStream=[::1]:2947
ListenStream=127.0.0.1:2947
# To allow gpsd remote access, start gpsd with the -G option and
diff --git a/projectroot/usr/lib/systemd/system/gpsdctl@.service b/projectroot/usr/lib/systemd/system/gpsdctl@.service
index 6266fd8b8..57b3ace9c 100644
--- a/projectroot/usr/lib/systemd/system/gpsdctl@.service
+++ b/projectroot/usr/lib/systemd/system/gpsdctl@.service
@@ -6,7 +6,7 @@ After=dev-%i.device
[Service]
Type=oneshot
-Environment="GPSD_SOCKET=/var/run/gpsd.sock"
+Environment="GPSD_SOCKET=/run/gpsd.sock"
RemainAfterExit=yes
ExecStart=/usr/sbin/gpsdctl add /dev/%I
ExecStop=/usr/sbin/gpsdctl remove /dev/%I
diff --git a/rules/gpsd.in b/rules/gpsd.in
index 9e3ea51f6..fd985cb57 100644
--- a/rules/gpsd.in
+++ b/rules/gpsd.in
@@ -68,18 +68,6 @@ config GPSD_USB
comment "Other options ---"
-config GPSD_RECONFIGURE
- bool
- prompt "enable reconfigure"
- help
- allow gpsd to change device settings
-
-config GPSD_CONTROLSEND
- bool
- prompt "enable controlsend"
- help
- allow gpsctl/gpsmon to change device settings
-
config GPSD_PYTHON
bool
prompt "python bindings"
diff --git a/rules/gpsd.make b/rules/gpsd.make
index a6739e37e..d01308fcc 100644
--- a/rules/gpsd.make
+++ b/rules/gpsd.make
@@ -16,10 +16,10 @@ PACKAGES-$(PTXCONF_GPSD) += gpsd
#
# Paths and names
#
-GPSD_VERSION := 3.20
-GPSD_MD5 := cf7fdec7ce7221d20bee1a7246362b05
+GPSD_VERSION := 3.21
+GPSD_MD5 := 782e4b10193f225cc95c65528636d4f5
GPSD := gpsd-$(GPSD_VERSION)
-GPSD_SUFFIX := tar.gz
+GPSD_SUFFIX := tar.xz
GPSD_URL := http://download.savannah.gnu.org/releases/gpsd/$(GPSD).$(GPSD_SUFFIX)
GPSD_SOURCE := $(SRCDIR)/$(GPSD).$(GPSD_SUFFIX)
GPSD_DIR := $(BUILDDIR)/$(GPSD)
@@ -63,7 +63,6 @@ GPSD_CONF_OPT := \
bluez=$(call ptx/yesno, PTXCONF_GPSD_BLUEZ) \
clientdebug=no \
control_socket=yes \
- controlsend=$(call ptx/yesno, PTXCONF_GPSD_CONTROLSEND) \
coveraging=no \
dbus_export=$(call ptx/yesno, PTXCONF_GPSD_DBUS) \
debug=no \
@@ -82,7 +81,6 @@ GPSD_CONF_OPT := \
implicit_link=yes \
isync=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_ISYNC) \
itrax=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_ITRAX) \
- libdir=/usr/$(CROSS_LIB_DIR) \
libgpsmm=no \
magic_hat=no \
manbuild=no \
@@ -104,9 +102,9 @@ GPSD_CONF_OPT := \
python=$(call ptx/yesno, PTXCONF_GPSD_PYTHON) \
python_libdir=/usr/lib/python$(PYTHON3_MAJORMINOR) \
qt=no \
- reconfigure=$(call ptx/yesno, PTXCONF_GPSD_RECONFIGURE) \
rtcm104v2=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_RTCM104V2) \
rtcm104v3=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_RTCM104V3) \
+ rundir=/run \
shared=yes \
shm_export=$(call ptx/yesno, PTXCONF_GPSD_SHM) \
sirf=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_SIRF) \
@@ -155,6 +153,7 @@ $(STATEDIR)/gpsd.targetinstall:
@$(call install_fixup, gpsd,DESCRIPTION,missing)
@$(call install_lib, gpsd, 0, 0, 0644, libgps)
+ @$(call install_lib, gpsd, 0, 0, 0644, libgpsdpacket)
@$(foreach prog, $(GPSD_PROGS-y), \
$(call install_copy, gpsd, 0, 0, 0755, -, \
/usr/bin/$(prog))$(ptx/nl))
@@ -183,7 +182,7 @@ endif
endif
ifdef PTXCONF_GPSD_PYTHON
@$(call install_glob, gpsd, 0, 0, -, \
- /usr/lib/python$(PYTHON3_MAJORMINOR), *.so *.py)
+ /usr/lib/python$(PYTHON3_MAJORMINOR), *.py)
endif
@$(call install_finish, gpsd)
--
2.28.0
_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de
next reply other threads:[~2020-08-04 21:04 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-04 21:04 Ladislav Michl [this message]
2020-08-07 13:07 ` Michael Olbrich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200804210424.GA627309@lenoch \
--to=ladis@linux-mips.org \
--cc=ptxdist@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox