diff mbox series

package/linuxptp: make initscript options configurable

Message ID 20200306101950.23219-1-michael@walle.cc
State Superseded
Headers show
Series package/linuxptp: make initscript options configurable | expand

Commit Message

Michael Walle March 6, 2020, 10:19 a.m. UTC
Let the user supply its own options in /etc/default/linuxptp.
Additionally, let the user decide if he wants to start php2sys.

Signed-off-by: Michael Walle <michael@walle.cc>
---

It might be better to have an own php2sys initscript. I'm not sure.
Thoughts?

 package/linuxptp/S65linuxptp | 30 +++++++++++++++++++++---------
 1 file changed, 21 insertions(+), 9 deletions(-)

Comments

Heiko Thiery March 6, 2020, 10:27 a.m. UTC | #1
Hi,

Am Fr., 6. März 2020 um 11:19 Uhr schrieb Michael Walle <michael@walle.cc>:
>
> Let the user supply its own options in /etc/default/linuxptp.
> Additionally, let the user decide if he wants to start php2sys.
>
> Signed-off-by: Michael Walle <michael@walle.cc>
> ---
>
> It might be better to have an own php2sys initscript. I'm not sure.
> Thoughts?

I think 2 (ptp4l and phc2sys) scripts like done e.g. in debian would be better.

>
>  package/linuxptp/S65linuxptp | 30 +++++++++++++++++++++---------
>  1 file changed, 21 insertions(+), 9 deletions(-)
>
> diff --git a/package/linuxptp/S65linuxptp b/package/linuxptp/S65linuxptp
> index 46b8921fdd..5f296a4651 100644
> --- a/package/linuxptp/S65linuxptp
> +++ b/package/linuxptp/S65linuxptp
> @@ -3,23 +3,35 @@
>  # Start linuxptp
>  #
>
> +# defaults
> +PTP4L_OPTS="-f /etc/linuxptp.cfg"
> +PHC2SYS_ENABLE="true"
> +PHC2SYS_OPTS="-s eth0 -c CLOCK_REALTIME -w -S 1.0"
> +
> +# Read configuration variable file if it is present
> +[ -r /etc/default/linuxptp ] && . /etc/default/linuxptp
> +
>  start() {
>         printf "Starting linuxptp daemon: "
>         start-stop-daemon -S -b -q -p /var/run/linuxptp-ptp4l.pid \
> -               -x /usr/sbin/ptp4l -- -f /etc/linuxptp.cfg
> +               -x /usr/sbin/ptp4l -- ${PTP4L_OPTS}
>         [ $? = 0 ] && echo "OK" || echo "FAIL"
>
> -       printf "Starting linuxptp system clock synchronization: "
> -       start-stop-daemon -S -b -q -p /var/run/linuxptp-phc2sys.pid \
> -               -x /usr/sbin/phc2sys -- -s eth0 -c CLOCK_REALTIME -w -S 1.0
> -       [ $? = 0 ] && echo "OK" || echo "FAIL"
> +       if [ "${PHC2SYS_ENABLE}" = "true" ]; then
> +               printf "Starting linuxptp system clock synchronization: "
> +               start-stop-daemon -S -b -q -p /var/run/linuxptp-phc2sys.pid \
> +                       -x /usr/sbin/phc2sys -- ${PHC2SYS_OPTS}
> +               [ $? = 0 ] && echo "OK" || echo "FAIL"
> +       fi
>  }
>
>  stop() {
> -       printf "Stopping linuxptp system clock synchronization: "
> -       start-stop-daemon -K -q -p /var/run/linuxptp-phc2sys.pid \
> -               -x /usr/sbin/phc2sys
> -       echo "OK"
> +       if [ "${PHC2SYS_ENABLE}" = "true" ]; then
> +               printf "Stopping linuxptp system clock synchronization: "
> +               start-stop-daemon -K -q -p /var/run/linuxptp-phc2sys.pid \
> +                       -x /usr/sbin/phc2sys
> +               echo "OK"
> +       fi
>
>         printf "Stopping linuxptp daemon: "
>         start-stop-daemon -K -q -p /var/run/linuxptp-ptp4l.pid \
> --
> 2.20.1
>

Heiko
Carlos Santos March 6, 2020, 11:40 a.m. UTC | #2
On Fri, Mar 6, 2020 at 7:20 AM Michael Walle <michael@walle.cc> wrote:
>
> Let the user supply its own options in /etc/default/linuxptp.
> Additionally, let the user decide if he wants to start php2sys.
>
> Signed-off-by: Michael Walle <michael@walle.cc>
> ---
>
> It might be better to have an own php2sys initscript. I'm not sure.
> Thoughts?
>
>  package/linuxptp/S65linuxptp | 30 +++++++++++++++++++++---------
>  1 file changed, 21 insertions(+), 9 deletions(-)
>
> diff --git a/package/linuxptp/S65linuxptp b/package/linuxptp/S65linuxptp
> index 46b8921fdd..5f296a4651 100644
> --- a/package/linuxptp/S65linuxptp
> +++ b/package/linuxptp/S65linuxptp
> @@ -3,23 +3,35 @@
>  # Start linuxptp
>  #
>
> +# defaults
> +PTP4L_OPTS="-f /etc/linuxptp.cfg"
> +PHC2SYS_ENABLE="true"

This is not required. An "exit" line in /etc/default/linuxptp suffices.

> +PHC2SYS_OPTS="-s eth0 -c CLOCK_REALTIME -w -S 1.0"
> +
> +# Read configuration variable file if it is present
> +[ -r /etc/default/linuxptp ] && . /etc/default/linuxptp
> +
>  start() {
>         printf "Starting linuxptp daemon: "
>         start-stop-daemon -S -b -q -p /var/run/linuxptp-ptp4l.pid \
> -               -x /usr/sbin/ptp4l -- -f /etc/linuxptp.cfg
> +               -x /usr/sbin/ptp4l -- ${PTP4L_OPTS}
>         [ $? = 0 ] && echo "OK" || echo "FAIL"
>
> -       printf "Starting linuxptp system clock synchronization: "
> -       start-stop-daemon -S -b -q -p /var/run/linuxptp-phc2sys.pid \
> -               -x /usr/sbin/phc2sys -- -s eth0 -c CLOCK_REALTIME -w -S 1.0
> -       [ $? = 0 ] && echo "OK" || echo "FAIL"
> +       if [ "${PHC2SYS_ENABLE}" = "true" ]; then
> +               printf "Starting linuxptp system clock synchronization: "
> +               start-stop-daemon -S -b -q -p /var/run/linuxptp-phc2sys.pid \
> +                       -x /usr/sbin/phc2sys -- ${PHC2SYS_OPTS}
> +               [ $? = 0 ] && echo "OK" || echo "FAIL"
> +       fi
>  }
>
>  stop() {
> -       printf "Stopping linuxptp system clock synchronization: "
> -       start-stop-daemon -K -q -p /var/run/linuxptp-phc2sys.pid \
> -               -x /usr/sbin/phc2sys
> -       echo "OK"
> +       if [ "${PHC2SYS_ENABLE}" = "true" ]; then
> +               printf "Stopping linuxptp system clock synchronization: "
> +               start-stop-daemon -K -q -p /var/run/linuxptp-phc2sys.pid \
> +                       -x /usr/sbin/phc2sys
> +               echo "OK"
> +       fi
>
>         printf "Stopping linuxptp daemon: "
>         start-stop-daemon -K -q -p /var/run/linuxptp-ptp4l.pid \
> --
> 2.20.1
>
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Carlos Santos March 6, 2020, 11:46 a.m. UTC | #3
On Fri, Mar 6, 2020 at 7:27 AM Heiko Thiery <heiko.thiery@gmail.com> wrote:
>
> Hi,
>
> Am Fr., 6. März 2020 um 11:19 Uhr schrieb Michael Walle <michael@walle.cc>:
> >
> > Let the user supply its own options in /etc/default/linuxptp.
> > Additionally, let the user decide if he wants to start php2sys.
> >
> > Signed-off-by: Michael Walle <michael@walle.cc>
> > ---
> >
> > It might be better to have an own php2sys initscript. I'm not sure.
> > Thoughts?
>
> I think 2 (ptp4l and phc2sys) scripts like done e.g. in debian would be better.

I agree. It can be split in S65linuxptp and S66linuxptp-phc2sys. Just
remember to source /etc/default/linuxptp in both scripts or to support
 a separate defaults file for linuxptp-phc2sys.
Michael Walle March 6, 2020, 11:53 a.m. UTC | #4
Am 2020-03-06 12:40, schrieb Carlos Santos:
> On Fri, Mar 6, 2020 at 7:20 AM Michael Walle <michael@walle.cc> wrote:
>> 
>> Let the user supply its own options in /etc/default/linuxptp.
>> Additionally, let the user decide if he wants to start php2sys.
>> 
>> Signed-off-by: Michael Walle <michael@walle.cc>
>> ---
>> 
>> It might be better to have an own php2sys initscript. I'm not sure.
>> Thoughts?
>> 
>>  package/linuxptp/S65linuxptp | 30 +++++++++++++++++++++---------
>>  1 file changed, 21 insertions(+), 9 deletions(-)
>> 
>> diff --git a/package/linuxptp/S65linuxptp 
>> b/package/linuxptp/S65linuxptp
>> index 46b8921fdd..5f296a4651 100644
>> --- a/package/linuxptp/S65linuxptp
>> +++ b/package/linuxptp/S65linuxptp
>> @@ -3,23 +3,35 @@
>>  # Start linuxptp
>>  #
>> 
>> +# defaults
>> +PTP4L_OPTS="-f /etc/linuxptp.cfg"
>> +PHC2SYS_ENABLE="true"
> 
> This is not required. An "exit" line in /etc/default/linuxptp suffices.

Please note that this is about the phc2sys, it will still start the
ptp4l daemon. That being said.. I find it not really intuitive to have
a control flow statement in a "configration" file.

BTW. Heiko just found out that the pid file creating isnt working and
that killing the daemon doesn't work neither.

-michael

> 
>> +PHC2SYS_OPTS="-s eth0 -c CLOCK_REALTIME -w -S 1.0"
>> +
>> +# Read configuration variable file if it is present
>> +[ -r /etc/default/linuxptp ] && . /etc/default/linuxptp
>> +
>>  start() {
>>         printf "Starting linuxptp daemon: "
>>         start-stop-daemon -S -b -q -p /var/run/linuxptp-ptp4l.pid \
>> -               -x /usr/sbin/ptp4l -- -f /etc/linuxptp.cfg
>> +               -x /usr/sbin/ptp4l -- ${PTP4L_OPTS}
>>         [ $? = 0 ] && echo "OK" || echo "FAIL"
>> 
>> -       printf "Starting linuxptp system clock synchronization: "
>> -       start-stop-daemon -S -b -q -p /var/run/linuxptp-phc2sys.pid \
>> -               -x /usr/sbin/phc2sys -- -s eth0 -c CLOCK_REALTIME -w 
>> -S 1.0
>> -       [ $? = 0 ] && echo "OK" || echo "FAIL"
>> +       if [ "${PHC2SYS_ENABLE}" = "true" ]; then
>> +               printf "Starting linuxptp system clock 
>> synchronization: "
>> +               start-stop-daemon -S -b -q -p 
>> /var/run/linuxptp-phc2sys.pid \
>> +                       -x /usr/sbin/phc2sys -- ${PHC2SYS_OPTS}
>> +               [ $? = 0 ] && echo "OK" || echo "FAIL"
>> +       fi
>>  }
>> 
>>  stop() {
>> -       printf "Stopping linuxptp system clock synchronization: "
>> -       start-stop-daemon -K -q -p /var/run/linuxptp-phc2sys.pid \
>> -               -x /usr/sbin/phc2sys
>> -       echo "OK"
>> +       if [ "${PHC2SYS_ENABLE}" = "true" ]; then
>> +               printf "Stopping linuxptp system clock 
>> synchronization: "
>> +               start-stop-daemon -K -q -p 
>> /var/run/linuxptp-phc2sys.pid \
>> +                       -x /usr/sbin/phc2sys
>> +               echo "OK"
>> +       fi
>> 
>>         printf "Stopping linuxptp daemon: "
>>         start-stop-daemon -K -q -p /var/run/linuxptp-ptp4l.pid \
>> --
>> 2.20.1
>> 
>> _______________________________________________
>> buildroot mailing list
>> buildroot@busybox.net
>> http://lists.busybox.net/mailman/listinfo/buildroot
Heiko Thiery March 6, 2020, 11:54 a.m. UTC | #5
Hi Carlos, Michael and all,

Am Fr., 6. März 2020 um 12:46 Uhr schrieb Carlos Santos <unixmania@gmail.com>:
>
> On Fri, Mar 6, 2020 at 7:27 AM Heiko Thiery <heiko.thiery@gmail.com> wrote:
> >
> > Hi,
> >
> > Am Fr., 6. März 2020 um 11:19 Uhr schrieb Michael Walle <michael@walle.cc>:
> > >
> > > Let the user supply its own options in /etc/default/linuxptp.
> > > Additionally, let the user decide if he wants to start php2sys.
> > >
> > > Signed-off-by: Michael Walle <michael@walle.cc>
> > > ---
> > >
> > > It might be better to have an own php2sys initscript. I'm not sure.
> > > Thoughts?
> >
> > I think 2 (ptp4l and phc2sys) scripts like done e.g. in debian would be better.
>
> I agree. It can be split in S65linuxptp and S66linuxptp-phc2sys. Just
> remember to source /etc/default/linuxptp in both scripts or to support
>  a separate defaults file for linuxptp-phc2sys.

I would suggest to create two scripts (S65ptp4l and S66phc2sys) and
create support for the defaults of them (/etc/defaults/ptp4l and
/etc/defaults/phc2sys).

> --
> Carlos Santos <unixmania@gmail.com>

--
Heiko
diff mbox series

Patch

diff --git a/package/linuxptp/S65linuxptp b/package/linuxptp/S65linuxptp
index 46b8921fdd..5f296a4651 100644
--- a/package/linuxptp/S65linuxptp
+++ b/package/linuxptp/S65linuxptp
@@ -3,23 +3,35 @@ 
 # Start linuxptp
 #
 
+# defaults
+PTP4L_OPTS="-f /etc/linuxptp.cfg"
+PHC2SYS_ENABLE="true"
+PHC2SYS_OPTS="-s eth0 -c CLOCK_REALTIME -w -S 1.0"
+
+# Read configuration variable file if it is present
+[ -r /etc/default/linuxptp ] && . /etc/default/linuxptp
+
 start() {
 	printf "Starting linuxptp daemon: "
 	start-stop-daemon -S -b -q -p /var/run/linuxptp-ptp4l.pid \
-		-x /usr/sbin/ptp4l -- -f /etc/linuxptp.cfg
+		-x /usr/sbin/ptp4l -- ${PTP4L_OPTS}
 	[ $? = 0 ] && echo "OK" || echo "FAIL"
 
-	printf "Starting linuxptp system clock synchronization: "
-	start-stop-daemon -S -b -q -p /var/run/linuxptp-phc2sys.pid \
-		-x /usr/sbin/phc2sys -- -s eth0 -c CLOCK_REALTIME -w -S 1.0
-	[ $? = 0 ] && echo "OK" || echo "FAIL"
+	if [ "${PHC2SYS_ENABLE}" = "true" ]; then
+		printf "Starting linuxptp system clock synchronization: "
+		start-stop-daemon -S -b -q -p /var/run/linuxptp-phc2sys.pid \
+			-x /usr/sbin/phc2sys -- ${PHC2SYS_OPTS}
+		[ $? = 0 ] && echo "OK" || echo "FAIL"
+	fi
 }
 
 stop() {
-	printf "Stopping linuxptp system clock synchronization: "
-	start-stop-daemon -K -q -p /var/run/linuxptp-phc2sys.pid \
-		-x /usr/sbin/phc2sys
-	echo "OK"
+	if [ "${PHC2SYS_ENABLE}" = "true" ]; then
+		printf "Stopping linuxptp system clock synchronization: "
+		start-stop-daemon -K -q -p /var/run/linuxptp-phc2sys.pid \
+			-x /usr/sbin/phc2sys
+		echo "OK"
+	fi
 
 	printf "Stopping linuxptp daemon: "
 	start-stop-daemon -K -q -p /var/run/linuxptp-ptp4l.pid \