summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xmisc/bird.init52
-rw-r--r--misc/bird.spec13
2 files changed, 44 insertions, 21 deletions
diff --git a/misc/bird.init b/misc/bird.init
index 1cd4334..56842bf 100755
--- a/misc/bird.init
+++ b/misc/bird.init
@@ -15,38 +15,59 @@
# Source function library.
. /etc/rc.d/init.d/functions
-# Check that networking is up.
-if [ "${NETWORKING}" = "no" ]
-then
- exit 0
-fi
+[ -f /etc/sysconfig/network ] || exit 0
-[ -f /etc/bird.conf ] || exit 0
+. /etc/sysconfig/network
-[ -f /usr/sbin/bird ] || exit 0
+BIRD4="yes"
+BIRD6="yes"
+
+[ -f /etc/bird.conf ] || BIRD4="no"
+[ -f /usr/sbin/bird ] || BIRD4="no"
+[ "${NETWORKING}" = "yes" ] || BIRD4="no"
+
+[ -f /etc/bird-6.conf ] || BIRD6="no"
+[ -f /usr/sbin/bird6 ] || BIRD6="no"
+[ "${NETWORKING_IPV6}" = "yes" ] || BIRD6="no"
RETVAL=0
# See how we were called.
case "$1" in
start)
- echo -n "Starting BIRD: "
- daemon bird
- RETVAL=$?
-
- echo
- [ $RETVAL -eq 0 ] && touch /var/lock/subsys/bird
+ if [ "$BIRD4" = "yes" ]
+ then
+ echo -n "Starting BIRD for IPv4: "
+ daemon bird
+ RETVAL=$?
+ echo
+ [ $RETVAL -eq 0 ] && touch /var/lock/subsys/bird
+ fi
+ if [ "$BIRD6" = "yes" ]
+ then
+ echo -n "Starting BIRD for IPv6: "
+ daemon bird6
+ RETVAL=$?
+ echo
+ [ $RETVAL -eq 0 ] && touch /var/lock/subsys/bird6
+ fi
;;
stop)
- echo -n "Stopping BIRD: "
+ echo -n "Stopping BIRD for IPv4: "
killproc bird
RETVAL=$?
-
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/bird
+
+ echo -n "Stopping BIRD for IPv6: "
+ killproc bird6
+ RETVAL=$?
+ echo
+ [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/bird6
;;
status)
status bird
+ status bird6
RETVAL=$?
;;
restart)
@@ -56,6 +77,7 @@ case "$1" in
;;
reload)
killall -HUP bird
+ killall -HUP bird6
RETVAL=$?
;;
*)
diff --git a/misc/bird.spec b/misc/bird.spec
index 17f365d..6572cd2 100644
--- a/misc/bird.spec
+++ b/misc/bird.spec
@@ -1,11 +1,12 @@
Summary: BIRD Internet Routing Daemon
Name: bird
-Version: 1.0.5
+Version: 1.0.8
Release: 1
Copyright: GPL
Group: Networking/Daemons
Source: ftp://bird.network.cz/pub/bird/bird-%{version}.tar.gz
Source1: bird.init
+Source2: birdc6
Buildroot: /var/tmp/bird-root
Url: http://bird.network.cz
Prereq: /sbin/chkconfig
@@ -18,22 +19,23 @@ protocols BGP, RIP and OSPF.
%setup -n bird-%{version}
%build
-./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var/run --enable-ipv6
+./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-ipv6
make
mv bird bird6
-./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var/run
+make clean
+./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
make
%install
rm -rf $RPM_BUILD_ROOT/*
-make install prefix=$RPM_BUILD_ROOT/usr sysconfdir=$RPM_BUILD_ROOT/etc localstatedir=$RPM_BUILD_ROOT/var/run
+make install prefix=$RPM_BUILD_ROOT/usr sysconfdir=$RPM_BUILD_ROOT/etc localstatedir=$RPM_BUILD_ROOT/var
install bird6 $RPM_BUILD_ROOT/usr/sbin
cd $RPM_BUILD_ROOT
install -d etc/rc.d/init.d
install $RPM_SOURCE_DIR/bird.init etc/rc.d/init.d/bird
-install $RPM_SOURCE_DIR/birdc6 usr/bin/
+install $RPM_SOURCE_DIR/birdc6 usr/sbin/birdc6
%post
/sbin/ldconfig
@@ -50,4 +52,3 @@ fi
%attr(755,root,root) /usr/sbin/birdc
%attr(755,root,root) /usr/sbin/birdc6
%attr(755,root,root) /etc/rc.d/init.d/bird
-%config /etc/bird.conf