mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
* [ptxdist] [PATCH 1/3] gpsd: merge GPSD_SYSTEMD and GPSD_SYSTEMD_UNIT options
@ 2020-07-20 11:51 Roland Hieber
  2020-07-20 11:51 ` [ptxdist] [PATCH 2/3] gpsd: make 'ublox' driver option more recognizable Roland Hieber
                   ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Roland Hieber @ 2020-07-20 11:51 UTC (permalink / raw)
  To: ptxdist; +Cc: Roland Hieber

The current systemd socket unit relies on compiled-in systemd support in
the gpsd binary, so we would need to enable GPSD_SYSTEMD with
GPSD_SYSTEMD_UNIT anyways. Vice versa, there is no use in having
compiled-in systemd socket activation support without the systemd socket
unit. Merge both options.

Signed-off-by: Roland Hieber <rhi@pengutronix.de>
---
 rules/gpsd.in               | 9 ++-------
 rules/gpsd.make             | 2 +-
 scripts/migrate/migrate_ptx | 8 ++++++++
 3 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/rules/gpsd.in b/rules/gpsd.in
index 16b6dcb70a72..d01ce4291ac9 100644
--- a/rules/gpsd.in
+++ b/rules/gpsd.in
@@ -63,11 +63,6 @@ config GPSD_USB
 
 comment "Other options    ---"
 
-config GPSD_SYSTEMD
-	bool
-	depends on SYSTEMD
-	prompt "systemd"
-
 config GPSD_RECONFIGURE
 	bool
 	prompt "enable reconfigure"
@@ -260,7 +255,7 @@ menu "install options"
 		  queries with a format that is substantially easier to
 		  parse than the NMEA 0183 emitted by most GPS receivers.
 
-	config GPSD_SYSTEMD_UNIT
+	config GPSD_SYSTEMD
 		bool
 		default y
 		depends on INITMETHOD_SYSTEMD && GPSD_GPSD
@@ -268,7 +263,7 @@ menu "install options"
 
 	config GPSD_GPSD_ARGS
 		string
-		depends on GPSD_SYSTEMD_UNIT
+		depends on GPSD_SYSTEMD
 		prompt "gpsd arguments"
 
 	config GPSD_GPS2UDP
diff --git a/rules/gpsd.make b/rules/gpsd.make
index f75caa5b4bbd..16a407cb505e 100644
--- a/rules/gpsd.make
+++ b/rules/gpsd.make
@@ -160,7 +160,7 @@ $(STATEDIR)/gpsd.targetinstall:
 ifdef PTXCONF_GPSD_GPSD
 	@$(call install_copy, gpsd, 0, 0, 0755, -, /usr/sbin/gpsd)
 endif
-ifdef PTXCONF_GPSD_SYSTEMD_UNIT
+ifdef PTXCONF_GPSD_SYSTEMD
 	@$(call install_alternative, gpsd, 0, 0, 644, \
 		/usr/lib/systemd/system/gpsd.service)
 	@$(call install_replace, gpsd, \
diff --git a/scripts/migrate/migrate_ptx b/scripts/migrate/migrate_ptx
index 34c9a5ccedf8..484715cfeffe 100755
--- a/scripts/migrate/migrate_ptx
+++ b/scripts/migrate/migrate_ptx
@@ -402,3 +402,11 @@ s/^\(\(# \)\?PTXCONF_GST_PLUGINS_\)BAD1_STEREO\>/\1GOOD1_AUDIOFX/
 # reason : option was renamed
 #
 s/^\(\(# \)\?PTXCONF_SQLITE_LOAD_\)EXTENTION/\1EXTENSION/
+
+#
+# from   : ptxdist-2020.07.0
+# to     : ptxdist-2020.08.0
+# symbol : GPSD_SYSTEMD_UNIT -> GPSD_SYSTEMD
+# reason : options were renamed / merged
+#
+s/^\(\(# \)\?PTXCONF_GPSD_SYSTEMD\)_UNIT\>/\1/
-- 
2.27.0


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de

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

* [ptxdist] [PATCH 2/3] gpsd: make 'ublox' driver option more recognizable
  2020-07-20 11:51 [ptxdist] [PATCH 1/3] gpsd: merge GPSD_SYSTEMD and GPSD_SYSTEMD_UNIT options Roland Hieber
@ 2020-07-20 11:51 ` Roland Hieber
  2020-07-20 11:51 ` [ptxdist] [PATCH 3/3] gpsd: fix usage of GPSD_DRIVER_NTRIP option Roland Hieber
  2020-07-20 12:59 ` [ptxdist] [PATCH 1/3] gpsd: merge GPSD_SYSTEMD and GPSD_SYSTEMD_UNIT options Michael Olbrich
  2 siblings, 0 replies; 13+ messages in thread
From: Roland Hieber @ 2020-07-20 11:51 UTC (permalink / raw)
  To: ptxdist; +Cc: Roland Hieber

The configure option itself is named 'ublox', so there is no reason to
unnecessarily abbreviate the option in the menu and make it harder to
recognize.

Signed-off-by: Roland Hieber <rhi@pengutronix.de>
---
 rules/gpsd.in               | 4 ++--
 rules/gpsd.make             | 2 +-
 scripts/migrate/migrate_ptx | 2 ++
 3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/rules/gpsd.in b/rules/gpsd.in
index d01ce4291ac9..e4805a3cd2fc 100644
--- a/rules/gpsd.in
+++ b/rules/gpsd.in
@@ -183,10 +183,10 @@ menu "drivers"
 		bool
 		prompt "tnt"
 
-	config GPSD_DRIVER_UBX
+	config GPSD_DRIVER_UBLOX
 		bool
 		select GPSD_DRIVER_NMEA
-		prompt "ubx"
+		prompt "ublox"
 
 	config GPSD_DRIVER_EVERMORE
 		bool
diff --git a/rules/gpsd.make b/rules/gpsd.make
index 16a407cb505e..794e185ccaa7 100644
--- a/rules/gpsd.make
+++ b/rules/gpsd.make
@@ -121,7 +121,7 @@ GPSD_CONF_OPT	:= \
 	tnt=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_TNT) \
 	tripmate=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_TRIPMATE) \
 	tsip=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_TSIP) \
-	ublox=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_UBX) \
+	ublox=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_UBLOX) \
 	udevdir=/usr/lib/udev \
 	usb=$(call ptx/yesno, PTXCONF_GPSD_USB) \
 	xgps=no
diff --git a/scripts/migrate/migrate_ptx b/scripts/migrate/migrate_ptx
index 484715cfeffe..76603c484afc 100755
--- a/scripts/migrate/migrate_ptx
+++ b/scripts/migrate/migrate_ptx
@@ -406,7 +406,9 @@ s/^\(\(# \)\?PTXCONF_SQLITE_LOAD_\)EXTENTION/\1EXTENSION/
 #
 # from   : ptxdist-2020.07.0
 # to     : ptxdist-2020.08.0
+# symbol : GPSD_DRIVER_UBX -> GPSD_DRIVER_UBLOX
 # symbol : GPSD_SYSTEMD_UNIT -> GPSD_SYSTEMD
 # reason : options were renamed / merged
 #
+s/^\(\(# \)\?PTXCONF_GPSD_DRIVER\)_UBX\>/\1_UBLOX/
 s/^\(\(# \)\?PTXCONF_GPSD_SYSTEMD\)_UNIT\>/\1/
-- 
2.27.0


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de

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

* [ptxdist] [PATCH 3/3] gpsd: fix usage of GPSD_DRIVER_NTRIP option
  2020-07-20 11:51 [ptxdist] [PATCH 1/3] gpsd: merge GPSD_SYSTEMD and GPSD_SYSTEMD_UNIT options Roland Hieber
  2020-07-20 11:51 ` [ptxdist] [PATCH 2/3] gpsd: make 'ublox' driver option more recognizable Roland Hieber
@ 2020-07-20 11:51 ` Roland Hieber
  2020-07-20 12:59 ` [ptxdist] [PATCH 1/3] gpsd: merge GPSD_SYSTEMD and GPSD_SYSTEMD_UNIT options Michael Olbrich
  2 siblings, 0 replies; 13+ messages in thread
From: Roland Hieber @ 2020-07-20 11:51 UTC (permalink / raw)
  To: ptxdist; +Cc: Roland Hieber

Signed-off-by: Roland Hieber <rhi@pengutronix.de>
---
 rules/gpsd.make | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/rules/gpsd.make b/rules/gpsd.make
index 794e185ccaa7..78e0471dd104 100644
--- a/rules/gpsd.make
+++ b/rules/gpsd.make
@@ -93,7 +93,7 @@ GPSD_CONF_OPT	:= \
 	nmea0183=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_NMEA) \
 	nmea2000=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_NMEA) \
 	nostrip=yes \
-	ntrip=$(call ptx/yesno, GPSD_DRIVER_NTRIP) \
+	ntrip=$(call ptx/yesno, PTXCONF_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) \
-- 
2.27.0


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de

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

* Re: [ptxdist] [PATCH 1/3] gpsd: merge GPSD_SYSTEMD and GPSD_SYSTEMD_UNIT options
  2020-07-20 11:51 [ptxdist] [PATCH 1/3] gpsd: merge GPSD_SYSTEMD and GPSD_SYSTEMD_UNIT options Roland Hieber
  2020-07-20 11:51 ` [ptxdist] [PATCH 2/3] gpsd: make 'ublox' driver option more recognizable Roland Hieber
  2020-07-20 11:51 ` [ptxdist] [PATCH 3/3] gpsd: fix usage of GPSD_DRIVER_NTRIP option Roland Hieber
@ 2020-07-20 12:59 ` Michael Olbrich
  2020-07-20 21:14   ` ladis
  2 siblings, 1 reply; 13+ messages in thread
From: Michael Olbrich @ 2020-07-20 12:59 UTC (permalink / raw)
  To: ptxdist

On Mon, Jul 20, 2020 at 01:51:15PM +0200, Roland Hieber wrote:
> The current systemd socket unit relies on compiled-in systemd support in
> the gpsd binary, so we would need to enable GPSD_SYSTEMD with
> GPSD_SYSTEMD_UNIT anyways. Vice versa, there is no use in having
> compiled-in systemd socket activation support without the systemd socket
> unit. Merge both options.

It can be useful to disable systemd units but not the support. E.g. if the
service should not be enabled by default.
I'd prefer remove the prompt for GPSD_SYSTEMD instead and enable it with
systemd (like rsyslog handles this, for example).

Michael

> Signed-off-by: Roland Hieber <rhi@pengutronix.de>
> ---
>  rules/gpsd.in               | 9 ++-------
>  rules/gpsd.make             | 2 +-
>  scripts/migrate/migrate_ptx | 8 ++++++++
>  3 files changed, 11 insertions(+), 8 deletions(-)
> 
> diff --git a/rules/gpsd.in b/rules/gpsd.in
> index 16b6dcb70a72..d01ce4291ac9 100644
> --- a/rules/gpsd.in
> +++ b/rules/gpsd.in
> @@ -63,11 +63,6 @@ config GPSD_USB
>  
>  comment "Other options    ---"
>  
> -config GPSD_SYSTEMD
> -	bool
> -	depends on SYSTEMD
> -	prompt "systemd"
> -
>  config GPSD_RECONFIGURE
>  	bool
>  	prompt "enable reconfigure"
> @@ -260,7 +255,7 @@ menu "install options"
>  		  queries with a format that is substantially easier to
>  		  parse than the NMEA 0183 emitted by most GPS receivers.
>  
> -	config GPSD_SYSTEMD_UNIT
> +	config GPSD_SYSTEMD
>  		bool
>  		default y
>  		depends on INITMETHOD_SYSTEMD && GPSD_GPSD
> @@ -268,7 +263,7 @@ menu "install options"
>  
>  	config GPSD_GPSD_ARGS
>  		string
> -		depends on GPSD_SYSTEMD_UNIT
> +		depends on GPSD_SYSTEMD
>  		prompt "gpsd arguments"
>  
>  	config GPSD_GPS2UDP
> diff --git a/rules/gpsd.make b/rules/gpsd.make
> index f75caa5b4bbd..16a407cb505e 100644
> --- a/rules/gpsd.make
> +++ b/rules/gpsd.make
> @@ -160,7 +160,7 @@ $(STATEDIR)/gpsd.targetinstall:
>  ifdef PTXCONF_GPSD_GPSD
>  	@$(call install_copy, gpsd, 0, 0, 0755, -, /usr/sbin/gpsd)
>  endif
> -ifdef PTXCONF_GPSD_SYSTEMD_UNIT
> +ifdef PTXCONF_GPSD_SYSTEMD
>  	@$(call install_alternative, gpsd, 0, 0, 644, \
>  		/usr/lib/systemd/system/gpsd.service)
>  	@$(call install_replace, gpsd, \
> diff --git a/scripts/migrate/migrate_ptx b/scripts/migrate/migrate_ptx
> index 34c9a5ccedf8..484715cfeffe 100755
> --- a/scripts/migrate/migrate_ptx
> +++ b/scripts/migrate/migrate_ptx
> @@ -402,3 +402,11 @@ s/^\(\(# \)\?PTXCONF_GST_PLUGINS_\)BAD1_STEREO\>/\1GOOD1_AUDIOFX/
>  # reason : option was renamed
>  #
>  s/^\(\(# \)\?PTXCONF_SQLITE_LOAD_\)EXTENTION/\1EXTENSION/
> +
> +#
> +# from   : ptxdist-2020.07.0
> +# to     : ptxdist-2020.08.0
> +# symbol : GPSD_SYSTEMD_UNIT -> GPSD_SYSTEMD
> +# reason : options were renamed / merged
> +#
> +s/^\(\(# \)\?PTXCONF_GPSD_SYSTEMD\)_UNIT\>/\1/
> -- 
> 2.27.0
> 
> 
> _______________________________________________
> ptxdist mailing list
> ptxdist@pengutronix.de
> To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de
> 

-- 
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
To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de

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

* Re: [ptxdist] [PATCH 1/3] gpsd: merge GPSD_SYSTEMD and GPSD_SYSTEMD_UNIT options
  2020-07-20 12:59 ` [ptxdist] [PATCH 1/3] gpsd: merge GPSD_SYSTEMD and GPSD_SYSTEMD_UNIT options Michael Olbrich
@ 2020-07-20 21:14   ` ladis
  2020-07-22  9:51     ` Roland Hieber
  0 siblings, 1 reply; 13+ messages in thread
From: ladis @ 2020-07-20 21:14 UTC (permalink / raw)
  To: ptxdist

On Mon, Jul 20, 2020 at 02:59:33PM +0200, Michael Olbrich wrote:
> On Mon, Jul 20, 2020 at 01:51:15PM +0200, Roland Hieber wrote:
> > The current systemd socket unit relies on compiled-in systemd support in
> > the gpsd binary, so we would need to enable GPSD_SYSTEMD with
> > GPSD_SYSTEMD_UNIT anyways. Vice versa, there is no use in having
> > compiled-in systemd socket activation support without the systemd socket
> > unit. Merge both options.
> 
> It can be useful to disable systemd units but not the support. E.g. if the
> service should not be enabled by default.
> I'd prefer remove the prompt for GPSD_SYSTEMD instead and enable it with
> systemd (like rsyslog handles this, for example).

+1
Also please note gpsd is about to make release:
https://lists.nongnu.org/archive/html/gpsd-dev/2020-07/msg00011.html
Looks good so far, only 0101-SConstruct-Search-for-ncursesw-pkgconfig.patch
is needed and it is PTXdist specific.

But maybye it would be worth checking all options and do transition at once.

> Michael


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de

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

* Re: [ptxdist] [PATCH 1/3] gpsd: merge GPSD_SYSTEMD and GPSD_SYSTEMD_UNIT options
  2020-07-20 21:14   ` ladis
@ 2020-07-22  9:51     ` Roland Hieber
  2020-07-22  9:53       ` [ptxdist] [PATCH v2 1/3] gpsd: make 'ublox' driver option more recognizable Roland Hieber
  2020-08-02 14:43       ` [ptxdist] [PATCH 1/3] gpsd: merge GPSD_SYSTEMD and GPSD_SYSTEMD_UNIT options ladis
  0 siblings, 2 replies; 13+ messages in thread
From: Roland Hieber @ 2020-07-22  9:51 UTC (permalink / raw)
  To: ladis; +Cc: ptxdist

On Mon, Jul 20, 2020 at 11:14:28PM +0200, ladis@linux-mips.org wrote:
> On Mon, Jul 20, 2020 at 02:59:33PM +0200, Michael Olbrich wrote:
> > On Mon, Jul 20, 2020 at 01:51:15PM +0200, Roland Hieber wrote:
> > > The current systemd socket unit relies on compiled-in systemd support in
> > > the gpsd binary, so we would need to enable GPSD_SYSTEMD with
> > > GPSD_SYSTEMD_UNIT anyways. Vice versa, there is no use in having
> > > compiled-in systemd socket activation support without the systemd socket
> > > unit. Merge both options.
> > 
> > It can be useful to disable systemd units but not the support. E.g. if the
> > service should not be enabled by default.
> > I'd prefer remove the prompt for GPSD_SYSTEMD instead and enable it with
> > systemd (like rsyslog handles this, for example).
> 
> +1
> Also please note gpsd is about to make release:
> https://lists.nongnu.org/archive/html/gpsd-dev/2020-07/msg00011.html
> Looks good so far, only 0101-SConstruct-Search-for-ncursesw-pkgconfig.patch
> is needed and it is PTXdist specific.
> 
> But maybye it would be worth checking all options and do transition at once.

My customer just notified me that they want to move away from gpsd, so I
don't think I can justify time for that :-/ Anyway, I'll still send a v2
of this series.

 - Roland

-- 
Roland Hieber, Pengutronix e.K.          | r.hieber@pengutronix.de     |
Steuerwalder Str. 21                     | https://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
To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de

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

* [ptxdist] [PATCH v2 1/3] gpsd: make 'ublox' driver option more recognizable
  2020-07-22  9:51     ` Roland Hieber
@ 2020-07-22  9:53       ` Roland Hieber
  2020-07-22  9:53         ` [ptxdist] [PATCH v2 2/3] gpsd: fix usage of GPSD_DRIVER_NTRIP option Roland Hieber
                           ` (2 more replies)
  2020-08-02 14:43       ` [ptxdist] [PATCH 1/3] gpsd: merge GPSD_SYSTEMD and GPSD_SYSTEMD_UNIT options ladis
  1 sibling, 3 replies; 13+ messages in thread
From: Roland Hieber @ 2020-07-22  9:53 UTC (permalink / raw)
  To: ptxdist; +Cc: Roland Hieber

The configure option itself is named 'ublox', so there is no reason to
unnecessarily abbreviate the option in the menu and make it harder to
recognize.

Signed-off-by: Roland Hieber <rhi@pengutronix.de>
---
 * v1 -> v2: no changes
---
 rules/gpsd.in               | 4 ++--
 rules/gpsd.make             | 2 +-
 scripts/migrate/migrate_ptx | 8 ++++++++
 3 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/rules/gpsd.in b/rules/gpsd.in
index 16b6dcb70a72..6d1db1495f3f 100644
--- a/rules/gpsd.in
+++ b/rules/gpsd.in
@@ -188,10 +188,10 @@ menu "drivers"
 		bool
 		prompt "tnt"
 
-	config GPSD_DRIVER_UBX
+	config GPSD_DRIVER_UBLOX
 		bool
 		select GPSD_DRIVER_NMEA
-		prompt "ubx"
+		prompt "ublox"
 
 	config GPSD_DRIVER_EVERMORE
 		bool
diff --git a/rules/gpsd.make b/rules/gpsd.make
index f75caa5b4bbd..6ebd8bd3bca7 100644
--- a/rules/gpsd.make
+++ b/rules/gpsd.make
@@ -121,7 +121,7 @@ GPSD_CONF_OPT	:= \
 	tnt=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_TNT) \
 	tripmate=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_TRIPMATE) \
 	tsip=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_TSIP) \
-	ublox=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_UBX) \
+	ublox=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_UBLOX) \
 	udevdir=/usr/lib/udev \
 	usb=$(call ptx/yesno, PTXCONF_GPSD_USB) \
 	xgps=no
diff --git a/scripts/migrate/migrate_ptx b/scripts/migrate/migrate_ptx
index 34c9a5ccedf8..1603d634476b 100755
--- a/scripts/migrate/migrate_ptx
+++ b/scripts/migrate/migrate_ptx
@@ -402,3 +402,11 @@ s/^\(\(# \)\?PTXCONF_GST_PLUGINS_\)BAD1_STEREO\>/\1GOOD1_AUDIOFX/
 # reason : option was renamed
 #
 s/^\(\(# \)\?PTXCONF_SQLITE_LOAD_\)EXTENTION/\1EXTENSION/
+
+#
+# from   : ptxdist-2020.07.0
+# to     : ptxdist-2020.08.0
+# symbol : GPSD_DRIVER_UBX -> GPSD_DRIVER_UBLOX
+# reason : options were renamed / merged
+#
+s/^\(\(# \)\?PTXCONF_GPSD_DRIVER\)_UBX\>/\1_UBLOX/
-- 
2.27.0


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de

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

* [ptxdist] [PATCH v2 2/3] gpsd: fix usage of GPSD_DRIVER_NTRIP option
  2020-07-22  9:53       ` [ptxdist] [PATCH v2 1/3] gpsd: make 'ublox' driver option more recognizable Roland Hieber
@ 2020-07-22  9:53         ` Roland Hieber
  2020-08-03  6:29           ` [ptxdist] [APPLIED] " Michael Olbrich
  2020-07-22  9:53         ` [ptxdist] [PATCH v2 3/3] gpsd: make GPSD_SYSTEMD promptless and fix dependency Roland Hieber
  2020-08-03  6:29         ` [ptxdist] [APPLIED] gpsd: make 'ublox' driver option more recognizable Michael Olbrich
  2 siblings, 1 reply; 13+ messages in thread
From: Roland Hieber @ 2020-07-22  9:53 UTC (permalink / raw)
  To: ptxdist; +Cc: Roland Hieber

Signed-off-by: Roland Hieber <rhi@pengutronix.de>
---
 * v1 -> v2: no changes
---
 rules/gpsd.make | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/rules/gpsd.make b/rules/gpsd.make
index 6ebd8bd3bca7..7f7e369f3ac1 100644
--- a/rules/gpsd.make
+++ b/rules/gpsd.make
@@ -93,7 +93,7 @@ GPSD_CONF_OPT	:= \
 	nmea0183=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_NMEA) \
 	nmea2000=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_NMEA) \
 	nostrip=yes \
-	ntrip=$(call ptx/yesno, GPSD_DRIVER_NTRIP) \
+	ntrip=$(call ptx/yesno, PTXCONF_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) \
-- 
2.27.0


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de

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

* [ptxdist] [PATCH v2 3/3] gpsd: make GPSD_SYSTEMD promptless and fix dependency
  2020-07-22  9:53       ` [ptxdist] [PATCH v2 1/3] gpsd: make 'ublox' driver option more recognizable Roland Hieber
  2020-07-22  9:53         ` [ptxdist] [PATCH v2 2/3] gpsd: fix usage of GPSD_DRIVER_NTRIP option Roland Hieber
@ 2020-07-22  9:53         ` Roland Hieber
  2020-08-03  6:29           ` [ptxdist] [APPLIED] " Michael Olbrich
  2020-08-03  6:29         ` [ptxdist] [APPLIED] gpsd: make 'ublox' driver option more recognizable Michael Olbrich
  2 siblings, 1 reply; 13+ messages in thread
From: Roland Hieber @ 2020-07-22  9:53 UTC (permalink / raw)
  To: ptxdist; +Cc: Roland Hieber

The systemd support code is only a few lines of code and can be compiled
unconditionally if systemd is available anyway. For that to work,
systemd must obviously have been installed first.

Signed-off-by: Roland Hieber <rhi@pengutronix.de>
---
 * v1 -> v2: rework after feedback from mol
---
 rules/gpsd.in | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/rules/gpsd.in b/rules/gpsd.in
index 6d1db1495f3f..b69570af0f49 100644
--- a/rules/gpsd.in
+++ b/rules/gpsd.in
@@ -14,6 +14,7 @@ menuconfig GPSD
 	select DBUS_GLIB		if GPSD_DBUS
 	select PYTHON3			if GPSD_PYTHON
 	select PYSERIAL3		if GPSD_PYSERIAL
+	select SYSTEMD			if GPSD_SYSTEMD
 	prompt "gpsd                          "
 	help
 	  gpsd is a daemon that listens to a GPS or Loran receiver
@@ -31,6 +32,10 @@ config GPSD_NCURSES
 config GPSD_PYSERIAL
 	bool
 
+config GPSD_SYSTEMD
+	bool
+	default INITMETHOD_SYSTEMD
+
 comment "time service     ---"
 
 config GPSD_OSCILLATOR
@@ -63,11 +68,6 @@ config GPSD_USB
 
 comment "Other options    ---"
 
-config GPSD_SYSTEMD
-	bool
-	depends on SYSTEMD
-	prompt "systemd"
-
 config GPSD_RECONFIGURE
 	bool
 	prompt "enable reconfigure"
-- 
2.27.0


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de

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

* Re: [ptxdist] [PATCH 1/3] gpsd: merge GPSD_SYSTEMD and GPSD_SYSTEMD_UNIT options
  2020-07-22  9:51     ` Roland Hieber
  2020-07-22  9:53       ` [ptxdist] [PATCH v2 1/3] gpsd: make 'ublox' driver option more recognizable Roland Hieber
@ 2020-08-02 14:43       ` ladis
  1 sibling, 0 replies; 13+ messages in thread
From: ladis @ 2020-08-02 14:43 UTC (permalink / raw)
  To: Roland Hieber; +Cc: ptxdist

On Wed, Jul 22, 2020 at 11:51:30AM +0200, Roland Hieber wrote:
> On Mon, Jul 20, 2020 at 11:14:28PM +0200, ladis@linux-mips.org wrote:
> > On Mon, Jul 20, 2020 at 02:59:33PM +0200, Michael Olbrich wrote:
> > > On Mon, Jul 20, 2020 at 01:51:15PM +0200, Roland Hieber wrote:
> > > > The current systemd socket unit relies on compiled-in systemd support in
> > > > the gpsd binary, so we would need to enable GPSD_SYSTEMD with
> > > > GPSD_SYSTEMD_UNIT anyways. Vice versa, there is no use in having
> > > > compiled-in systemd socket activation support without the systemd socket
> > > > unit. Merge both options.
> > > 
> > > It can be useful to disable systemd units but not the support. E.g. if the
> > > service should not be enabled by default.
> > > I'd prefer remove the prompt for GPSD_SYSTEMD instead and enable it with
> > > systemd (like rsyslog handles this, for example).
> > 
> > +1
> > Also please note gpsd is about to make release:
> > https://lists.nongnu.org/archive/html/gpsd-dev/2020-07/msg00011.html
> > Looks good so far, only 0101-SConstruct-Search-for-ncursesw-pkgconfig.patch
> > is needed and it is PTXdist specific.
> > 
> > But maybye it would be worth checking all options and do transition at once.
> 
> My customer just notified me that they want to move away from gpsd, so I
> don't think I can justify time for that :-/ Anyway, I'll still send a v2
> of this series.

Fair enough. For those curious, here's a patch for not yet released 3.21
(I run 'scons dist' on gpsd commit 568a3fd53cd6 "ubxtool: Fix another Python
2.6 bug."). It contains some bugfixes as well. Let me know, if you want them
as separate patches.

--- >8 ---

From: Ladislav Michl <ladis@linux-mips.org>
Date: Sun, 2 Aug 2020 16:32:15 +0200
Subject: [PATCH] gpsd: version bump 3.20 -> 3.21

Not-yet-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 -----
 ...-Remove-redundant-CheckHeaderDefines.patch |  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} |  10 +-
 ...arget-option-to-decide-whenewer-to-r.patch |  28 +++
 patches/gpsd-3.21/series                      |   2 +
 .../usr/lib/systemd/system/gpsd.socket        |   2 +-
 .../usr/lib/systemd/system/gpsdctl@.service   |   6 +-
 rules/gpsd.in                                 |  21 +--
 rules/gpsd.make                               |  21 ++-
 23 files changed, 62 insertions(+), 1081 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} (80%)
 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 80%
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..825c9b247 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,7 @@
+From 9f82524e92f3162d9444efa71456f0be4f1e8a32 Mon Sep 17 00:00:00 2001
 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 1/2] Search for ncursesw pkgconfig
 
 PTXDist can be configured to build wide char version of ncurses
 which SConstruct is unaware of.
@@ -11,10 +12,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 68400bae8..d1c7a5a46 100644
 --- a/SConstruct
 +++ b/SConstruct
-@@ -807,6 +807,8 @@ else:
+@@ -1033,6 +1033,8 @@ else:
              ncurseslibs = pkg_config('ncurses', rpath_hack=True)
              if config.CheckPKG('tinfo'):
                  ncurseslibs += pkg_config('tinfo', rpath_hack=True)
@@ -23,3 +24,6 @@ index cd30bb86f4ac..841eb06b7793 100644
          # It's not yet known whether rpath_hack is appropriate for
          # ncurses5-config.
          elif WhereIs('ncurses5-config'):
+-- 
+2.28.0
+
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..aaf73ab13
--- /dev/null
+++ b/patches/gpsd-3.21/0002-SConstruct-Use-target-option-to-decide-whenewer-to-r.patch
@@ -0,0 +1,28 @@
+From 0a88c834d6db7c899bf6482849a4c7e47ecc3637 Mon Sep 17 00:00:00 2001
+From: Ladislav Michl <ladis@linux-mips.org>
+Date: Sun, 2 Feb 2020 09:45:04 +0100
+Subject: [PATCH 2/2] SConstruct: Use 'target' option to decide whenewer to
+ restart systemd
+
+Besides gpsd is able to cross-compile without sysroot option, it makes
+this cross-compile check aligned with the one for sizeof(time_t).
+---
+ SConstruct | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/SConstruct b/SConstruct
+index d1c7a5a46..60d049103 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -2819,7 +2819,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)
+-- 
+2.28.0
+
diff --git a/patches/gpsd-3.21/series b/patches/gpsd-3.21/series
new file mode 100644
index 000000000..b333b033b
--- /dev/null
+++ b/patches/gpsd-3.21/series
@@ -0,0 +1,2 @@
+0001-Search-for-ncursesw-pkgconfig.patch
+0002-SConstruct-Use-target-option-to-decide-whenewer-to-r.patch
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 24d291408..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/bin/gpsdctl add /dev/%I
-ExecStop=/usr/bin/gpsdctl remove /dev/%I
+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 16b6dcb70..53b1a13f6 100644
--- a/rules/gpsd.in
+++ b/rules/gpsd.in
@@ -68,18 +68,6 @@ config GPSD_SYSTEMD
 	depends on SYSTEMD
 	prompt "systemd"
 
-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"
@@ -260,10 +248,19 @@ menu "install options"
 		  queries with a format that is substantially easier to
 		  parse than the NMEA 0183 emitted by most GPS receivers.
 
+	config GPSD_GPSDCTL
+		bool
+		prompt "gpdsctl"
+		help
+		  gpdsctl is a tool for sending an instance of gpsd commands
+		  over its control socket to add or remove devices from the
+		  daemon's device list.
+
 	config GPSD_SYSTEMD_UNIT
 		bool
 		default y
 		depends on INITMETHOD_SYSTEMD && GPSD_GPSD
+		select GPSD_GPSDCTL
 		prompt "systemd unit files for gpsd"
 
 	config GPSD_GPSD_ARGS
diff --git a/rules/gpsd.make b/rules/gpsd.make
index f75caa5b4..3768df3d4 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	:= 22d585f6d46f4e4d977a809076d74526
 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)
@@ -38,12 +38,14 @@ GPSD_PROGS-$(PTXCONF_GPSD_GPSPIPE)	+= gpspipe
 GPSD_PROGS-$(PTXCONF_GPSD_GPSRINEX)	+= gpsrinex
 GPSD_PROGS-$(PTXCONF_GPSD_GPXLOGGER)	+= gpxlogger
 GPSD_PROGS-$(PTXCONF_GPSD_LCDGPS)	+= lcdgps
+
 GPSD_PROGS-$(PTXCONF_GPSD_CGPS)		+= cgps
 GPSD_PROGS-$(PTXCONF_GPSD_GPSMON)	+= gpsmon
 GPSD_PROGS-$(PTXCONF_GPSD_NTPSHMMON)	+= ntpshmmon
 GPSD_PROGS-$(PTXCONF_GPSD_PPSCHECK)	+= ppscheck
 
-GPSD_BUILD_CLIENTS := $(if $(strip $(GPSD_PROGS-y)),yes,no)
+GPSD_BUILD_CLIENTS := $(call ptx/ifdef, PTXCONF_GPSD_GPSDCTL, yes, \
+			$(if $(strip $(GPSD_PROGS-y)), yes, no))
 
 # Python programs
 GPSD_PROGS-$(PTXCONF_GPSD_GEGPS)	+= gegps
@@ -62,7 +64,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 \
@@ -103,9 +104,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) \
@@ -154,12 +155,16 @@ $(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))
 ifdef PTXCONF_GPSD_GPSD
 	@$(call install_copy, gpsd, 0, 0, 0755, -, /usr/sbin/gpsd)
 endif
+ifdef PTXCONF_GPSD_GPSDCTL
+	@$(call install_copy, gpsd, 0, 0, 0755, -, /usr/sbin/gpsdctl)
+endif
 ifdef PTXCONF_GPSD_SYSTEMD_UNIT
 	@$(call install_alternative, gpsd, 0, 0, 644, \
 		/usr/lib/systemd/system/gpsd.service)
@@ -172,14 +177,12 @@ ifdef PTXCONF_GPSD_SYSTEMD_UNIT
 		/usr/lib/systemd/system/gpsd.socket)
 	@$(call install_link, gpsd, ../gpsd.socket, \
 		/usr/lib/systemd/system/sockets.target.wants/gpsd.socket)
-ifdef PTXCONF_GPSD_GPSCTL
 	@$(call install_alternative, gpsd, 0, 0, 644, \
 		/usr/lib/systemd/system/gpsdctl@.service)
 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

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

* Re: [ptxdist] [APPLIED] gpsd: make 'ublox' driver option more recognizable
  2020-07-22  9:53       ` [ptxdist] [PATCH v2 1/3] gpsd: make 'ublox' driver option more recognizable Roland Hieber
  2020-07-22  9:53         ` [ptxdist] [PATCH v2 2/3] gpsd: fix usage of GPSD_DRIVER_NTRIP option Roland Hieber
  2020-07-22  9:53         ` [ptxdist] [PATCH v2 3/3] gpsd: make GPSD_SYSTEMD promptless and fix dependency Roland Hieber
@ 2020-08-03  6:29         ` Michael Olbrich
  2 siblings, 0 replies; 13+ messages in thread
From: Michael Olbrich @ 2020-08-03  6:29 UTC (permalink / raw)
  To: ptxdist; +Cc: Roland Hieber

Thanks, applied as efbaa479410eaef575b602d832882eb21f688e04.

Michael

[sent from post-receive hook]

On Mon, 03 Aug 2020 08:29:54 +0200, Roland Hieber <rhi@pengutronix.de> wrote:
> The configure option itself is named 'ublox', so there is no reason to
> unnecessarily abbreviate the option in the menu and make it harder to
> recognize.
> 
> Signed-off-by: Roland Hieber <rhi@pengutronix.de>
> Message-Id: <20200722095343.16640-1-rhi@pengutronix.de>
> Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
> 
> diff --git a/rules/gpsd.in b/rules/gpsd.in
> index 16b6dcb70a72..6d1db1495f3f 100644
> --- a/rules/gpsd.in
> +++ b/rules/gpsd.in
> @@ -188,10 +188,10 @@ menu "drivers"
>  		bool
>  		prompt "tnt"
>  
> -	config GPSD_DRIVER_UBX
> +	config GPSD_DRIVER_UBLOX
>  		bool
>  		select GPSD_DRIVER_NMEA
> -		prompt "ubx"
> +		prompt "ublox"
>  
>  	config GPSD_DRIVER_EVERMORE
>  		bool
> diff --git a/rules/gpsd.make b/rules/gpsd.make
> index f75caa5b4bbd..6ebd8bd3bca7 100644
> --- a/rules/gpsd.make
> +++ b/rules/gpsd.make
> @@ -121,7 +121,7 @@ GPSD_CONF_OPT	:= \
>  	tnt=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_TNT) \
>  	tripmate=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_TRIPMATE) \
>  	tsip=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_TSIP) \
> -	ublox=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_UBX) \
> +	ublox=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_UBLOX) \
>  	udevdir=/usr/lib/udev \
>  	usb=$(call ptx/yesno, PTXCONF_GPSD_USB) \
>  	xgps=no
> diff --git a/scripts/migrate/migrate_ptx b/scripts/migrate/migrate_ptx
> index 34c9a5ccedf8..1603d634476b 100755
> --- a/scripts/migrate/migrate_ptx
> +++ b/scripts/migrate/migrate_ptx
> @@ -402,3 +402,11 @@ s/^\(\(# \)\?PTXCONF_GST_PLUGINS_\)BAD1_STEREO\>/\1GOOD1_AUDIOFX/
>  # reason : option was renamed
>  #
>  s/^\(\(# \)\?PTXCONF_SQLITE_LOAD_\)EXTENTION/\1EXTENSION/
> +
> +#
> +# from   : ptxdist-2020.07.0
> +# to     : ptxdist-2020.08.0
> +# symbol : GPSD_DRIVER_UBX -> GPSD_DRIVER_UBLOX
> +# reason : options were renamed / merged
> +#
> +s/^\(\(# \)\?PTXCONF_GPSD_DRIVER\)_UBX\>/\1_UBLOX/

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de

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

* Re: [ptxdist] [APPLIED] gpsd: make GPSD_SYSTEMD promptless and fix dependency
  2020-07-22  9:53         ` [ptxdist] [PATCH v2 3/3] gpsd: make GPSD_SYSTEMD promptless and fix dependency Roland Hieber
@ 2020-08-03  6:29           ` Michael Olbrich
  0 siblings, 0 replies; 13+ messages in thread
From: Michael Olbrich @ 2020-08-03  6:29 UTC (permalink / raw)
  To: ptxdist; +Cc: Roland Hieber

Thanks, applied as a31e5d171c346269b6db46e91ead0492a6beb8a0.

Michael

[sent from post-receive hook]

On Mon, 03 Aug 2020 08:29:55 +0200, Roland Hieber <rhi@pengutronix.de> wrote:
> The systemd support code is only a few lines of code and can be compiled
> unconditionally if systemd is available anyway. For that to work,
> systemd must obviously have been installed first.
> 
> Signed-off-by: Roland Hieber <rhi@pengutronix.de>
> Message-Id: <20200722095343.16640-3-rhi@pengutronix.de>
> Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
> 
> diff --git a/rules/gpsd.in b/rules/gpsd.in
> index 6d1db1495f3f..b69570af0f49 100644
> --- a/rules/gpsd.in
> +++ b/rules/gpsd.in
> @@ -14,6 +14,7 @@ menuconfig GPSD
>  	select DBUS_GLIB		if GPSD_DBUS
>  	select PYTHON3			if GPSD_PYTHON
>  	select PYSERIAL3		if GPSD_PYSERIAL
> +	select SYSTEMD			if GPSD_SYSTEMD
>  	prompt "gpsd                          "
>  	help
>  	  gpsd is a daemon that listens to a GPS or Loran receiver
> @@ -31,6 +32,10 @@ config GPSD_NCURSES
>  config GPSD_PYSERIAL
>  	bool
>  
> +config GPSD_SYSTEMD
> +	bool
> +	default INITMETHOD_SYSTEMD
> +
>  comment "time service     ---"
>  
>  config GPSD_OSCILLATOR
> @@ -63,11 +68,6 @@ config GPSD_USB
>  
>  comment "Other options    ---"
>  
> -config GPSD_SYSTEMD
> -	bool
> -	depends on SYSTEMD
> -	prompt "systemd"
> -
>  config GPSD_RECONFIGURE
>  	bool
>  	prompt "enable reconfigure"

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de

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

* Re: [ptxdist] [APPLIED] gpsd: fix usage of GPSD_DRIVER_NTRIP option
  2020-07-22  9:53         ` [ptxdist] [PATCH v2 2/3] gpsd: fix usage of GPSD_DRIVER_NTRIP option Roland Hieber
@ 2020-08-03  6:29           ` Michael Olbrich
  0 siblings, 0 replies; 13+ messages in thread
From: Michael Olbrich @ 2020-08-03  6:29 UTC (permalink / raw)
  To: ptxdist; +Cc: Roland Hieber

Thanks, applied as ba4b88b1037fc0dadd66fe0faa6f2b8eaccb661d.

Michael

[sent from post-receive hook]

On Mon, 03 Aug 2020 08:29:55 +0200, Roland Hieber <rhi@pengutronix.de> wrote:
> Signed-off-by: Roland Hieber <rhi@pengutronix.de>
> Message-Id: <20200722095343.16640-2-rhi@pengutronix.de>
> Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
> 
> diff --git a/rules/gpsd.make b/rules/gpsd.make
> index 6ebd8bd3bca7..7f7e369f3ac1 100644
> --- a/rules/gpsd.make
> +++ b/rules/gpsd.make
> @@ -93,7 +93,7 @@ GPSD_CONF_OPT	:= \
>  	nmea0183=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_NMEA) \
>  	nmea2000=$(call ptx/yesno, PTXCONF_GPSD_DRIVER_NMEA) \
>  	nostrip=yes \
> -	ntrip=$(call ptx/yesno, GPSD_DRIVER_NTRIP) \
> +	ntrip=$(call ptx/yesno, PTXCONF_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) \

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de

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

end of thread, other threads:[~2020-08-03  6:29 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-20 11:51 [ptxdist] [PATCH 1/3] gpsd: merge GPSD_SYSTEMD and GPSD_SYSTEMD_UNIT options Roland Hieber
2020-07-20 11:51 ` [ptxdist] [PATCH 2/3] gpsd: make 'ublox' driver option more recognizable Roland Hieber
2020-07-20 11:51 ` [ptxdist] [PATCH 3/3] gpsd: fix usage of GPSD_DRIVER_NTRIP option Roland Hieber
2020-07-20 12:59 ` [ptxdist] [PATCH 1/3] gpsd: merge GPSD_SYSTEMD and GPSD_SYSTEMD_UNIT options Michael Olbrich
2020-07-20 21:14   ` ladis
2020-07-22  9:51     ` Roland Hieber
2020-07-22  9:53       ` [ptxdist] [PATCH v2 1/3] gpsd: make 'ublox' driver option more recognizable Roland Hieber
2020-07-22  9:53         ` [ptxdist] [PATCH v2 2/3] gpsd: fix usage of GPSD_DRIVER_NTRIP option Roland Hieber
2020-08-03  6:29           ` [ptxdist] [APPLIED] " Michael Olbrich
2020-07-22  9:53         ` [ptxdist] [PATCH v2 3/3] gpsd: make GPSD_SYSTEMD promptless and fix dependency Roland Hieber
2020-08-03  6:29           ` [ptxdist] [APPLIED] " Michael Olbrich
2020-08-03  6:29         ` [ptxdist] [APPLIED] gpsd: make 'ublox' driver option more recognizable Michael Olbrich
2020-08-02 14:43       ` [ptxdist] [PATCH 1/3] gpsd: merge GPSD_SYSTEMD and GPSD_SYSTEMD_UNIT options ladis

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