[OE-core] [PATCH][v5] watchdog: enable systemd support

Huang, Jie (Jackie) Jackie.Huang at windriver.com
Tue Sep 20 00:51:57 UTC 2016


Ping.

> -----Original Message-----
> From: openembedded-core-bounces at lists.openembedded.org [mailto:openembedded-core-
> bounces at lists.openembedded.org] On Behalf Of jackie.huang at windriver.com
> Sent: Monday, September 12, 2016 1:01 PM
> To: openembedded-core at lists.openembedded.org
> Subject: [OE-core] [PATCH][v5] watchdog: enable systemd support
> 
> From: Roy Li <rongqing.li at windriver.com>
> 
> 1. inherit systemd, and add two unit files which are from Fedora 23
> 2. auto load soft dog kernel module
> 
> Signed-off-by: Roy Li <rongqing.li at windriver.com>
> Signed-off-by: Robert Yang <liezhi.yang at windriver.com>
> Signed-off-by: Jackie Huang <jackie.huang at windriver.com>
> ---
>  .../watchdog/watchdog/watchdog-ping.service           | 11 +++++++++++
>  .../watchdog/watchdog/watchdog.service                | 11 +++++++++++
>  meta/recipes-extended/watchdog/watchdog_5.15.bb       | 19 +++++++++++++++++--
>  3 files changed, 39 insertions(+), 2 deletions(-)
>  create mode 100644 meta/recipes-extended/watchdog/watchdog/watchdog-ping.service
>  create mode 100644 meta/recipes-extended/watchdog/watchdog/watchdog.service
> 
> diff --git a/meta/recipes-extended/watchdog/watchdog/watchdog-ping.service b/meta/recipes-
> extended/watchdog/watchdog/watchdog-ping.service
> new file mode 100644
> index 0000000..44bac9d
> --- /dev/null
> +++ b/meta/recipes-extended/watchdog/watchdog/watchdog-ping.service
> @@ -0,0 +1,11 @@
> +[Unit]
> +Description=watchdog daemon for use with ping test / network dependency
> +After=network.target
> +Conflicts=watchdog.service
> +
> +[Service]
> +Type=forking
> +ExecStart=@SBINDIR@/watchdog
> +
> +[Install]
> +WantedBy=multi-user.target
> diff --git a/meta/recipes-extended/watchdog/watchdog/watchdog.service b/meta/recipes-
> extended/watchdog/watchdog/watchdog.service
> new file mode 100644
> index 0000000..c5faa4e
> --- /dev/null
> +++ b/meta/recipes-extended/watchdog/watchdog/watchdog.service
> @@ -0,0 +1,11 @@
> +[Unit]
> +Description=watchdog daemon
> +# man systemd.special
> +# auto added After=basic.target
> +
> +[Service]
> +Type=forking
> +ExecStart=@SBINDIR@/watchdog
> +
> +[Install]
> +WantedBy=multi-user.target
> diff --git a/meta/recipes-extended/watchdog/watchdog_5.15.bb b/meta/recipes-
> extended/watchdog/watchdog_5.15.bb
> index cedfc04..826e31f 100644
> --- a/meta/recipes-extended/watchdog/watchdog_5.15.bb
> +++ b/meta/recipes-extended/watchdog/watchdog_5.15.bb
> @@ -13,6 +13,8 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/watchdog/watchdog-${PV}.tar.gz \
>             file://watchdog-init.patch \
>             file://watchdog-conf.patch \
>             file://wd_keepalive.init \
> +           file://watchdog-ping.service \
> +           file://watchdog.service \
>  "
> 
>  SRC_URI[md5sum] = "678c32f6f35a0492c9c1b76b4aa88828"
> @@ -22,7 +24,7 @@ UPSTREAM_CHECK_URI =
> "http://sourceforge.net/projects/watchdog/files/watchdog/"
>  UPSTREAM_CHECK_REGEX = "/watchdog/(?P<pver>(\d+[\.\-_]*)+)/"
> 
>  inherit autotools
> -inherit update-rc.d
> +inherit update-rc.d systemd
> 
>  DEPENDS_append_libc-musl = " libtirpc "
>  CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc "
> @@ -37,16 +39,29 @@ INITSCRIPT_PARAMS_${PN} = "start 15 1 2 3 4 5 . stop 85 0 6 ."
>  INITSCRIPT_NAME_${PN}-keepalive = "wd_keepalive"
>  INITSCRIPT_PARAMS_${PN}-keepalive = "start 15 1 2 3 4 5 . stop 85 0 6 ."
> 
> +SYSTEMD_SERVICE_${PN} = "watchdog.service"
> +
>  do_install_append() {
> -	install -D ${S}/redhat/watchdog.init ${D}/${sysconfdir}/init.d/watchdog.sh
> +    install -D ${S}/redhat/watchdog.init ${D}/${sysconfdir}/init.d/watchdog.sh
>      install -Dm 0755 ${WORKDIR}/wd_keepalive.init ${D}${sysconfdir}/init.d/wd_keepalive
> 
>      # watchdog.conf is provided by the watchdog-config recipe
>      rm ${D}${sysconfdir}/watchdog.conf
> +
> +    install -d ${D}${systemd_system_unitdir}
> +    install -m 0644 ${WORKDIR}/watchdog*.service ${D}${systemd_system_unitdir}
> +
> +    if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
> +        install -d ${D}${sysconfdir}/modules-load.d
> +        echo "softdog" > ${D}${sysconfdir}/modules-load.d/softdog.conf
> +        sed -i -e 's, at SBINDIR@,${sbindir},g' ${D}${systemd_system_unitdir}/*.service
> +    fi
>  }
> 
>  PACKAGES =+ "${PN}-keepalive"
> 
> +FILES_${PN} += "${systemd_system_unitdir}/*"
> +
>  FILES_${PN}-keepalive = " \
>      ${sysconfdir}/init.d/wd_keepalive \
>      ${sbindir}/wd_keepalive \
> --
> 2.8.1
> 
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core



More information about the Openembedded-core mailing list