From 4af2b84d99f772ad56910a194e9b2206858dcea6 Mon Sep 17 00:00:00 2001
From: Nicolas Thill <nico@openwrt.org>
Date: Tue, 10 Jan 2006 16:47:51 +0000
Subject: [PATCH] add watchdog package (thanks to Janos)

SVN-Revision: 2874
---
 openwrt/package/Config.in                     |  1 +
 openwrt/package/Makefile                      |  1 +
 openwrt/package/watchdog/Config.in            |  7 ++
 openwrt/package/watchdog/Makefile             | 71 +++++++++++++++++++
 openwrt/package/watchdog/files/watchdog.init  | 18 +++++
 .../package/watchdog/ipkg/watchdog.conffiles  |  1 +
 .../package/watchdog/ipkg/watchdog.control    |  4 ++
 .../patches/01-fstab-sys_siglist.patch        | 11 +++
 8 files changed, 114 insertions(+)
 create mode 100644 openwrt/package/watchdog/Config.in
 create mode 100644 openwrt/package/watchdog/Makefile
 create mode 100644 openwrt/package/watchdog/files/watchdog.init
 create mode 100644 openwrt/package/watchdog/ipkg/watchdog.conffiles
 create mode 100644 openwrt/package/watchdog/ipkg/watchdog.control
 create mode 100644 openwrt/package/watchdog/patches/01-fstab-sys_siglist.patch

diff --git a/openwrt/package/Config.in b/openwrt/package/Config.in
index 70029dfc28..be7ae99807 100644
--- a/openwrt/package/Config.in
+++ b/openwrt/package/Config.in
@@ -257,6 +257,7 @@ source "package/pcmcia-cs/Config.in"  # pcmcia-utils
 source "package/usbutils/Config.in"  # lsusb
 source "package/strace/Config.in"
 source "package/udev/Config.in"
+source "package/watchdog/Config.in"
 
 comment "FileSystems related"
 source "package/dosfstools/Config.in"
diff --git a/openwrt/package/Makefile b/openwrt/package/Makefile
index 571f10ff8b..60081dbf64 100644
--- a/openwrt/package/Makefile
+++ b/openwrt/package/Makefile
@@ -230,6 +230,7 @@ package-$(BR2_PACKAGE_VPNC) += vpnc
 package-$(BR2_PACKAGE_VRRPD) += vrrpd
 package-$(BR2_PACKAGE_VTUN) += vtun
 package-$(BR2_PACKAGE_VSFTPD) += vsftpd
+package-$(BR2_PACKAGE_WATCHDOG) += watchdog
 package-$(BR2_PACKAGE_WCCPD) += wccpd
 package-$(BR2_PACKAGE_WIFICONF) += wificonf
 package-$(BR2_PACKAGE_WIFIDOG) += wifidog
diff --git a/openwrt/package/watchdog/Config.in b/openwrt/package/watchdog/Config.in
new file mode 100644
index 0000000000..5827fda995
--- /dev/null
+++ b/openwrt/package/watchdog/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_WATCHDOG
+	prompt "watchdog.......................... configurable watchdog"
+	tristate
+	default m if CONFIG_DEVEL
+	help
+	  watchdog
+	  
diff --git a/openwrt/package/watchdog/Makefile b/openwrt/package/watchdog/Makefile
new file mode 100644
index 0000000000..5046c18180
--- /dev/null
+++ b/openwrt/package/watchdog/Makefile
@@ -0,0 +1,71 @@
+# $Id$
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=watchdog
+PKG_VERSION:=5.2.4
+PKG_RELEASE:=1
+PKG_MD5SUM:=c6ac132d92110eb2c4670d4f684105c3
+
+PKG_SOURCE_URL:=http://ftp.debian.org/debian/pool/main/w/watchdog
+PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).orig.tar.gz
+PKG_CAT:=zcat
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION).orig
+PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+
+include $(TOPDIR)/package/rules.mk
+
+$(eval $(call PKG_template,WATCHDOG,watchdog,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+
+$(PKG_BUILD_DIR)/.configured:
+	(cd $(PKG_BUILD_DIR); rm -rf config.cache; \
+		$(TARGET_CONFIGURE_OPTS) \
+		CFLAGS="$(TARGET_CFLAGS)" \
+		CPPFLAGS="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include" \
+		LDFLAGS="-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib" \
+		./configure \
+			--target=$(GNU_TARGET_NAME) \
+			--host=$(GNU_TARGET_NAME) \
+			--build=$(GNU_HOST_NAME) \
+			--program-prefix="" \
+			--program-suffix="" \
+			--prefix=/usr \
+			--exec-prefix=/usr \
+			--bindir=/usr/bin \
+			--datadir=/usr/share \
+			--includedir=/usr/include \
+			--infodir=/usr/share/info \
+			--libdir=/usr/lib \
+			--libexecdir=/usr/lib \
+			--localstatedir=/var \
+			--mandir=/usr/share/man \
+			--sbindir=/usr/sbin \
+			--sysconfdir=/etc \
+			$(DISABLE_NLS) \
+			$(DISABLE_LARGEFILE) \
+	);
+	touch $@
+
+$(PKG_BUILD_DIR)/.built:
+	rm -rf $(PKG_INSTALL_DIR)
+	mkdir -p $(PKG_INSTALL_DIR)
+	$(MAKE) -C $(PKG_BUILD_DIR) \
+		CCOPT="$(TARGET_CFLAGS)" \
+		INCLS="-I. -I$(STAGING_DIR)/usr/include" \
+		LIBS="-L$(STAGING_DIR)/usr/lib" \
+		DESTDIR="$(PKG_INSTALL_DIR)" \
+		all install
+	touch $@
+
+$(IPKG_WATCHDOG):
+	install -d -m0755 $(IDIR_WATCHDOG)/etc
+	cp -fpR $(PKG_INSTALL_DIR)/etc/watchdog.conf $(IDIR_WATCHDOG)/etc/
+	install -d -m0755 $(IDIR_WATCHDOG)/etc/init.d
+	install -m0755 ./files/watchdog.init $(IDIR_WATCHDOG)/etc/init.d/watchdog
+	ln -sf watchdog $(IDIR_WATCHDOG)/etc/init.d/S90watchdog
+	install -d -m0755 $(IDIR_WATCHDOG)/usr/sbin
+	cp -fpR $(PKG_INSTALL_DIR)/usr/sbin/watchdog $(IDIR_WATCHDOG)/usr/sbin/
+	cp -fpR $(PKG_INSTALL_DIR)/usr/sbin/wd_keepalive $(IDIR_WATCHDOG)/usr/sbin/
+	$(RSTRIP) $(IDIR_WATCHDOG)
+	$(IPKG_BUILD) $(IDIR_WATCHDOG) $(PACKAGE_DIR)
diff --git a/openwrt/package/watchdog/files/watchdog.init b/openwrt/package/watchdog/files/watchdog.init
new file mode 100644
index 0000000000..8a45df92d0
--- /dev/null
+++ b/openwrt/package/watchdog/files/watchdog.init
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+RUN_D=/var/run
+PID_F=$RUN_D/watchdog.pid
+
+case $1 in
+ start)
+  /usr/sbin/watchdog
+  ;;
+ stop)
+  [ -f $PID_F ] && kill $(cat $PID_F) >/dev/null 2>&1
+  ;;
+ *)
+  echo "usage: $0 (start|stop)"
+  exit 1
+esac
+
+exit $?
diff --git a/openwrt/package/watchdog/ipkg/watchdog.conffiles b/openwrt/package/watchdog/ipkg/watchdog.conffiles
new file mode 100644
index 0000000000..3ef13592a0
--- /dev/null
+++ b/openwrt/package/watchdog/ipkg/watchdog.conffiles
@@ -0,0 +1 @@
+/etc/watchdog.conf
diff --git a/openwrt/package/watchdog/ipkg/watchdog.control b/openwrt/package/watchdog/ipkg/watchdog.control
new file mode 100644
index 0000000000..1cde1974e6
--- /dev/null
+++ b/openwrt/package/watchdog/ipkg/watchdog.control
@@ -0,0 +1,4 @@
+Package: watchdog
+Priority: opt
+Section: sys
+Description: watchdog
diff --git a/openwrt/package/watchdog/patches/01-fstab-sys_siglist.patch b/openwrt/package/watchdog/patches/01-fstab-sys_siglist.patch
new file mode 100644
index 0000000000..a71ca5951c
--- /dev/null
+++ b/openwrt/package/watchdog/patches/01-fstab-sys_siglist.patch
@@ -0,0 +1,11 @@
+--- watchdog-5.2.4.orig.orig/src/fstab.c	2003-01-28 07:47:38.000000000 +0100
++++ watchdog-5.2.4.orig/src/fstab.c	2005-12-29 20:05:47.859043112 +0100
+@@ -237,7 +237,7 @@
+ /* Ensure that the lock is released if we are interrupted.  */
+ static void
+ handler (int sig) {
+-     die (EX_USER, "%s", sys_siglist[sig]);
++     die (EX_USER, "%s", "sys_siglist[sig]");
+ }
+ 
+ static void
-- 
GitLab