diff options
Diffstat (limited to 'meta/recipes-extended/watchdog/watchdog')
8 files changed, 366 insertions, 102 deletions
diff --git a/meta/recipes-extended/watchdog/watchdog/0001-Include-linux-param.h-for-EXEC_PAGESIZE-definition.patch b/meta/recipes-extended/watchdog/watchdog/0001-Include-linux-param.h-for-EXEC_PAGESIZE-definition.patch deleted file mode 100644 index 198f198619..0000000000 --- a/meta/recipes-extended/watchdog/watchdog/0001-Include-linux-param.h-for-EXEC_PAGESIZE-definition.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 8f91385dbd5e7c14b36ecbd8a01ca82c709f6d77 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Fri, 24 Jun 2016 18:19:29 +0000 -Subject: [PATCH] Include linux/param.h for EXEC_PAGESIZE definition - -Musl does not include linux/param.h whereas glibc -does, so it fails to build on musl. - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- -Upstream-Status: Submitted - - src/watchdog.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/src/watchdog.c b/src/watchdog.c -index acf6450..486384a 100644 ---- a/src/watchdog.c -+++ b/src/watchdog.c -@@ -26,6 +26,9 @@ - #include <sys/param.h> /* For EXEC_PAGESIZE */ - #include <linux/oom.h> - #include <linux/watchdog.h> -+#ifdef __linux__ -+#include <linux/param.h> -+#endif - #include <string.h> - - #include <libgen.h> --- -1.8.3.1 - diff --git a/meta/recipes-extended/watchdog/watchdog/0001-shutdown-Do-not-guard-sys-quota.h-sys-swap.h-and-sys.patch b/meta/recipes-extended/watchdog/watchdog/0001-shutdown-Do-not-guard-sys-quota.h-sys-swap.h-and-sys.patch new file mode 100644 index 0000000000..8c419e1d11 --- /dev/null +++ b/meta/recipes-extended/watchdog/watchdog/0001-shutdown-Do-not-guard-sys-quota.h-sys-swap.h-and-sys.patch @@ -0,0 +1,37 @@ +From ca1d379fa13c4055d42d2ff3a647b4397768efcd Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 23 Aug 2022 19:23:26 -0700 +Subject: [PATCH] shutdown: Do not guard sys/quota.h sys/swap.h and + sys/reboot.h with __GLIBC__ + +These headers are provided by uclibc/musl/glibc and bionic so we can +assume they are not needed to be glibc specific includes. This also +ensures that we get proper declaration of reboot() API + +Upstream-Status: Submitted [https://sourceforge.net/p/watchdog/patches/12/] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/shutdown.c | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/src/shutdown.c b/src/shutdown.c +index 1d9a857..6aea0d0 100644 +--- a/src/shutdown.c ++++ b/src/shutdown.c +@@ -29,13 +29,9 @@ + #include "extern.h" + #include "ext2_mnt.h" + +-#if defined __GLIBC__ + #include <sys/quota.h> + #include <sys/swap.h> + #include <sys/reboot.h> +-#else /* __GLIBC__ */ +-#include <linux/quota.h> +-#endif /* __GLIBC__ */ + + #include <unistd.h> + +-- +2.37.2 + diff --git a/meta/recipes-extended/watchdog/watchdog/0001-watchdog-remove-interdependencies-of-watchdog-and-wd.patch b/meta/recipes-extended/watchdog/watchdog/0001-watchdog-remove-interdependencies-of-watchdog-and-wd.patch new file mode 100644 index 0000000000..075a98e5e5 --- /dev/null +++ b/meta/recipes-extended/watchdog/watchdog/0001-watchdog-remove-interdependencies-of-watchdog-and-wd.patch @@ -0,0 +1,68 @@ +From c1fe14fa5bd168292cc4670034bc48b954e9dac7 Mon Sep 17 00:00:00 2001 +From: "Maxin B. John" <maxin.john@intel.com> +Date: Tue, 13 Mar 2018 14:49:55 +0200 +Subject: [PATCH] watchdog: remove interdependencies of watchdog and + wd_keepalive services + +Since watchdog and watchdog-keepalive packages can't be installed +together, remove the inter-dependencies of watchdog and wd_keepalive +services + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Maxin B. John <maxin.john@intel.com> +--- + debian/watchdog.service | 9 +++------ + debian/wd_keepalive.service | 10 +++++----- + 2 files changed, 8 insertions(+), 11 deletions(-) + +diff --git a/debian/watchdog.service b/debian/watchdog.service +index 7a2fc36..f31d1fe 100644 +--- a/debian/watchdog.service ++++ b/debian/watchdog.service +@@ -1,16 +1,13 @@ + [Unit] + Description=watchdog daemon +-Conflicts=wd_keepalive.service + After=multi-user.target +-OnFailure=wd_keepalive.service + + [Service] + Type=forking + EnvironmentFile=/etc/default/watchdog + ExecStartPre=/bin/sh -c '[ -z "${watchdog_module}" ] || [ "${watchdog_module}" = "none" ] || /sbin/modprobe $watchdog_module' +-ExecStart=/bin/sh -c '[ $run_watchdog != 1 ] || exec /usr/sbin/watchdog $watchdog_options' +-ExecStopPost=/bin/sh -c '[ $run_wd_keepalive != 1 ] || false' ++ExecStart=/bin/sh -c '[ x$run_watchdog != x1 ] || exec /usr/sbin/watchdog $watchdog_options' ++PIDFile=/run/watchdog.pid + + [Install] +-WantedBy=default.target +- ++WantedBy=multi-user.target +diff --git a/debian/wd_keepalive.service b/debian/wd_keepalive.service +index 45b018e..7f8b1dc 100644 +--- a/debian/wd_keepalive.service ++++ b/debian/wd_keepalive.service +@@ -1,13 +1,13 @@ + [Unit] + Description=watchdog keepalive daemon +-Before=watchdog.service shutdown.target +-Conflicts=watchdog.service shutdown.target ++After=multi-user.target + + [Service] + Type=forking + EnvironmentFile=/etc/default/watchdog + ExecStartPre=/bin/sh -c '[ -z "${watchdog_module}" ] || [ "${watchdog_module}" = "none" ] || /sbin/modprobe $watchdog_module' +-ExecStartPre=-/bin/systemctl reset-failed watchdog.service + ExecStart=/usr/sbin/wd_keepalive $watchdog_options +-ExecStartPost=/bin/sh -c 'ln -s /var/run/wd_keepalive.pid /run/sendsigs.omit.d/wd_keepalive.pid' +-ExecStopPost=/bin/sh -c 'rm -f /run/sendsigs.omit.d/wd_keepalive.pid' ++PIDFile=/var/run/wd_keepalive.pid ++ ++[Install] ++WantedBy=multi-user.target +-- +2.4.0 + diff --git a/meta/recipes-extended/watchdog/watchdog/0001-wd_keepalive.service-use-run-instead-of-var-run.patch b/meta/recipes-extended/watchdog/watchdog/0001-wd_keepalive.service-use-run-instead-of-var-run.patch new file mode 100644 index 0000000000..5c5d2f4e44 --- /dev/null +++ b/meta/recipes-extended/watchdog/watchdog/0001-wd_keepalive.service-use-run-instead-of-var-run.patch @@ -0,0 +1,30 @@ +From b5cb6166dbfa57d1d94b19d4a098991a817f68f5 Mon Sep 17 00:00:00 2001 +From: Chen Qi <Qi.Chen@windriver.com> +Date: Thu, 15 Oct 2020 10:02:17 +0800 +Subject: [PATCH] wd_keepalive.service: use /run instead of /var/run + +/var/run is deprecated by systemd, use /run instead. + +Upstream-Status: Pending + +Signed-off-by: Chen Qi <Qi.Chen@windriver.com> +--- + debian/wd_keepalive.service | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/debian/wd_keepalive.service b/debian/wd_keepalive.service +index 7f8b1dc..0f2a153 100644 +--- a/debian/wd_keepalive.service ++++ b/debian/wd_keepalive.service +@@ -7,7 +7,7 @@ Type=forking + EnvironmentFile=/etc/default/watchdog + ExecStartPre=/bin/sh -c '[ -z "${watchdog_module}" ] || [ "${watchdog_module}" = "none" ] || /sbin/modprobe $watchdog_module' + ExecStart=/usr/sbin/wd_keepalive $watchdog_options +-PIDFile=/var/run/wd_keepalive.pid ++PIDFile=/run/wd_keepalive.pid + + [Install] + WantedBy=multi-user.target +-- +2.17.1 + diff --git a/meta/recipes-extended/watchdog/watchdog/watchdog-conf.patch b/meta/recipes-extended/watchdog/watchdog/watchdog-conf.patch deleted file mode 100644 index e68ad545c3..0000000000 --- a/meta/recipes-extended/watchdog/watchdog/watchdog-conf.patch +++ /dev/null @@ -1,14 +0,0 @@ -Signed-off-by: Diego Rondini <diego.ml@zoho.com> -Upstream-Status: Inappropriate - ---- watchdog-5.13.orig/watchdog.conf 2013-02-01 12:15:44.000000000 +0100 -+++ watchdog-5.13/watchdog.conf 2014-11-13 10:59:43.233943000 +0100 -@@ -20,7 +20,7 @@ - #test-binary = - #test-timeout = - --#watchdog-device = /dev/watchdog -+watchdog-device = /dev/watchdog - - # Defaults compiled into the binary - #temperature-device = diff --git a/meta/recipes-extended/watchdog/watchdog/watchdog-init.patch b/meta/recipes-extended/watchdog/watchdog/watchdog-init.patch deleted file mode 100644 index b2765f1908..0000000000 --- a/meta/recipes-extended/watchdog/watchdog/watchdog-init.patch +++ /dev/null @@ -1,56 +0,0 @@ -Signed-off-by: Diego Rondini <diego.ml@zoho.com> -Upstream-Status: Inappropriate - ---- watchdog-5.13.orig/redhat/watchdog.init 2014-11-12 17:18:39.125943000 +0100 -+++ watchdog-5.13/redhat/watchdog.init 2014-11-12 18:27:36.189943000 +0100 -@@ -7,7 +7,7 @@ - # Henning P. Schmiedehausen <hps@tanstaafl.de> - - # Source function library. --. /etc/rc.d/init.d/functions -+. /etc/init.d/functions - - [ -x /usr/sbin/watchdog -a -e /etc/watchdog.conf ] || exit 0 - -@@ -23,22 +23,22 @@ - - start() { - -- echo -n $"Starting $prog: " -+ echo -n "Starting $prog: " - if [ -n "$(pidofproc $prog)" ]; then -- echo -n $"$prog: already running" -- echo_failure -+ echo -n "$prog: already running " -+ failure - echo - return 1 - fi - if [ "$VERBOSE" = "yes" ]; then -- daemon /usr/sbin/${prog} -v -+ /usr/sbin/${prog} -v - else -- daemon /usr/sbin/${prog} -+ /usr/sbin/${prog} - fi - RETVAL=$? - [ $RETVAL -eq 0 ] && touch $lockfile -- [ $RETVAL -eq 0 ] && echo_success -- [ $RETVAL -ne 0 ] && echo_failure -+ [ $RETVAL -eq 0 ] && success -+ [ $RETVAL -ne 0 ] && failure - echo - return $RETVAL - } -@@ -50,8 +50,10 @@ - # and reboot the box. - killproc $prog -TERM - RETVAL=$? -- echo - [ $RETVAL -eq 0 ] && rm -f $lockfile $pidfile -+ [ $RETVAL -eq 0 ] && success -+ [ $RETVAL -ne 0 ] && failure -+ echo - return $RETVAL - } - diff --git a/meta/recipes-extended/watchdog/watchdog/watchdog.init b/meta/recipes-extended/watchdog/watchdog/watchdog.init new file mode 100644 index 0000000000..d37107cf0e --- /dev/null +++ b/meta/recipes-extended/watchdog/watchdog/watchdog.init @@ -0,0 +1,110 @@ +#!/bin/sh +#/etc/init.d/watchdog: start watchdog daemon. + +### BEGIN INIT INFO +# Provides: watchdog +# Short-Description: Start software watchdog daemon +# Required-Start: $all +# Required-Stop: $all +# Should-Start: +# Should-Stop: +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +### END INIT INFO + +PATH=/bin:/usr/bin:/sbin:/usr/sbin + +test -x /usr/sbin/watchdog || exit 0 + +# For configuration of the init script use the file +# /etc/default/watchdog, do not edit this init script. + +# Set run_watchdog to 1 to start watchdog or 0 to disable it. +run_watchdog=0 + +# Specify additional watchdog options here (see manpage). +watchdog_options="" + +# Specify module to load +watchdog_module="none" + +[ -e /etc/default/watchdog ] && . /etc/default/watchdog + +NAME=watchdog +DAEMON=/usr/sbin/watchdog + +STOP_RETRY_SCHEDULE='TERM/10/forever/KILL/1' + +. /etc/init.d/functions + +# Mock Debian stuff +log_begin_msg() { + echo -n $* +} + +log_end_msg() { + if [ "$1" = "0" ]; then + echo 'done' + else + echo 'error' + fi +} + +log_daemon_msg() { + echo $* +} + +log_progress_msg() { + echo $* +} + +case "$1" in + start) + if [ $run_watchdog = 1 ] + then + # do we have to load a module? + [ "${watchdog_module:-none}" != "none" ] && /sbin/modprobe $watchdog_module + + # Check /dev/watchdog here because if it does not exist after module loading, + # it makes no sense to start the daemon + test -e /dev/watchdog || { log_daemon_msg "daemon not start due to lack of /dev/watchdog"; exit 0; } + + log_begin_msg "Starting watchdog daemon..." + start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \ + --exec $DAEMON -- $watchdog_options + log_end_msg $? + fi + ;; + + stop) + if [ $run_watchdog = 1 ] + then + log_begin_msg "Stopping watchdog daemon..." + start-stop-daemon --stop --quiet --retry $STOP_RETRY_SCHEDULE \ + --pidfile /var/run/$NAME.pid + + fi + ;; + + restart) + $0 force-reload + ;; + + force-reload) + if [ $run_watchdog = 0 ]; then exit 0; fi + log_daemon_msg "Restarting $NAME" + $0 stop + $0 start + ;; + + status) + status "$DAEMON" + ;; + + *) + echo "Usage: /etc/init.d/watchdog {start|stop|restart|force-reload|status}" + exit 1 + +esac + +exit 0 diff --git a/meta/recipes-extended/watchdog/watchdog/wd_keepalive.init b/meta/recipes-extended/watchdog/watchdog/wd_keepalive.init new file mode 100644 index 0000000000..1d3e4c5558 --- /dev/null +++ b/meta/recipes-extended/watchdog/watchdog/wd_keepalive.init @@ -0,0 +1,121 @@ +#!/bin/sh +#/etc/init.d/wd_keepalive: start wd_keepalive daemon. + +### BEGIN INIT INFO +# Provides: wd_keepalive +# Short-Description: Start watchdog keepalive daemon +# Required-Start: $remote_fs +# Required-Stop: $remote_fs +# X-Start-Before: $all +# Default-Start: 2 3 4 5 +# Default-Stop +### END INIT INFO + +PATH=/bin:/usr/bin:/sbin:/usr/sbin + +test -x /usr/sbin/wd_keepalive || exit 0 + +# For configuration of the init script use the file +# /etc/default/watchdog, do not edit this init script. + +# Set run_watchdog to 1 to start watchdog or 0 to disable it. +run_watchdog=0 + +# Specify additional watchdog options here (see manpage). +watchdog_options="" + +# Specify module to load +watchdog_module="none" + +[ -e /etc/default/watchdog ] && . /etc/default/watchdog + +NAME=wd_keepalive +DAEMON=/usr/sbin/wd_keepalive + +STOP_RETRY_SCHEDULE='TERM/10/forever/KILL/1' + +# . /lib/lsb/init-functions + +# Mock Debian stuff +log_begin_msg() { + echo -n $* +} + +log_end_msg() { + if [ "$1" = "0" ]; then + echo 'done' + else + echo 'error' + fi +} + +log_daemon_msg() { + echo $* +} + +log_progress_msg() { + echo $* +} + + +case "$1" in + start) + if [ $run_watchdog = 1 ] + then + [ ${watchdog_module:-none} != "none" ] && /sbin/modprobe $watchdog_module + echo -n "Starting watchdog keepalive daemon: " + if start-stop-daemon --start --quiet \ + --exec $DAEMON -- $watchdog_options + then + echo wd_keepalive. + else + echo + fi + fi + ;; + + stop) + if [ $run_watchdog = 1 ] + then + echo -n "Stopping watchdog keepalive daemon: " + if start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \ + $STOP_RETRY_SCHEDULE + then + echo wd_keepalive. + else + echo + fi + fi + ;; + + status) + status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? + ;; + + restart) + $0 force-reload + ;; + + force-reload) + if [ $run_watchdog = 0 ]; then exit 0; fi + echo -n "Restarting $NAME daemon." + start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \ + $STOP_RETRY_SCHEDULE + echo -n "." + if start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \ + --exec $DAEMON -- $watchdog_options + then + echo "done." + else + echo + fi + ;; + + *) + echo "Usage: /etc/init.d/wd_keepalive {start|stop|status|restart|force-reload}" + exit 1 + +esac + +exit 0 + |