On Mon, Aug 03, 2020 at 11:36:55AM +0200, Ladislav Michl wrote:
> On Mon, Aug 03, 2020 at 11:03:19AM +0200, Michael Olbrich wrote:
> > On Mon, Aug 03, 2020 at 10:35:52AM +0200, Ladislav Michl wrote:
> > > On Mon, Aug 03, 2020 at 08:36:06AM +0200, Michael Olbrich wrote:
> > > > On Sun, Aug 02, 2020 at 07:46:09PM +0200, Ladislav Michl wrote:
> > > > > [email protected] is supposed to call gpsdctl which is not installed
> > > > > at all. Also fix gpsctl vs gpsdctl confusion.
> > > > > 
> > > > > Signed-off-by: Ladislav Michl <[email protected]>
> > > > > ---
> > > > >  projectroot/usr/lib/systemd/system/[email protected] | 4 ++--
> > > > >  rules/gpsd.in                                       | 9 +++++++++
> > > > >  rules/gpsd.make                                     | 8 +++++---
> > > > >  3 files changed, 16 insertions(+), 5 deletions(-)
> > > > > 
> > > > > diff --git a/projectroot/usr/lib/systemd/system/[email protected] 
> > > > > b/projectroot/usr/lib/systemd/system/[email protected]
> > > > > index 24d291408..6266fd8b8 100644
> > > > > --- a/projectroot/usr/lib/systemd/system/[email protected]
> > > > > +++ b/projectroot/usr/lib/systemd/system/[email protected]
> > > > > @@ -8,5 +8,5 @@ After=dev-%i.device
> > > > >  Type=oneshot
> > > > >  Environment="GPSD_SOCKET=/var/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 b69570af0..b69accac3 100644
> > > > > --- a/rules/gpsd.in
> > > > > +++ b/rules/gpsd.in
> > > > > @@ -260,10 +260,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 commands to an instance 
> > > > > of
> > > > > +               gpsd 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 7f7e369f3..48bb643bc 100644
> > > > > --- a/rules/gpsd.make
> > > > > +++ b/rules/gpsd.make
> > > > > @@ -43,7 +43,8 @@ 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
> > > > > @@ -160,6 +161,9 @@ $(STATEDIR)/gpsd.targetinstall:
> > > > >  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,11 +176,9 @@ 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
> > > > 
> > > > So, I don't know a lot about gpsd. So I need some clarification here.
> > > > 
> > > > There is a gpsd.service and the [email protected] template. What do they 
> > > > do?
> > > > Does gpsd.service do anything useful without [email protected]?
> > > 
> > > gpsd.service just starts gpsd as a daemon on a device passed as its
> > > argument (GPSD_GPSD_ARGS). But GPS receiver could be hotplugged as well
> > > and that's when [email protected] comes to action.
> > 
> > So with a static setup [email protected] and gpsdctl are not needed, right?
> 
> Yes.
> 
> > > > If yes then we should probably install [email protected] separately and 
> > > > not
> > > > add the 'select GPSD_GPSDCTL' dependency above.
> > > 
> > > As [email protected] calls gpsdctl, which is installed once GPSD_GPSDCTL
> > > selected, that dependency is needed.
> > 
> > Or 'ifdef PTXCONF_GPSD_GPSDCTL' to install [email protected] only if gpsdctl
> > is actually installed.
> > 
> > This way we can either run a gpsd.service without gpsdctl at all or use the
> > two together.
> 
> Something like this?
> 
> --- >8 ---
> 
> From: Ladislav Michl <[email protected]>
> Subject: [PATCH v2] gpsd: fix [email protected]
> 
> [email protected] is supposed to call gpsdctl which is not installed
> at all. Also fix gpsctl vs gpsdctl confusion.
> 
> Signed-off-by: Ladislav Michl <[email protected]>
> ---
>  projectroot/usr/lib/systemd/system/[email protected] | 4 ++--
>  rules/gpsd.in                                       | 8 ++++++++
>  rules/gpsd.make                                     | 8 ++++++--
>  3 files changed, 16 insertions(+), 4 deletions(-)
> 
> diff --git a/projectroot/usr/lib/systemd/system/[email protected] 
> b/projectroot/usr/lib/systemd/system/[email protected]
> index 24d291408..6266fd8b8 100644
> --- a/projectroot/usr/lib/systemd/system/[email protected]
> +++ b/projectroot/usr/lib/systemd/system/[email protected]
> @@ -8,5 +8,5 @@ After=dev-%i.device
>  Type=oneshot
>  Environment="GPSD_SOCKET=/var/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 b69570af0..eb85305dc 100644
> --- a/rules/gpsd.in
> +++ b/rules/gpsd.in
> @@ -260,6 +260,14 @@ 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"

Small typo here (gpdsctl)

> +             help
> +               gpdsctl is a tool for sending commands to an instance of

and here, these were also in the [PATCH] v1 already :)

 - Roland

> +               gpsd over its control socket to add or remove devices from
> +               the daemon's device list.
> +
>       config GPSD_SYSTEMD_UNIT
>               bool
>               default y
> diff --git a/rules/gpsd.make b/rules/gpsd.make
> index 7f7e369f3..a6739e37e 100644
> --- a/rules/gpsd.make
> +++ b/rules/gpsd.make
> @@ -43,7 +43,8 @@ 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
> @@ -160,6 +161,9 @@ $(STATEDIR)/gpsd.targetinstall:
>  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,7 +176,7 @@ 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
> +ifdef PTXCONF_GPSD_GPSDCTL
>       @$(call install_alternative, gpsd, 0, 0, 644, \
>               /usr/lib/systemd/system/[email protected])
>  endif
> -- 
> 2.28.0
> 
> 
> _______________________________________________
> ptxdist mailing list
> [email protected]
> To unsubscribe, send a mail with subject "unsubscribe" to 
> [email protected]
> 

-- 
Roland Hieber, Pengutronix e.K.          | [email protected]     |
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
[email protected]
To unsubscribe, send a mail with subject "unsubscribe" to 
[email protected]

Reply via email to