add watchdog package (thanks to Janos)
authorNicolas Thill <nico@openwrt.org>
Tue, 10 Jan 2006 16:47:51 +0000 (16:47 +0000)
committerNicolas Thill <nico@openwrt.org>
Tue, 10 Jan 2006 16:47:51 +0000 (16:47 +0000)
SVN-Revision: 2874

openwrt/package/Config.in
openwrt/package/Makefile
openwrt/package/watchdog/Config.in [new file with mode: 0644]
openwrt/package/watchdog/Makefile [new file with mode: 0644]
openwrt/package/watchdog/files/watchdog.init [new file with mode: 0644]
openwrt/package/watchdog/ipkg/watchdog.conffiles [new file with mode: 0644]
openwrt/package/watchdog/ipkg/watchdog.control [new file with mode: 0644]
openwrt/package/watchdog/patches/01-fstab-sys_siglist.patch [new file with mode: 0644]

index 70029df..be7ae99 100644 (file)
@@ -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"
index 571f10f..60081db 100644 (file)
@@ -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 (file)
index 0000000..5827fda
--- /dev/null
@@ -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 (file)
index 0000000..5046c18
--- /dev/null
@@ -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 (file)
index 0000000..8a45df9
--- /dev/null
@@ -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 (file)
index 0000000..3ef1359
--- /dev/null
@@ -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 (file)
index 0000000..1cde197
--- /dev/null
@@ -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 (file)
index 0000000..a71ca59
--- /dev/null
@@ -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