mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
* [ptxdist] [PATCH] gpsd: version bump 3.19 -> 3.20
@ 2020-01-19 21:37 Ladislav Michl
  2020-01-30 22:17 ` Ladislav Michl
  0 siblings, 1 reply; 8+ messages in thread
From: Ladislav Michl @ 2020-01-19 21:37 UTC (permalink / raw)
  To: ptxdist

Quite a few options were removed, so remome them from Kconfig as well.
Buildsystem counts on gcc to be used for linking and setting LD makes
build fail, so set only those tools actually used.

Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
---
 .../0001-Search-for-ncursesw-pkgconfig.patch  |  4 +-
 ...Fix-python-binding-cross-compilation.patch | 12 +++---
 ...sizeof-time_t-test-when-cross-compil.patch | 38 +++++++++++++++++++
 patches/{gpsd-3.19 => gpsd-3.20}/series       |  3 +-
 rules/gpsd.in                                 | 24 ------------
 rules/gpsd.make                               | 23 ++++-------
 6 files changed, 55 insertions(+), 49 deletions(-)
 rename patches/{gpsd-3.19 => gpsd-3.20}/0001-Search-for-ncursesw-pkgconfig.patch (92%)
 rename patches/{gpsd-3.19 => gpsd-3.20}/0002-Fix-python-binding-cross-compilation.patch (93%)
 create mode 100644 patches/gpsd-3.20/0003-SConstruct-Skip-sizeof-time_t-test-when-cross-compil.patch
 rename patches/{gpsd-3.19 => gpsd-3.20}/series (54%)

diff --git a/patches/gpsd-3.19/0001-Search-for-ncursesw-pkgconfig.patch b/patches/gpsd-3.20/0001-Search-for-ncursesw-pkgconfig.patch
similarity index 92%
rename from patches/gpsd-3.19/0001-Search-for-ncursesw-pkgconfig.patch
rename to patches/gpsd-3.20/0001-Search-for-ncursesw-pkgconfig.patch
index 235d5b36e..3030d2970 100644
--- a/patches/gpsd-3.19/0001-Search-for-ncursesw-pkgconfig.patch
+++ b/patches/gpsd-3.20/0001-Search-for-ncursesw-pkgconfig.patch
@@ -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 5160481a7a7b..7bd5b08f2a46 100644
+index 33e0ff32665c..0fde205c7302 100644
 --- a/SConstruct
 +++ b/SConstruct
-@@ -826,6 +826,8 @@ else:
+@@ -872,6 +872,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.19/0002-Fix-python-binding-cross-compilation.patch b/patches/gpsd-3.20/0002-Fix-python-binding-cross-compilation.patch
similarity index 93%
rename from patches/gpsd-3.19/0002-Fix-python-binding-cross-compilation.patch
rename to patches/gpsd-3.20/0002-Fix-python-binding-cross-compilation.patch
index 94a4810f6..4177eb27a 100644
--- a/patches/gpsd-3.19/0002-Fix-python-binding-cross-compilation.patch
+++ b/patches/gpsd-3.20/0002-Fix-python-binding-cross-compilation.patch
@@ -7,10 +7,10 @@ Subject: [PATCH] Fix python binding cross-compilation
  1 file changed, 21 insertions(+), 27 deletions(-)
 
 diff --git a/SConstruct b/SConstruct
-index 7bd5b08f2a46..4895b659ba49 100644
+index 0fde205c7302..344bf42f84ea 100644
 --- a/SConstruct
 +++ b/SConstruct
-@@ -440,6 +440,10 @@ def announce(msg):
+@@ -424,6 +424,10 @@ def announce(msg):
      if not env.GetOption("silent"):
          print(msg)
  
@@ -21,7 +21,7 @@ index 7bd5b08f2a46..4895b659ba49 100644
  
  # DESTDIR environment variable means user prefix the installation root.
  DESTDIR = os.environ.get('DESTDIR', '')
-@@ -454,12 +458,6 @@ def installdir(dir, add_destdir=True):
+@@ -438,12 +442,6 @@ def installdir(idir, add_destdir=True):
      wrapped.replace("/usr/lib/systemd", "/lib/systemd")
      return wrapped
  
@@ -34,7 +34,7 @@ index 7bd5b08f2a46..4895b659ba49 100644
  # Give deheader a way to set compiler flags
  if 'MORECFLAGS' in os.environ:
      env.Append(CFLAGS=Split(os.environ['MORECFLAGS']))
-@@ -513,11 +511,6 @@ if env['target']:
+@@ -497,11 +495,6 @@ if env['target']:
      for (name, toolname) in devenv:
          env[name] = env['target'] + '-' + toolname
  
@@ -46,7 +46,7 @@ index 7bd5b08f2a46..4895b659ba49 100644
  # Build help
  def cmp(a, b):
      return (a > b) - (a < b)
-@@ -1156,22 +1149,23 @@ if helping:
+@@ -1225,22 +1218,23 @@ if helping:
  
  else:
  
@@ -85,7 +85,7 @@ index 7bd5b08f2a46..4895b659ba49 100644
          if config.env['python_libdir']:
              python_libdir = config.env['python_libdir']
          else:
-@@ -1674,7 +1668,7 @@ else:
+@@ -1780,7 +1774,7 @@ else:
                         LINK=ldshared,
                         SHLIBPREFIX="",
                         SHLIBSUFFIX=python_config['SO'],
diff --git a/patches/gpsd-3.20/0003-SConstruct-Skip-sizeof-time_t-test-when-cross-compil.patch b/patches/gpsd-3.20/0003-SConstruct-Skip-sizeof-time_t-test-when-cross-compil.patch
new file mode 100644
index 000000000..d069f6f12
--- /dev/null
+++ b/patches/gpsd-3.20/0003-SConstruct-Skip-sizeof-time_t-test-when-cross-compil.patch
@@ -0,0 +1,38 @@
+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 344bf42f84ea..10cb4f972f52 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -1038,11 +1038,19 @@ 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")
++    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
+ 
+     # 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.19/series b/patches/gpsd-3.20/series
similarity index 54%
rename from patches/gpsd-3.19/series
rename to patches/gpsd-3.20/series
index 32349387e..d126d2445 100644
--- a/patches/gpsd-3.19/series
+++ b/patches/gpsd-3.20/series
@@ -2,4 +2,5 @@
 #tag:base --start-number 1
 0001-Search-for-ncursesw-pkgconfig.patch
 0002-Fix-python-binding-cross-compilation.patch
-# a402ea49345e59dc5c9f5487c0ce65c6  - git-ptx-patches magic
+0003-SConstruct-Skip-sizeof-time_t-test-when-cross-compil.patch
+# 0a25b3a60da43320932e29415a6d365a  - git-ptx-patches magic
diff --git a/rules/gpsd.in b/rules/gpsd.in
index 660088969..ba0edb7bc 100644
--- a/rules/gpsd.in
+++ b/rules/gpsd.in
@@ -29,23 +29,10 @@ config GPSD_NCURSES
 
 comment "time service     ---"
 
-config GPSD_NTP
-	bool
-	prompt "NTP time hinting support"
-
-config GPSD_NTPSHM
-	bool
-	depends on GPSD_NTP
-	prompt "NTP time hinting via shared memory"
-
 config GPSD_OSCILLATOR
 	bool
 	prompt "Disciplined oscillator support"
 
-config GPSD_PPS
-	bool
-	prompt "PPS time syncing support"
-
 comment "export methods   ---"
 
 config GPSD_DBUS
@@ -111,14 +98,6 @@ config GPSD_USER
 	help
 	  This user is used for privilege separation.
 
-config GPSD_FIXED_PORT_SPEED
-	string
-	prompt "fixed port speed"
-
-config GPSD_FIXED_PORT_BITS
-	string
-	prompt "fixed port bits"
-
 config GPSD_MAX_CLIENTS
 	string
 	prompt "max clients"
@@ -207,7 +186,6 @@ menu "drivers"
 
 	config GPSD_DRIVER_UBX
 		bool
-		select GPSD_NTPSHM
 		select GPSD_DRIVER_NMEA
 		prompt "ubx"
 
@@ -356,8 +334,6 @@ menu "install options"
 
 	config GPSD_NTPSHMMON
 		bool
-		select GPSD_NTP
-		select GPSD_PPS
 		select GPSD_SHM
 		prompt "ntpshmmon"
 		help
diff --git a/rules/gpsd.make b/rules/gpsd.make
index ae4e0628e..ac95b0af6 100644
--- a/rules/gpsd.make
+++ b/rules/gpsd.make
@@ -16,8 +16,8 @@ PACKAGES-$(PTXCONF_GPSD) += gpsd
 #
 # Paths and names
 #
-GPSD_VERSION	:= 3.19
-GPSD_MD5	:= b3bf88706794eb8e5f2c2543bf7ba87b
+GPSD_VERSION	:= 3.20
+GPSD_MD5	:= cf7fdec7ce7221d20bee1a7246362b05
 GPSD		:= gpsd-$(GPSD_VERSION)
 GPSD_SUFFIX	:= tar.gz
 GPSD_URL	:= http://download.savannah.gnu.org/releases/gpsd/$(GPSD).$(GPSD_SUFFIX)
@@ -52,6 +52,11 @@ GPSD_PROGS-$(PTXCONF_GPSD_UBXTOOL)	+= ubxtool
 GPSD_PROGS-$(PTXCONF_GPSD_ZERK)		+= zerk
 
 GPSD_CONF_TOOL	:= scons
+GPSD_CONF_ENV	:= \
+	$(CROSS_ENV_AR) \
+	$(CROSS_ENV_CC) \
+	LD=$(CROSS_CC) \
+	$(CROSS_ENV_RANLIB)
 GPSD_CONF_OPT	:= \
 	aivdm=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_AIVDM) \
 	ashtech=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_ASHTECH) \
@@ -75,10 +80,8 @@ GPSD_CONF_OPT	:= \
 	gpsdclients=$(GPSD_BUILD_CLIENTS) \
 	greis=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_GREIS) \
 	implicit_link=yes \
-	ipv6=$(call ptx/yesno, PTXCONF_GLOBAL_IPV6) \
 	isync=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_ISYNC) \
 	itrax=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_ITRAX) \
-	leapfetch=yes \
 	libdir=/usr/$(CROSS_LIB_DIR) \
 	libgpsmm=no \
 	magic_hat=no \
@@ -90,16 +93,12 @@ GPSD_CONF_OPT	:= \
 	netfeed=yes \
 	nmea0183=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_NMEA) \
 	nmea2000=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_NMEA) \
-	nofloats=no \
 	nostrip=yes \
-	ntp=$(call ptx/yesno, PTXCONF_GPSD_NTP) \
-	ntpshm=$(call ptx/yesno, PTXCONF_GPSD_SHM) \
 	ntrip=$(call ptx/yesno, GPSD_DRIVER_NTRIP) \
 	oceanserver=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_OCEANSERVER) \
 	oncore=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_ONCORE) \
 	oscillator=$(call ptx/yesno, PTXCONF_GPSD_OSCILLATOR) \
 	passthrough=no \
-	pps=$(call ptx/yesno, PTXCONF_GPSD_PPS) \
 	prefix=/usr \
 	profiling=$(call ptx/yesno, PTXCONF_GPSD_PROFILING) \
 	python=$(call ptx/yesno, PTXCONF_GPSD_PYTHON) \
@@ -121,7 +120,6 @@ GPSD_CONF_OPT	:= \
 	target=$(PTXCONF_GNU_TARGET) \
 	target_python=$(CROSS_PYTHON3) \
 	timeservice=no \
-	timing=no \
 	tnt=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_TNT) \
 	tripmate=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_TRIPMATE) \
 	tsip=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_TSIP) \
@@ -130,13 +128,6 @@ GPSD_CONF_OPT	:= \
 	usb=$(call ptx/yesno, PTXCONF_GPSD_USB) \
 	xgps=no
 
-ifneq ($(call remove_quotes,$(PTXCONF_GPSD_FIXED_PORT_SPEED)),)
-GPSD_CONF_OPT += fixed_port_speed=$(PTXCONF_GPSD_FIXED_PORT_SPEED)
-endif
-ifneq ($(call remove_quotes,$(PTXCONF_GPSD_FIXED_PORT_BITS)),)
-GPSD_CONF_OPT += fixed_port_bits=$(PTXCONF_GPSD_FIXED_PORT_BITS)
-endif
-
 ifneq ($(call remove_quotes,$(PTXCONF_GPSD_GROUP)),)
 GPSD_CONF_OPT += gpsd_group=$(PTXCONF_GPSD_GROUP)
 endif
-- 
2.25.0


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [ptxdist] [PATCH] gpsd: version bump 3.19 -> 3.20
  2020-01-19 21:37 [ptxdist] [PATCH] gpsd: version bump 3.19 -> 3.20 Ladislav Michl
@ 2020-01-30 22:17 ` Ladislav Michl
  2020-01-31  7:09   ` Michael Olbrich
  0 siblings, 1 reply; 8+ messages in thread
From: Ladislav Michl @ 2020-01-30 22:17 UTC (permalink / raw)
  To: ptxdist

On Sun, Jan 19, 2020 at 10:37:53PM +0100, Ladislav Michl wrote:
> Quite a few options were removed, so remome them from Kconfig as well.
> Buildsystem counts on gcc to be used for linking and setting LD makes
> build fail, so set only those tools actually used.

Well, just do not hold your breath here... Turned out about half of commits
that went into gpsd git after 3.20 deserve to be turned into patches and made
part of this update. So let's just stick with 3.19 before 3.20.1 shows up.

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [ptxdist] [PATCH] gpsd: version bump 3.19 -> 3.20
  2020-01-30 22:17 ` Ladislav Michl
@ 2020-01-31  7:09   ` Michael Olbrich
  2020-01-31 21:37     ` Ladislav Michl
  0 siblings, 1 reply; 8+ messages in thread
From: Michael Olbrich @ 2020-01-31  7:09 UTC (permalink / raw)
  To: ptxdist

On Thu, Jan 30, 2020 at 11:17:39PM +0100, Ladislav Michl wrote:
> On Sun, Jan 19, 2020 at 10:37:53PM +0100, Ladislav Michl wrote:
> > Quite a few options were removed, so remome them from Kconfig as well.
> > Buildsystem counts on gcc to be used for linking and setting LD makes
> > build fail, so set only those tools actually used.
> 
> Well, just do not hold your breath here... Turned out about half of commits
> that went into gpsd git after 3.20 deserve to be turned into patches and made
> part of this update. So let's just stick with 3.19 before 3.20.1 shows up.

I noticed. I've been working on eliminating the python2 and gpsd one of the
remaining users. The commits since the 3.20 release look like we can switch
to python3 after the next release.
Also, with 3.20 the python bindings fail to build. I didn't look closer but
I think there is some python2/python3 issue.

Michael

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [ptxdist] [PATCH] gpsd: version bump 3.19 -> 3.20
  2020-01-31  7:09   ` Michael Olbrich
@ 2020-01-31 21:37     ` Ladislav Michl
  2020-02-01  9:02       ` Michael Olbrich
  0 siblings, 1 reply; 8+ messages in thread
From: Ladislav Michl @ 2020-01-31 21:37 UTC (permalink / raw)
  To: ptxdist

On Fri, Jan 31, 2020 at 08:09:07AM +0100, Michael Olbrich wrote:
> On Thu, Jan 30, 2020 at 11:17:39PM +0100, Ladislav Michl wrote:
> > On Sun, Jan 19, 2020 at 10:37:53PM +0100, Ladislav Michl wrote:
> > > Quite a few options were removed, so remome them from Kconfig as well.
> > > Buildsystem counts on gcc to be used for linking and setting LD makes
> > > build fail, so set only those tools actually used.
> > 
> > Well, just do not hold your breath here... Turned out about half of commits
> > that went into gpsd git after 3.20 deserve to be turned into patches and made
> > part of this update. So let's just stick with 3.19 before 3.20.1 shows up.
> 
> I noticed. I've been working on eliminating the python2 and gpsd one of the
> remaining users. The commits since the 3.20 release look like we can switch
> to python3 after the next release.
> Also, with 3.20 the python bindings fail to build. I didn't look closer but
> I think there is some python2/python3 issue.

Well, at least we should remove extra space from LDFLAGS, that makes this
part of SConstruct fail:
    for flag in ['CFLAGS', 'LDFLAGS', 'OPT']:
        python_env.MergeFlags(Split(python_config[flag]))

SConstruct is also using INCLUDEPY:
CPPPATH=[python_config['INCLUDEPY']],
but our INCLUDEPY is lacking SYSROOT_TARGET prefix (/usr/include/python3.7m)
Manually tweaking _sysconfigdata_m_linux2_x86_64-linux-gnu.py
makes it build (well, it still fails later, but these two
needs to be fixed first)

(I switched gpsd to git version locally to be able to get better
test coverage and added pyserial dependency where needed)

--- >8 ---

From: Ladislav Michl <ladis@linux-mips.org>
Date: Fri, 31 Jan 2020 22:16:05 +0100
Subject: [PATCH] python3: remove extra space from LDFLAGS

Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
---
 rules/host-python3.make | 2 +-
 rules/python3.make      | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/rules/host-python3.make b/rules/host-python3.make
index 02063da07..0b30e215f 100644
--- a/rules/host-python3.make
+++ b/rules/host-python3.make
@@ -29,7 +29,7 @@ HOST_PYTHON3_ENV	:= \
 	ac_sys_system=Linux \
 	ac_sys_release=2 \
 	MACHDEP=linux2 \
-	LDFLAGS="-L $(PTXDIST_SYSROOT_HOST)/lib"
+	LDFLAGS="-L$(PTXDIST_SYSROOT_HOST)/lib"
 
 #
 # autoconf
diff --git a/rules/python3.make b/rules/python3.make
index bbda265c2..8bc5c772d 100644
--- a/rules/python3.make
+++ b/rules/python3.make
@@ -48,7 +48,7 @@ PYTHON3_CONF_ENV	:= \
 	ac_cv_file__dev_ptc=no \
 	ac_cv_working_tzset=yes \
 	ac_cv_header_bluetooth_bluetooth_h=no \
-	LDFLAGS="-L $(PTXDIST_SYSROOT_TARGET)/usr/lib"
+	LDFLAGS="-L$(PTXDIST_SYSROOT_TARGET)/usr/lib"
 
 PYTHON3_BINCONFIG_GLOB := ""
 
-- 
2.25.0


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [ptxdist] [PATCH] gpsd: version bump 3.19 -> 3.20
  2020-01-31 21:37     ` Ladislav Michl
@ 2020-02-01  9:02       ` Michael Olbrich
  2020-02-01 19:43         ` Ladislav Michl
                           ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Michael Olbrich @ 2020-02-01  9:02 UTC (permalink / raw)
  To: ptxdist

On Fri, Jan 31, 2020 at 10:37:31PM +0100, Ladislav Michl wrote:
> On Fri, Jan 31, 2020 at 08:09:07AM +0100, Michael Olbrich wrote:
> > On Thu, Jan 30, 2020 at 11:17:39PM +0100, Ladislav Michl wrote:
> > > On Sun, Jan 19, 2020 at 10:37:53PM +0100, Ladislav Michl wrote:
> > > > Quite a few options were removed, so remome them from Kconfig as well.
> > > > Buildsystem counts on gcc to be used for linking and setting LD makes
> > > > build fail, so set only those tools actually used.
> > > 
> > > Well, just do not hold your breath here... Turned out about half of commits
> > > that went into gpsd git after 3.20 deserve to be turned into patches and made
> > > part of this update. So let's just stick with 3.19 before 3.20.1 shows up.
> > 
> > I noticed. I've been working on eliminating the python2 and gpsd one of the
> > remaining users. The commits since the 3.20 release look like we can switch
> > to python3 after the next release.
> > Also, with 3.20 the python bindings fail to build. I didn't look closer but
> > I think there is some python2/python3 issue.
> 
> Well, at least we should remove extra space from LDFLAGS, that makes this
> part of SConstruct fail:
>     for flag in ['CFLAGS', 'LDFLAGS', 'OPT']:
>         python_env.MergeFlags(Split(python_config[flag]))
> 
> SConstruct is also using INCLUDEPY:
> CPPPATH=[python_config['INCLUDEPY']],
> but our INCLUDEPY is lacking SYSROOT_TARGET prefix (/usr/include/python3.7m)
> Manually tweaking _sysconfigdata_m_linux2_x86_64-linux-gnu.py
> makes it build (well, it still fails later, but these two
> needs to be fixed first)
> 
> (I switched gpsd to git version locally to be able to get better
> test coverage and added pyserial dependency where needed)

Well this patch and the 3.20 update still fails here with:

.../bin/ld: gpspacket-py_2_7_16_final_0.cpython-37m-arm-linux-gnueabihf.so:
in function `Lexer_dealloc':
platform-arm-hf/build-target/gpsd-3.20/gpspacket.c:129: undefined reference
to `PyObject_Free'

This looks suspicious to me: 2.7.16 is python2 version... I think there is
some stuff leaking in from the build Python.

Michael

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [ptxdist] [PATCH] gpsd: version bump 3.19 -> 3.20
  2020-02-01  9:02       ` Michael Olbrich
@ 2020-02-01 19:43         ` Ladislav Michl
  2020-02-02 13:18         ` Ladislav Michl
  2020-02-04  1:02         ` Ladislav Michl
  2 siblings, 0 replies; 8+ messages in thread
From: Ladislav Michl @ 2020-02-01 19:43 UTC (permalink / raw)
  To: ptxdist

On Sat, Feb 01, 2020 at 10:02:16AM +0100, Michael Olbrich wrote:
> Well this patch and the 3.20 update still fails here with:
> 
> .../bin/ld: gpspacket-py_2_7_16_final_0.cpython-37m-arm-linux-gnueabihf.so:
> in function `Lexer_dealloc':
> platform-arm-hf/build-target/gpsd-3.20/gpspacket.c:129: undefined reference
> to `PyObject_Free'
> 
> This looks suspicious to me: 2.7.16 is python2 version... I think there is
> some stuff leaking in from the build Python.

This one was easy to fix, it comes from here:
https://gitlab.com/gpsd/gpsd/blob/master/SConstruct#L1910
GetPythonValue should be used instead. But is not root of the problem.
And that is those python modules are not linked against
sysroot-target/usr/lib/libpython3.7m.so.1.0

	ladis

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [ptxdist] [PATCH] gpsd: version bump 3.19 -> 3.20
  2020-02-01  9:02       ` Michael Olbrich
  2020-02-01 19:43         ` Ladislav Michl
@ 2020-02-02 13:18         ` Ladislav Michl
  2020-02-04  1:02         ` Ladislav Michl
  2 siblings, 0 replies; 8+ messages in thread
From: Ladislav Michl @ 2020-02-02 13:18 UTC (permalink / raw)
  To: ptxdist

Hi Michael,

On Sat, Feb 01, 2020 at 10:02:16AM +0100, Michael Olbrich wrote:
> Well this patch and the 3.20 update still fails here with:
> 
> .../bin/ld: gpspacket-py_2_7_16_final_0.cpython-37m-arm-linux-gnueabihf.so:
> in function `Lexer_dealloc':
> platform-arm-hf/build-target/gpsd-3.20/gpspacket.c:129: undefined reference
> to `PyObject_Free'
> 
> This looks suspicious to me: 2.7.16 is python2 version... I think there is
> some stuff leaking in from the build Python.

This leakage could be fixed with following patch:
https://lists.nongnu.org/archive/html/gpsd-dev/2020-02/msg00006.html

Also to kill warning about different time_t size, consider following:
--- a/rules/python3.make
+++ b/rules/python3.make
@@ -46,6 +46,7 @@ PYTHON3_CONF_ENV	:= \
 	ac_cv_broken_sem_getvalue=no \
 	ac_cv_file__dev_ptmx=no \
 	ac_cv_file__dev_ptc=no \
+	ac_cv_sizeof_time_t=8 \
 	ac_cv_working_tzset=yes \
 	ac_cv_header_bluetooth_bluetooth_h=no \
 	LDFLAGS="-L$(PTXDIST_SYSROOT_TARGET)/usr/lib"

I do not know how to fix PYINCLUDE path yet nor how to link against
libpython3.7m.so.1.0, so I'm sending current patch (tested against
git version of gpsd) in case someone wants to play with it.

--- >8 ---

From: Ladislav Michl <ladis@linux-mips.org>
Subject: [PATCH] gpsd: version bump 3.19 -> 3.20

Quite few options were removed...

Not-yet-Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
---
 ...Fix-python-binding-cross-compilation.patch | 96 -------------------
 patches/gpsd-3.19/series                      |  5 -
 .../0001-Search-for-ncursesw-pkgconfig.patch  |  6 +-
 patches/gpsd-3.20/series                      |  4 +
 rules/gpsd.in                                 | 28 +-----
 rules/gpsd.make                               | 22 +----
 6 files changed, 17 insertions(+), 144 deletions(-)
 delete mode 100644 patches/gpsd-3.19/0002-Fix-python-binding-cross-compilation.patch
 delete mode 100644 patches/gpsd-3.19/series
 rename patches/{gpsd-3.19 => gpsd-3.20}/0001-Search-for-ncursesw-pkgconfig.patch (85%)
 create mode 100644 patches/gpsd-3.20/series

diff --git a/patches/gpsd-3.19/0002-Fix-python-binding-cross-compilation.patch b/patches/gpsd-3.19/0002-Fix-python-binding-cross-compilation.patch
deleted file mode 100644
index 94a4810f6..000000000
--- a/patches/gpsd-3.19/0002-Fix-python-binding-cross-compilation.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From: Ladislav Michl <ladis@linux-mips.org>
-Date: Wed, 30 Oct 2019 11:47:28 +0100
-Subject: [PATCH] Fix python binding cross-compilation
-
----
- SConstruct | 48 +++++++++++++++++++++---------------------------
- 1 file changed, 21 insertions(+), 27 deletions(-)
-
-diff --git a/SConstruct b/SConstruct
-index 7bd5b08f2a46..4895b659ba49 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -440,6 +440,10 @@ def announce(msg):
-     if not env.GetOption("silent"):
-         print(msg)
- 
-+if env['sysroot']:
-+    sysroot = env['sysroot']
-+else:
-+    sysroot = ''
- 
- # DESTDIR environment variable means user prefix the installation root.
- DESTDIR = os.environ.get('DESTDIR', '')
-@@ -454,12 +458,6 @@ def installdir(dir, add_destdir=True):
-     wrapped.replace("/usr/lib/systemd", "/lib/systemd")
-     return wrapped
- 
--
--# Honor the specified installation prefix in link paths.
--if env["sysroot"]:
--    env.Prepend(LIBPATH=[env["sysroot"] + installdir('libdir',
--                add_destdir=False)])
--
- # Give deheader a way to set compiler flags
- if 'MORECFLAGS' in os.environ:
-     env.Append(CFLAGS=Split(os.environ['MORECFLAGS']))
-@@ -513,11 +511,6 @@ if env['target']:
-     for (name, toolname) in devenv:
-         env[name] = env['target'] + '-' + toolname
- 
--if env['sysroot']:
--    env.MergeFlags({"CFLAGS": ["--sysroot=%s" % env['sysroot']]})
--    env.MergeFlags({"LINKFLAGS": ["--sysroot=%s" % env['sysroot']]})
--
--
- # Build help
- def cmp(a, b):
-     return (a > b) - (a < b)
-@@ -1156,22 +1149,23 @@ if helping:
- 
- else:
- 
--    if config.env['python'] and config.env['target_python']:
--        try:
--            config.CheckProg
--        except AttributeError:  # Older scons versions don't have CheckProg
--            target_python_path = config.env['target_python']
--        else:
--            target_python_path = config.CheckProg(config.env['target_python'])
--        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',
--                                                   'import sys',
--                                                   'sys.executable',
--                                                   brief=cleaning)
-+        if config.env['target_python']:
-+            try:
-+                config.CheckProg
-+            except AttributeError:  # Older scons versions don't have CheckProg
-+                target_python_path = config.env['target_python']
-+            else:
-+                target_python_path = config.CheckProg(config.env['target_python'])
-+            if not target_python_path:
-+                announce("Target Python doesn't exist - disabling Python.")
-+                config.env['python'] = False
-+        else:
-+            # Maximize consistency by using the reported sys.executable
-+            target_python_path = config.GetPythonValue('exe path',
-+                                                       'import sys',
-+                                                       'sys.executable',
-+                                                       brief=cleaning)
-         if config.env['python_libdir']:
-             python_libdir = config.env['python_libdir']
-         else:
-@@ -1674,7 +1668,7 @@ else:
-                        LINK=ldshared,
-                        SHLIBPREFIX="",
-                        SHLIBSUFFIX=python_config['SO'],
--                       CPPPATH=[python_config['INCLUDEPY']],
-+                       CPPPATH=sysroot + python_config['INCLUDEPY'],
-                        CPPFLAGS=python_config['OPT'],
-                        CFLAGS=python_config['BASECFLAGS'],
-                        CXXFLAGS=python_config['BASECFLAGS'])
diff --git a/patches/gpsd-3.19/series b/patches/gpsd-3.19/series
deleted file mode 100644
index 32349387e..000000000
--- a/patches/gpsd-3.19/series
+++ /dev/null
@@ -1,5 +0,0 @@
-# generated by git-ptx-patches
-#tag:base --start-number 1
-0001-Search-for-ncursesw-pkgconfig.patch
-0002-Fix-python-binding-cross-compilation.patch
-# a402ea49345e59dc5c9f5487c0ce65c6  - git-ptx-patches magic
diff --git a/patches/gpsd-3.19/0001-Search-for-ncursesw-pkgconfig.patch b/patches/gpsd-3.20/0001-Search-for-ncursesw-pkgconfig.patch
similarity index 85%
rename from patches/gpsd-3.19/0001-Search-for-ncursesw-pkgconfig.patch
rename to patches/gpsd-3.20/0001-Search-for-ncursesw-pkgconfig.patch
index 235d5b36e..3556f3c8a 100644
--- a/patches/gpsd-3.19/0001-Search-for-ncursesw-pkgconfig.patch
+++ b/patches/gpsd-3.20/0001-Search-for-ncursesw-pkgconfig.patch
@@ -2,7 +2,7 @@ From: Ladislav Michl <ladis@linux-mips.org>
 Date: Fri, 25 Oct 2019 14:18:30 +0200
 Subject: [PATCH] Search for ncursesw pkgconfig
 
-PTXDist can be configured to build wide char verson of ncurses
+PTXDist can be configured to build wide char version of ncurses
 which SConstruct is unaware of.
 
 Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
@@ -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 5160481a7a7b..7bd5b08f2a46 100644
+index 33e0ff32665c..0fde205c7302 100644
 --- a/SConstruct
 +++ b/SConstruct
-@@ -826,6 +826,8 @@ else:
+@@ -872,6 +872,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.20/series b/patches/gpsd-3.20/series
new file mode 100644
index 000000000..92c1ff2dc
--- /dev/null
+++ b/patches/gpsd-3.20/series
@@ -0,0 +1,4 @@
+# generated by git-ptx-patches
+#tag:base --start-number 1
+0001-Search-for-ncursesw-pkgconfig.patch
+# 0a25b3a60da43320932e29415a6d365a  - git-ptx-patches magic
diff --git a/rules/gpsd.in b/rules/gpsd.in
index 660088969..6603bd463 100644
--- a/rules/gpsd.in
+++ b/rules/gpsd.in
@@ -13,6 +13,7 @@ menuconfig GPSD
 	select NCURSES			if GPSD_NCURSES
 	select DBUS_GLIB		if GPSD_DBUS
 	select PYTHON3			if GPSD_PYTHON
+	select PYSERIAL3		if GPSD_PYSERIAL
 	prompt "gpsd                          "
 	help
 	  gpsd is a daemon that listens to a GPS or Loran receiver
@@ -27,25 +28,15 @@ if GPSD
 config GPSD_NCURSES
 	bool
 
-comment "time service     ---"
-
-config GPSD_NTP
+config GPSD_PYSERIAL
 	bool
-	prompt "NTP time hinting support"
 
-config GPSD_NTPSHM
-	bool
-	depends on GPSD_NTP
-	prompt "NTP time hinting via shared memory"
+comment "time service     ---"
 
 config GPSD_OSCILLATOR
 	bool
 	prompt "Disciplined oscillator support"
 
-config GPSD_PPS
-	bool
-	prompt "PPS time syncing support"
-
 comment "export methods   ---"
 
 config GPSD_DBUS
@@ -111,14 +102,6 @@ config GPSD_USER
 	help
 	  This user is used for privilege separation.
 
-config GPSD_FIXED_PORT_SPEED
-	string
-	prompt "fixed port speed"
-
-config GPSD_FIXED_PORT_BITS
-	string
-	prompt "fixed port bits"
-
 config GPSD_MAX_CLIENTS
 	string
 	prompt "max clients"
@@ -207,7 +190,6 @@ menu "drivers"
 
 	config GPSD_DRIVER_UBX
 		bool
-		select GPSD_NTPSHM
 		select GPSD_DRIVER_NMEA
 		prompt "ubx"
 
@@ -356,8 +338,6 @@ menu "install options"
 
 	config GPSD_NTPSHMMON
 		bool
-		select GPSD_NTP
-		select GPSD_PPS
 		select GPSD_SHM
 		prompt "ntpshmmon"
 		help
@@ -420,6 +400,7 @@ menu "install options"
 	config GPSD_UBXTOOL
 		bool
 		select GPSD_PYTHON
+		select GPSD_PYSERIAL
 		prompt "ubxtool"
 		help
 		  ubxtool is a tool for u-blox GPS. ubxtool can decode common
@@ -430,6 +411,7 @@ menu "install options"
 	config GPSD_ZERK
 		bool
 		select GPSD_PYTHON
+		select GPSD_PYSERIAL
 		prompt "zerk"
 		help
 		  zerk is an all purpose GREIS fitting. zerk can decode common
diff --git a/rules/gpsd.make b/rules/gpsd.make
index ae4e0628e..741fe69ee 100644
--- a/rules/gpsd.make
+++ b/rules/gpsd.make
@@ -16,8 +16,8 @@ PACKAGES-$(PTXCONF_GPSD) += gpsd
 #
 # Paths and names
 #
-GPSD_VERSION	:= 3.19
-GPSD_MD5	:= b3bf88706794eb8e5f2c2543bf7ba87b
+GPSD_VERSION	:= 3.20
+GPSD_MD5	:= cf7fdec7ce7221d20bee1a7246362b05
 GPSD		:= gpsd-$(GPSD_VERSION)
 GPSD_SUFFIX	:= tar.gz
 GPSD_URL	:= http://download.savannah.gnu.org/releases/gpsd/$(GPSD).$(GPSD_SUFFIX)
@@ -52,6 +52,9 @@ GPSD_PROGS-$(PTXCONF_GPSD_UBXTOOL)	+= ubxtool
 GPSD_PROGS-$(PTXCONF_GPSD_ZERK)		+= zerk
 
 GPSD_CONF_TOOL	:= scons
+GPSD_CONF_ENV	:= \
+	$(CROSS_ENV) \
+	LD=$(COMPILER_PREFIX)gcc
 GPSD_CONF_OPT	:= \
 	aivdm=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_AIVDM) \
 	ashtech=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_ASHTECH) \
@@ -75,10 +78,8 @@ GPSD_CONF_OPT	:= \
 	gpsdclients=$(GPSD_BUILD_CLIENTS) \
 	greis=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_GREIS) \
 	implicit_link=yes \
-	ipv6=$(call ptx/yesno, PTXCONF_GLOBAL_IPV6) \
 	isync=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_ISYNC) \
 	itrax=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_ITRAX) \
-	leapfetch=yes \
 	libdir=/usr/$(CROSS_LIB_DIR) \
 	libgpsmm=no \
 	magic_hat=no \
@@ -90,16 +91,12 @@ GPSD_CONF_OPT	:= \
 	netfeed=yes \
 	nmea0183=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_NMEA) \
 	nmea2000=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_NMEA) \
-	nofloats=no \
 	nostrip=yes \
-	ntp=$(call ptx/yesno, PTXCONF_GPSD_NTP) \
-	ntpshm=$(call ptx/yesno, PTXCONF_GPSD_SHM) \
 	ntrip=$(call ptx/yesno, GPSD_DRIVER_NTRIP) \
 	oceanserver=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_OCEANSERVER) \
 	oncore=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_ONCORE) \
 	oscillator=$(call ptx/yesno, PTXCONF_GPSD_OSCILLATOR) \
 	passthrough=no \
-	pps=$(call ptx/yesno, PTXCONF_GPSD_PPS) \
 	prefix=/usr \
 	profiling=$(call ptx/yesno, PTXCONF_GPSD_PROFILING) \
 	python=$(call ptx/yesno, PTXCONF_GPSD_PYTHON) \
@@ -116,12 +113,10 @@ GPSD_CONF_OPT	:= \
 	squelch=yes \
 	superstar2=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_SUPERSTAR2) \
 	sysconfdir=/etc \
-	sysroot=$(SYSROOT) \
 	systemd=$(call ptx/yesno, PTXCONF_GPSD_SYSTEMD) \
 	target=$(PTXCONF_GNU_TARGET) \
 	target_python=$(CROSS_PYTHON3) \
 	timeservice=no \
-	timing=no \
 	tnt=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_TNT) \
 	tripmate=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_TRIPMATE) \
 	tsip=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_TSIP) \
@@ -130,13 +125,6 @@ GPSD_CONF_OPT	:= \
 	usb=$(call ptx/yesno, PTXCONF_GPSD_USB) \
 	xgps=no
 
-ifneq ($(call remove_quotes,$(PTXCONF_GPSD_FIXED_PORT_SPEED)),)
-GPSD_CONF_OPT += fixed_port_speed=$(PTXCONF_GPSD_FIXED_PORT_SPEED)
-endif
-ifneq ($(call remove_quotes,$(PTXCONF_GPSD_FIXED_PORT_BITS)),)
-GPSD_CONF_OPT += fixed_port_bits=$(PTXCONF_GPSD_FIXED_PORT_BITS)
-endif
-
 ifneq ($(call remove_quotes,$(PTXCONF_GPSD_GROUP)),)
 GPSD_CONF_OPT += gpsd_group=$(PTXCONF_GPSD_GROUP)
 endif
-- 
2.25.0


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [ptxdist] [PATCH] gpsd: version bump 3.19 -> 3.20
  2020-02-01  9:02       ` Michael Olbrich
  2020-02-01 19:43         ` Ladislav Michl
  2020-02-02 13:18         ` Ladislav Michl
@ 2020-02-04  1:02         ` Ladislav Michl
  2 siblings, 0 replies; 8+ messages in thread
From: Ladislav Michl @ 2020-02-04  1:02 UTC (permalink / raw)
  To: ptxdist

Hi Michael,

On Sat, Feb 01, 2020 at 10:02:16AM +0100, Michael Olbrich wrote:
> Well this patch and the 3.20 update still fails here with:
> 
> .../bin/ld: gpspacket-py_2_7_16_final_0.cpython-37m-arm-linux-gnueabihf.so:
> in function `Lexer_dealloc':
> platform-arm-hf/build-target/gpsd-3.20/gpspacket.c:129: undefined reference
> to `PyObject_Free'

This comes from:
https://lists.nongnu.org/archive/html/gpsd-dev/2020-02/msg00008.html

So to avoid SConstructs tricks and traps, I'd set bare minimum in
environment:
GPSD_CONF_ENV   := \
	$(CROSS_ENV_PKG_CONFIG)

> This looks suspicious to me: 2.7.16 is python2 version... I think there is
> some stuff leaking in from the build Python.

Fixed by patch sent to gpsd mailing list, but I do not think it will be
accepted. It does not matter anyway, as those names do not leak to target.

Should that INCLUDEPY thing be fixed PTXdist wide?

So current path looks like (still needs INCLUDEPY fix):

--- >8 ---

From: Ladislav Michl <ladis@linux-mips.org>
Subject: [PATCH] gpsd: version bump 3.19 -> 3.20

Quite few options were removed...

Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
---
 ...Fix-python-binding-cross-compilation.patch | 96 -------------------
 patches/gpsd-3.19/series                      |  5 -
 .../0001-Search-for-ncursesw-pkgconfig.patch  |  6 +-
 patches/gpsd-3.20/series                      |  4 +
 rules/gpsd.in                                 | 28 +-----
 rules/gpsd.make                               | 21 +---
 6 files changed, 16 insertions(+), 144 deletions(-)
 delete mode 100644 patches/gpsd-3.19/0002-Fix-python-binding-cross-compilation.patch
 delete mode 100644 patches/gpsd-3.19/series
 rename patches/{gpsd-3.19 => gpsd-3.20}/0001-Search-for-ncursesw-pkgconfig.patch (85%)
 create mode 100644 patches/gpsd-3.20/series

diff --git a/patches/gpsd-3.19/0002-Fix-python-binding-cross-compilation.patch b/patches/gpsd-3.19/0002-Fix-python-binding-cross-compilation.patch
deleted file mode 100644
index 94a4810f6..000000000
--- a/patches/gpsd-3.19/0002-Fix-python-binding-cross-compilation.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From: Ladislav Michl <ladis@linux-mips.org>
-Date: Wed, 30 Oct 2019 11:47:28 +0100
-Subject: [PATCH] Fix python binding cross-compilation
-
----
- SConstruct | 48 +++++++++++++++++++++---------------------------
- 1 file changed, 21 insertions(+), 27 deletions(-)
-
-diff --git a/SConstruct b/SConstruct
-index 7bd5b08f2a46..4895b659ba49 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -440,6 +440,10 @@ def announce(msg):
-     if not env.GetOption("silent"):
-         print(msg)
- 
-+if env['sysroot']:
-+    sysroot = env['sysroot']
-+else:
-+    sysroot = ''
- 
- # DESTDIR environment variable means user prefix the installation root.
- DESTDIR = os.environ.get('DESTDIR', '')
-@@ -454,12 +458,6 @@ def installdir(dir, add_destdir=True):
-     wrapped.replace("/usr/lib/systemd", "/lib/systemd")
-     return wrapped
- 
--
--# Honor the specified installation prefix in link paths.
--if env["sysroot"]:
--    env.Prepend(LIBPATH=[env["sysroot"] + installdir('libdir',
--                add_destdir=False)])
--
- # Give deheader a way to set compiler flags
- if 'MORECFLAGS' in os.environ:
-     env.Append(CFLAGS=Split(os.environ['MORECFLAGS']))
-@@ -513,11 +511,6 @@ if env['target']:
-     for (name, toolname) in devenv:
-         env[name] = env['target'] + '-' + toolname
- 
--if env['sysroot']:
--    env.MergeFlags({"CFLAGS": ["--sysroot=%s" % env['sysroot']]})
--    env.MergeFlags({"LINKFLAGS": ["--sysroot=%s" % env['sysroot']]})
--
--
- # Build help
- def cmp(a, b):
-     return (a > b) - (a < b)
-@@ -1156,22 +1149,23 @@ if helping:
- 
- else:
- 
--    if config.env['python'] and config.env['target_python']:
--        try:
--            config.CheckProg
--        except AttributeError:  # Older scons versions don't have CheckProg
--            target_python_path = config.env['target_python']
--        else:
--            target_python_path = config.CheckProg(config.env['target_python'])
--        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',
--                                                   'import sys',
--                                                   'sys.executable',
--                                                   brief=cleaning)
-+        if config.env['target_python']:
-+            try:
-+                config.CheckProg
-+            except AttributeError:  # Older scons versions don't have CheckProg
-+                target_python_path = config.env['target_python']
-+            else:
-+                target_python_path = config.CheckProg(config.env['target_python'])
-+            if not target_python_path:
-+                announce("Target Python doesn't exist - disabling Python.")
-+                config.env['python'] = False
-+        else:
-+            # Maximize consistency by using the reported sys.executable
-+            target_python_path = config.GetPythonValue('exe path',
-+                                                       'import sys',
-+                                                       'sys.executable',
-+                                                       brief=cleaning)
-         if config.env['python_libdir']:
-             python_libdir = config.env['python_libdir']
-         else:
-@@ -1674,7 +1668,7 @@ else:
-                        LINK=ldshared,
-                        SHLIBPREFIX="",
-                        SHLIBSUFFIX=python_config['SO'],
--                       CPPPATH=[python_config['INCLUDEPY']],
-+                       CPPPATH=sysroot + python_config['INCLUDEPY'],
-                        CPPFLAGS=python_config['OPT'],
-                        CFLAGS=python_config['BASECFLAGS'],
-                        CXXFLAGS=python_config['BASECFLAGS'])
diff --git a/patches/gpsd-3.19/series b/patches/gpsd-3.19/series
deleted file mode 100644
index 32349387e..000000000
--- a/patches/gpsd-3.19/series
+++ /dev/null
@@ -1,5 +0,0 @@
-# generated by git-ptx-patches
-#tag:base --start-number 1
-0001-Search-for-ncursesw-pkgconfig.patch
-0002-Fix-python-binding-cross-compilation.patch
-# a402ea49345e59dc5c9f5487c0ce65c6  - git-ptx-patches magic
diff --git a/patches/gpsd-3.19/0001-Search-for-ncursesw-pkgconfig.patch b/patches/gpsd-3.20/0001-Search-for-ncursesw-pkgconfig.patch
similarity index 85%
rename from patches/gpsd-3.19/0001-Search-for-ncursesw-pkgconfig.patch
rename to patches/gpsd-3.20/0001-Search-for-ncursesw-pkgconfig.patch
index 235d5b36e..3556f3c8a 100644
--- a/patches/gpsd-3.19/0001-Search-for-ncursesw-pkgconfig.patch
+++ b/patches/gpsd-3.20/0001-Search-for-ncursesw-pkgconfig.patch
@@ -2,7 +2,7 @@ From: Ladislav Michl <ladis@linux-mips.org>
 Date: Fri, 25 Oct 2019 14:18:30 +0200
 Subject: [PATCH] Search for ncursesw pkgconfig
 
-PTXDist can be configured to build wide char verson of ncurses
+PTXDist can be configured to build wide char version of ncurses
 which SConstruct is unaware of.
 
 Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
@@ -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 5160481a7a7b..7bd5b08f2a46 100644
+index 33e0ff32665c..0fde205c7302 100644
 --- a/SConstruct
 +++ b/SConstruct
-@@ -826,6 +826,8 @@ else:
+@@ -872,6 +872,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.20/series b/patches/gpsd-3.20/series
new file mode 100644
index 000000000..92c1ff2dc
--- /dev/null
+++ b/patches/gpsd-3.20/series
@@ -0,0 +1,4 @@
+# generated by git-ptx-patches
+#tag:base --start-number 1
+0001-Search-for-ncursesw-pkgconfig.patch
+# 0a25b3a60da43320932e29415a6d365a  - git-ptx-patches magic
diff --git a/rules/gpsd.in b/rules/gpsd.in
index 660088969..6603bd463 100644
--- a/rules/gpsd.in
+++ b/rules/gpsd.in
@@ -13,6 +13,7 @@ menuconfig GPSD
 	select NCURSES			if GPSD_NCURSES
 	select DBUS_GLIB		if GPSD_DBUS
 	select PYTHON3			if GPSD_PYTHON
+	select PYSERIAL3		if GPSD_PYSERIAL
 	prompt "gpsd                          "
 	help
 	  gpsd is a daemon that listens to a GPS or Loran receiver
@@ -27,25 +28,15 @@ if GPSD
 config GPSD_NCURSES
 	bool
 
-comment "time service     ---"
-
-config GPSD_NTP
+config GPSD_PYSERIAL
 	bool
-	prompt "NTP time hinting support"
 
-config GPSD_NTPSHM
-	bool
-	depends on GPSD_NTP
-	prompt "NTP time hinting via shared memory"
+comment "time service     ---"
 
 config GPSD_OSCILLATOR
 	bool
 	prompt "Disciplined oscillator support"
 
-config GPSD_PPS
-	bool
-	prompt "PPS time syncing support"
-
 comment "export methods   ---"
 
 config GPSD_DBUS
@@ -111,14 +102,6 @@ config GPSD_USER
 	help
 	  This user is used for privilege separation.
 
-config GPSD_FIXED_PORT_SPEED
-	string
-	prompt "fixed port speed"
-
-config GPSD_FIXED_PORT_BITS
-	string
-	prompt "fixed port bits"
-
 config GPSD_MAX_CLIENTS
 	string
 	prompt "max clients"
@@ -207,7 +190,6 @@ menu "drivers"
 
 	config GPSD_DRIVER_UBX
 		bool
-		select GPSD_NTPSHM
 		select GPSD_DRIVER_NMEA
 		prompt "ubx"
 
@@ -356,8 +338,6 @@ menu "install options"
 
 	config GPSD_NTPSHMMON
 		bool
-		select GPSD_NTP
-		select GPSD_PPS
 		select GPSD_SHM
 		prompt "ntpshmmon"
 		help
@@ -420,6 +400,7 @@ menu "install options"
 	config GPSD_UBXTOOL
 		bool
 		select GPSD_PYTHON
+		select GPSD_PYSERIAL
 		prompt "ubxtool"
 		help
 		  ubxtool is a tool for u-blox GPS. ubxtool can decode common
@@ -430,6 +411,7 @@ menu "install options"
 	config GPSD_ZERK
 		bool
 		select GPSD_PYTHON
+		select GPSD_PYSERIAL
 		prompt "zerk"
 		help
 		  zerk is an all purpose GREIS fitting. zerk can decode common
diff --git a/rules/gpsd.make b/rules/gpsd.make
index ae4e0628e..2ca9e79cb 100644
--- a/rules/gpsd.make
+++ b/rules/gpsd.make
@@ -16,8 +16,8 @@ PACKAGES-$(PTXCONF_GPSD) += gpsd
 #
 # Paths and names
 #
-GPSD_VERSION	:= 3.19
-GPSD_MD5	:= b3bf88706794eb8e5f2c2543bf7ba87b
+GPSD_VERSION	:= 3.20
+GPSD_MD5	:= cf7fdec7ce7221d20bee1a7246362b05
 GPSD		:= gpsd-$(GPSD_VERSION)
 GPSD_SUFFIX	:= tar.gz
 GPSD_URL	:= http://download.savannah.gnu.org/releases/gpsd/$(GPSD).$(GPSD_SUFFIX)
@@ -52,6 +52,8 @@ GPSD_PROGS-$(PTXCONF_GPSD_UBXTOOL)	+= ubxtool
 GPSD_PROGS-$(PTXCONF_GPSD_ZERK)		+= zerk
 
 GPSD_CONF_TOOL	:= scons
+GPSD_CONF_ENV	:= \
+	$(CROSS_ENV_PKG_CONFIG)
 GPSD_CONF_OPT	:= \
 	aivdm=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_AIVDM) \
 	ashtech=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_ASHTECH) \
@@ -75,10 +77,8 @@ GPSD_CONF_OPT	:= \
 	gpsdclients=$(GPSD_BUILD_CLIENTS) \
 	greis=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_GREIS) \
 	implicit_link=yes \
-	ipv6=$(call ptx/yesno, PTXCONF_GLOBAL_IPV6) \
 	isync=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_ISYNC) \
 	itrax=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_ITRAX) \
-	leapfetch=yes \
 	libdir=/usr/$(CROSS_LIB_DIR) \
 	libgpsmm=no \
 	magic_hat=no \
@@ -90,16 +90,12 @@ GPSD_CONF_OPT	:= \
 	netfeed=yes \
 	nmea0183=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_NMEA) \
 	nmea2000=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_NMEA) \
-	nofloats=no \
 	nostrip=yes \
-	ntp=$(call ptx/yesno, PTXCONF_GPSD_NTP) \
-	ntpshm=$(call ptx/yesno, PTXCONF_GPSD_SHM) \
 	ntrip=$(call ptx/yesno, GPSD_DRIVER_NTRIP) \
 	oceanserver=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_OCEANSERVER) \
 	oncore=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_ONCORE) \
 	oscillator=$(call ptx/yesno, PTXCONF_GPSD_OSCILLATOR) \
 	passthrough=no \
-	pps=$(call ptx/yesno, PTXCONF_GPSD_PPS) \
 	prefix=/usr \
 	profiling=$(call ptx/yesno, PTXCONF_GPSD_PROFILING) \
 	python=$(call ptx/yesno, PTXCONF_GPSD_PYTHON) \
@@ -116,12 +112,10 @@ GPSD_CONF_OPT	:= \
 	squelch=yes \
 	superstar2=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_SUPERSTAR2) \
 	sysconfdir=/etc \
-	sysroot=$(SYSROOT) \
 	systemd=$(call ptx/yesno, PTXCONF_GPSD_SYSTEMD) \
 	target=$(PTXCONF_GNU_TARGET) \
 	target_python=$(CROSS_PYTHON3) \
 	timeservice=no \
-	timing=no \
 	tnt=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_TNT) \
 	tripmate=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_TRIPMATE) \
 	tsip=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_TSIP) \
@@ -130,13 +124,6 @@ GPSD_CONF_OPT	:= \
 	usb=$(call ptx/yesno, PTXCONF_GPSD_USB) \
 	xgps=no
 
-ifneq ($(call remove_quotes,$(PTXCONF_GPSD_FIXED_PORT_SPEED)),)
-GPSD_CONF_OPT += fixed_port_speed=$(PTXCONF_GPSD_FIXED_PORT_SPEED)
-endif
-ifneq ($(call remove_quotes,$(PTXCONF_GPSD_FIXED_PORT_BITS)),)
-GPSD_CONF_OPT += fixed_port_bits=$(PTXCONF_GPSD_FIXED_PORT_BITS)
-endif
-
 ifneq ($(call remove_quotes,$(PTXCONF_GPSD_GROUP)),)
 GPSD_CONF_OPT += gpsd_group=$(PTXCONF_GPSD_GROUP)
 endif
-- 
2.25.0


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2020-02-04  1:02 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-19 21:37 [ptxdist] [PATCH] gpsd: version bump 3.19 -> 3.20 Ladislav Michl
2020-01-30 22:17 ` Ladislav Michl
2020-01-31  7:09   ` Michael Olbrich
2020-01-31 21:37     ` Ladislav Michl
2020-02-01  9:02       ` Michael Olbrich
2020-02-01 19:43         ` Ladislav Michl
2020-02-02 13:18         ` Ladislav Michl
2020-02-04  1:02         ` Ladislav Michl

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox