From a9513385cd2626f95f4e615eaa68570648e6b0cc Mon Sep 17 00:00:00 2001 From: jow Date: Sun, 5 Feb 2012 15:04:57 +0000 Subject: [PATCH] [packages_10.03.2] bird: merge r28243, r29079, r29199 git-svn-id: svn://svn.openwrt.org/openwrt/branches/packages_10.03.2@30196 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- net/bird/Makefile | 12 ++++++++---- net/bird/files/bird4.init | 17 ++++++++--------- net/bird/files/bird4loop | 23 +++++++++++++++++------ net/bird/files/bird6.init | 17 ++++++++--------- net/bird/files/bird6loop | 23 +++++++++++++++++------ 5 files changed, 58 insertions(+), 34 deletions(-) diff --git a/net/bird/Makefile b/net/bird/Makefile index fa12dac..60cf7af 100644 --- a/net/bird/Makefile +++ b/net/bird/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2009 OpenWrt.org +# Copyright (C) 2009-2011 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -7,12 +7,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=bird -PKG_VERSION:=1.3.1 -PKG_RELEASE:=1 +PKG_VERSION:=1.3.3 +PKG_RELEASE:=3 PKG_SOURCE:=bird-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=ftp://bird.network.cz/pub/bird -PKG_MD5SUM:=d11f53b79c7371b76e5c93209dbe2a10 +PKG_MD5SUM:=d463c2ec9478cbadbcb2d3a3c0cc40d5 PKG_BUILD_DEPENDS:=libncurses libreadline include $(INCLUDE_DIR)/package.mk @@ -138,6 +138,10 @@ define Package/bird$(2)/install endef +define Package/bird$(2)/conffiles +/etc/bird$(2).conf +endef + define Package/birdc$(2)/install $(INSTALL_DIR) $$(1)/usr/sbin $(INSTALL_BIN) $$(PKG_BUILD_DIR)/birdc$(2) $$(1)/usr/sbin/ diff --git a/net/bird/files/bird4.init b/net/bird/files/bird4.init index d0e0876..8ac5e75 100644 --- a/net/bird/files/bird4.init +++ b/net/bird/files/bird4.init @@ -1,22 +1,21 @@ #!/bin/sh /etc/rc.common +# Copyright (C) 2010-2011 OpenWrt.org START=50 -# Birdloop is used to restart BIRD if it crashed. Unfortunately, it also -# hides and handles in the same manner start-time errors (like parse error -# in config file). Therefore, it is not used by default. If you want to -# use it, comment the first line and uncomment the second line in start(). +SERVICE_DAEMONIZE=1 +SERVICE_WRITE_PID=1 start() { - /usr/sbin/bird4 -# /usr/sbin/bird4loop + service_start /usr/sbin/bird4 -d +# ( SERVICE_MATCH_NAME=1 service_start /usr/sbin/bird4loop ) } stop() { - killall bird4 - sleep 1 +# ( SERVICE_MATCH_NAME=1 service_stop /usr/sbin/bird4loop ) + service_stop /usr/sbin/bird4 } reload() { - killall -HUP bird4 + service_reload /usr/sbin/bird4 } diff --git a/net/bird/files/bird4loop b/net/bird/files/bird4loop index 9d9b80d..5dd6b95 100644 --- a/net/bird/files/bird4loop +++ b/net/bird/files/bird4loop @@ -2,11 +2,22 @@ BIRD=/usr/sbin/bird4 -$BIRD -p +$BIRD -p || return 1 -( until $BIRD -d "$@" -do - logger error BIRD4 died! - sleep 2 -done; ) /dev/null 2> /dev/null & +. /lib/functions.sh +SERVICE_DAEMONIZE=1 +SERVICE_WRITE_PID=1 + +sig_handler() { + running=0 + service_stop $BIRD +} + +running=1 +trap sig_handler INT +trap sig_handler TERM +while [ $running -gt 0 ]; do + service_check $BIRD || service_start $BIRD -d "$@" + sleep 3 +done diff --git a/net/bird/files/bird6.init b/net/bird/files/bird6.init index 69b39ff..2efb4f0 100644 --- a/net/bird/files/bird6.init +++ b/net/bird/files/bird6.init @@ -1,22 +1,21 @@ #!/bin/sh /etc/rc.common +# Copyright (C) 2010-2011 OpenWrt.org START=50 -# Birdloop is used to restart BIRD if it crashed. Unfortunately, it also -# hides and handles in the same manner start-time errors (like parse error -# in config file). Therefore, it is not used by default. If you want to -# use it, comment the first line and uncomment the second line in start(). +SERVICE_DAEMONIZE=1 +SERVICE_WRITE_PID=1 start() { - /usr/sbin/bird6 -# /usr/sbin/bird6loop + service_start /usr/sbin/bird6 -d +# ( SERVICE_MATCH_NAME=1 service_start /usr/sbin/bird6loop ) } stop() { - killall bird6 - sleep 1 +# ( SERVICE_MATCH_NAME=1 service_stop /usr/sbin/bird6loop ) + service_stop /usr/sbin/bird6 } reload() { - killall -HUP bird6 + service_reload /usr/sbin/bird6 } diff --git a/net/bird/files/bird6loop b/net/bird/files/bird6loop index 5692125..46f498a 100644 --- a/net/bird/files/bird6loop +++ b/net/bird/files/bird6loop @@ -2,11 +2,22 @@ BIRD=/usr/sbin/bird6 -$BIRD -p +$BIRD -p || return 1 -( until $BIRD -d "$@" -do - logger error BIRD6 died! - sleep 2 -done; ) /dev/null 2> /dev/null & +. /lib/functions.sh +SERVICE_DAEMONIZE=1 +SERVICE_WRITE_PID=1 + +sig_handler() { + running=0 + service_stop $BIRD +} + +running=1 +trap sig_handler INT +trap sig_handler TERM +while [ $running -gt 0 ]; do + service_check $BIRD || service_start $BIRD -d "$@" + sleep 3 +done -- 2.11.0