#
-# 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.
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
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/
#!/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
}
BIRD=/usr/sbin/bird4
-$BIRD -p
+$BIRD -p || return 1
-( until $BIRD -d "$@"
-do
- logger error BIRD4 died!
- sleep 2
-done; ) </dev/null >/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
#!/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
}
BIRD=/usr/sbin/bird6
-$BIRD -p
+$BIRD -p || return 1
-( until $BIRD -d "$@"
-do
- logger error BIRD6 died!
- sleep 2
-done; ) </dev/null >/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