mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Ladislav Michl <ladis@linux-mips.org>
To: ptxdist@pengutronix.de
Subject: Re: [ptxdist] [PATCH] gpsd: version bump 3.19 -> 3.20
Date: Sun, 2 Feb 2020 14:18:42 +0100	[thread overview]
Message-ID: <20200202131842.GA744510@lenoch> (raw)
In-Reply-To: <20200201090216.GG2615@pengutronix.de>

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

  parent reply	other threads:[~2020-02-02 13:18 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-19 21:37 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 [this message]
2020-02-04  1:02         ` Ladislav Michl

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=20200202131842.GA744510@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