From: "Diego Sueiro" <diego.sueiro@arm.com>
To: openembedded-core@lists.openembedded.org
Subject: Re: [V2][PATCH] kea: add init scripts
Date: Thu, 15 Oct 2020 02:08:35 -0700 [thread overview]
Message-ID: <4831.1602752915966532881@lists.openembedded.org> (raw)
In-Reply-To: <20201015054831.24685-1-akuster808@gmail.com>
On Thu, Oct 15, 2020 at 06:48 AM, akuster wrote:
>
> [ Yocto # 14074 ]
>
> Add init scripts for dhcp4,6 and ddns
>
> Signed-off-by: Armin kuster <akuster808@gmail.com>
>
> --
> V2]
>
> remove 'status' from usage
> add patch to fix ps -p in keactrl.in
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
> ---
> .../kea/files/fix_pid_keactrl.patch | 22 +++++++++
> .../kea/files/kea-dhcp-ddns-server | 46 ++++++++++++++++++
> .../kea/files/kea-dhcp4-server | 46 ++++++++++++++++++
> .../kea/files/kea-dhcp6-server | 47 +++++++++++++++++++
> meta/recipes-connectivity/kea/kea_1.7.10.bb | 14 +++++-
> 5 files changed, 174 insertions(+), 1 deletion(-)
> create mode 100644 meta/recipes-connectivity/kea/files/fix_pid_keactrl.patch
> create mode 100644 meta/recipes-connectivity/kea/files/kea-dhcp-ddns-server
> create mode 100644 meta/recipes-connectivity/kea/files/kea-dhcp4-server
> create mode 100644 meta/recipes-connectivity/kea/files/kea-dhcp6-server
>
> diff --git a/meta/recipes-connectivity/kea/files/fix_pid_keactrl.patch
> b/meta/recipes-connectivity/kea/files/fix_pid_keactrl.patch
> new file mode 100644
> index 00000000000..eeeb89942bd
> --- /dev/null
> +++ b/meta/recipes-connectivity/kea/files/fix_pid_keactrl.patch
> @@ -0,0 +1,22 @@
> +Busybox does not support ps -p so use pgrep
> +
> +Upstream-Status: Inappropriate [embedded specific]
> +Based on changes from Diego Sueiro <Diego.Sueiro@arm.com>
> +
> +Signed-off-by: Armin kuster <akuster808@gmail.com>
> +
> +Index: kea-1.7.10/src/bin/keactrl/keactrl.in
> +===================================================================
> +--- kea-1.7.10.orig/src/bin/keactrl/keactrl.in
> ++++ kea-1.7.10/src/bin/keactrl/keactrl.in
> +@@ -137,8 +137,8 @@ check_running() {
> + # Get the PID from the PID file (if it exists)
> + get_pid_from_file "${proc_name}"
> + if [ ${_pid} -gt 0 ]; then
> +- # Use ps to check if PID is alive
> +- ps -p ${_pid} 1>/dev/null
> ++ # Use pgrep and grep to check if PID is alive
> ++ pgrep -v 1 | grep ${_pid} 1>/dev/null
> + retcode=$?
> + if [ $retcode -eq 0 ]; then
> + # No error, so PID IS ALIVE
> diff --git a/meta/recipes-connectivity/kea/files/kea-dhcp-ddns-server
> b/meta/recipes-connectivity/kea/files/kea-dhcp-ddns-server
> new file mode 100644
> index 00000000000..50fe40d4391
> --- /dev/null
> +++ b/meta/recipes-connectivity/kea/files/kea-dhcp-ddns-server
> @@ -0,0 +1,46 @@
> +#!/bin/sh
> +### BEGIN INIT INFO
> +# Provides: kea-dhcp-ddns-server
> +# Required-Start: $local_fs $network $remote_fs $syslog
> +# Required-Stop: $local_fs $network $remote_fs $syslog
> +# Default-Start: 2 3 4 5
> +# Default-Stop: 0 1 6
> +# Short-Description: ISC KEA DHCP IPv6 Server
> +### END INIT INFO
> +
> +PATH=/sbin:/usr/sbin:/bin:/usr/bin
> +DESC="kea-dhcp-ddns-server"
> +NAME=kea-dhcp-ddns
> +DAEMON=/usr/sbin/keactrl
> +DAEMON_ARGS=" -s dhcp_ddns"
> +
> +set -e
> +
> +# Exit if the package is not installed
> +[ -x "$DAEMON" ] || exit 0
> +
> +# Source function library.
> +. /etc/init.d/functions
> +
> +case "$1" in
> + start)
> + echo -n "Starting $DESC: "
> + start-stop-daemon -S -b -n $NAME -x $DAEMON -- start $DAEMON_ARGS
> + echo "done."
> + ;;
> + stop)
> + echo -n "Stopping $DESC: "
> + kpid=`pidof $NAME`
> + kill $kpid
> + echo "done."
> + ;;
> + restart|force-reload)
> + #
> + $0 stop
> + $0 start
> + ;;
> + *)
> + echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
> + exit 1
> + ;;
> +esac
> diff --git a/meta/recipes-connectivity/kea/files/kea-dhcp4-server
> b/meta/recipes-connectivity/kea/files/kea-dhcp4-server
> new file mode 100644
> index 00000000000..e83e51025d5
> --- /dev/null
> +++ b/meta/recipes-connectivity/kea/files/kea-dhcp4-server
> @@ -0,0 +1,46 @@
> +#!/bin/sh
> +### BEGIN INIT INFO
> +# Provides: kea-dhcp4-server
> +# Required-Start: $local_fs $network $remote_fs $syslog
> +# Required-Stop: $local_fs $network $remote_fs $syslog
> +# Default-Start: 2 3 4 5
> +# Default-Stop: 0 1 6
> +# Short-Description: ISC KEA DHCP IPv6 Server
> +### END INIT INFO
> +
> +PATH=/sbin:/usr/sbin:/bin:/usr/bin
> +DESC="kea-dhcp4-server"
> +NAME=kea-dhcp4
> +DAEMON=/usr/sbin/keactrl
> +DAEMON_ARGS=" -s dhcp4"
> +
> +set -e
> +
> +# Exit if the package is not installed
> +[ -x "$DAEMON" ] || exit 0
> +
> +# Source function library.
> +. /etc/init.d/functions
> +
> +case "$1" in
> + start)
> + echo -n "Starting $DESC: "
> + start-stop-daemon -S -b -n $NAME -x $DAEMON -- start $DAEMON_ARGS
> + echo "done."
> + ;;
> + stop)
> + echo -n "Stopping $DESC: "
> + kpid=`pidof $NAME`
> + kill $kpid
> + echo "done."
> + ;;
> + restart|force-reload)
> + #
> + $0 stop
> + $0 start
> + ;;
> + *)
> + echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
> + exit 1
> + ;;
> +esac
> diff --git a/meta/recipes-connectivity/kea/files/kea-dhcp6-server
> b/meta/recipes-connectivity/kea/files/kea-dhcp6-server
> new file mode 100644
> index 00000000000..10f2d226412
> --- /dev/null
> +++ b/meta/recipes-connectivity/kea/files/kea-dhcp6-server
> @@ -0,0 +1,47 @@
> +#!/bin/sh
> +### BEGIN INIT INFO
> +# Provides: kea-dhcp6-server
> +# Required-Start: $local_fs $network $remote_fs $syslog
> +# Required-Stop: $local_fs $network $remote_fs $syslog
> +# Default-Start: 2 3 4 5
> +# Default-Stop: 0 1 6
> +# Short-Description: ISC KEA DHCP IPv6 Server
> +### END INIT INFO
> +
> +# PATH should only include /usr/* if it runs after the mountnfs.sh script
> +PATH=/sbin:/usr/sbin:/bin:/usr/bin
> +DESC="kea-dhcp6-server"
> +NAME=kea-dhcp6
> +DAEMON=/usr/sbin/keactrl
> +DAEMON_ARGS=" -s dhcp6"
> +
> +set -e
> +
> +# Exit if the package is not installed
> +[ -x "$DAEMON" ] || exit 0
> +
> +# Source function library.
> +. /etc/init.d/functions
> +
> +case "$1" in
> + start)
> + echo -n "Starting $DESC: "
> + start-stop-daemon -S -b -n $NAME -x $DAEMON -- start $DAEMON_ARGS
> + echo "done."
> + ;;
> + stop)
> + echo -n "Stopping $DESC: "
> + kpid=`pidof $NAME`
> + kill $kpid
> + echo "done."
> + ;;
> + restart|force-reload)
> + #
> + $0 stop
> + $0 start
> + ;;
> + *)
> + echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
> + exit 1
> + ;;
> +esac
> diff --git a/meta/recipes-connectivity/kea/kea_1.7.10.bb
> b/meta/recipes-connectivity/kea/kea_1.7.10.bb
> index 2ea4b12758e..c9a5819e475 100644
> --- a/meta/recipes-connectivity/kea/kea_1.7.10.bb
> +++ b/meta/recipes-connectivity/kea/kea_1.7.10.bb
> @@ -13,11 +13,18 @@ SRC_URI = "\
> file://kea-dhcp4.service \
> file://kea-dhcp6.service \
> file://kea-dhcp-ddns.service \
> + file://kea-dhcp4-server \
> + file://kea-dhcp6-server \
> + file://kea-dhcp-ddns-server \
> file://fix-multilib-conflict.patch \
> + file://fix_pid_keactrl.patch \
> "
> SRC_URI[sha256sum] =
> "4e121f0e58b175a827581c69cb1d60778647049fa47f142940dddc9ce58f3c82"
>
> -inherit autotools systemd
> +inherit autotools systemd update-rc.d
> +
> +INITSCRIPT_NAME = "kea-dhcp4-server"
> +INITSCRIPT_PARAMS = "defaults 30"
>
> SYSTEMD_SERVICE_${PN} = "kea-dhcp4.service kea-dhcp6.service
> kea-dhcp-ddns.service"
> SYSTEMD_AUTO_ENABLE = "disable"
> @@ -44,8 +51,11 @@ do_configure_prepend() {
> }
>
> do_install_append() {
> + install -d ${D}${sysconfdir}/init.d
> install -d ${D}${systemd_system_unitdir}
> +
> install -m 0644 ${WORKDIR}/kea-dhcp*service ${D}${systemd_system_unitdir}
> + install -m 0755 ${WORKDIR}/kea-*-server ${D}${sysconfdir}/init.d
> sed -i -e 's,@SBINDIR@,${sbindir},g' -e
> 's,@BASE_BINDIR@,${base_bindir},g' \
> -e 's,@LOCALSTATEDIR@,${localstatedir},g' -e
> 's,@SYSCONFDIR@,${sysconfdir},g' \
> ${D}${systemd_system_unitdir}/kea-dhcp*service
> ${D}${sbindir}/keactrl
> @@ -55,6 +65,8 @@ do_install_append() {
> rm -rf "${D}${localstatedir}"
> }
>
> +CONFFILES_${PN} = "${sysconfdir}/kea/keactrl.conf"
> +
> FILES_${PN}-staticdev += "${libdir}/kea/hooks/*.a ${libdir}/hooks/*.a"
> FILES_${PN} += "${libdir}/hooks/*.so"
>
> --
> 2.17.1
>
>
next prev parent reply other threads:[~2020-10-15 9:08 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-15 5:48 [V2][PATCH] kea: add init scripts akuster
2020-10-15 9:08 ` Diego Sueiro [this message]
-- strict thread matches above, loose matches on Subject: below --
2020-10-15 5:47 akuster
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4831.1602752915966532881@lists.openembedded.org \
--to=diego.sueiro@arm.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox