This commit is contained in:
Álvaro Fernández Rojas 2018-01-13 18:37:45 +00:00 committed by GitHub
commit 0f109d7b6c
4 changed files with 76 additions and 190 deletions

View file

@ -1,5 +1,5 @@
#
# Copyright (C) 2009-2016 OpenWrt.org
# Copyright (C) 2009-2017 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.6.3
PKG_VERSION:=2.0.0
PKG_RELEASE:=1
PKG_SOURCE:=bird-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=ftp://bird.network.cz/pub/bird
PKG_MD5SUM:=39c51cf57c3ba8b5978b2a657ffa2f647ec7f3ae643e91cf42ee5cb070cf7e7c
PKG_MD5SUM:=a76300e1dabd9ae7178f12219ce7dc265438e48cc2d55667a94e00caf7028351
PKG_BUILD_DEPENDS:=libncurses libreadline
PKG_MAINTAINER:=Álvaro Fernández Rojas <noltari@gmail.com>
@ -20,24 +20,7 @@ PKG_LICENSE:=GPL-2.0
include $(INCLUDE_DIR)/package.mk
define Package/bird/Default
TITLE:=The BIRD Internet Routing Daemon
URL:=http://bird.network.cz/
DEPENDS:=+libpthread
endef
define Package/birdc/Default
TITLE:=The BIRD command-line client
URL:=http://bird.network.cz/
DEPENDS:= +libreadline +libncurses
endef
define Package/birdcl/Default
TITLE:=The BIRD lightweight command-line client
URL:=http://bird.network.cz/
endef
define Package/bird/Default/description1
define Package/bird/Default/description
BIRD is an internet routing daemon which manages TCP/IP routing tables
with support of modern routing protocols, easy to use configuration
interface and powerful route filtering language. It is lightweight and
@ -45,16 +28,49 @@ efficient and therefore appropriate for small embedded routers.
endef
define Package/bird/Default/description2
define Package/bird
TITLE:=The BIRD Internet Routing Daemon
URL:=http://bird.network.cz/
SECTION:=net
CATEGORY:=Network
SUBMENU:=Routing and Redirection
DEPENDS:=+libpthread
endef
define Package/birdc
TITLE:=The BIRD command-line client
URL:=http://bird.network.cz/
SECTION:=net
CATEGORY:=Network
SUBMENU:=Routing and Redirection
DEPENDS:=+bird +libreadline +libncurses
endef
define Package/birdcl
TITLE:=The BIRD lightweight command-line client
URL:=http://bird.network.cz/
SECTION:=net
CATEGORY:=Network
SUBMENU:=Routing and Redirection
DEPENDS:=+bird
endef
define Package/bird/description
$(call Package/bird/Default/description)
BIRD supports OSPFv2, RIPv2 and BGP protocols for IPv4 and
OSPFv3, RIPng and BGP protocols for IPv6.
In BGP, BIRD supports communities, multiprotocol extensions, MD5
authentication, 32bit AS numbers and could act as a route server or a
route reflector. BIRD also supports multiple RIBs, multiple kernel
routing tables and redistribution between the protocols with a powerful
configuration syntax.
endef
define Package/bird/Default/description3
define Package/birdc/description
$(call Package/bird/Default/description)
This is a BIRD command-line client. It is used to send commands to BIRD,
commands can perform simple actions such as enabling/disabling of
protocols, telling BIRD to show various information, telling it to show
@ -62,153 +78,46 @@ a routing table filtered by a filter, or asking BIRD to reconfigure.
Unless you can't afford dependency on ncurses and readline, you
should install BIRD command-line client together with BIRD.
endef
define Package/bird/Default/description4
This is a BIRD lightweight command-line client. It is used to send commands to BIRD,
commands can perform simple actions such as enabling/disabling of
define Package/birdcl/description
$(call Package/bird/Default/description)
This is a BIRD lightweight command-line client. It is used to send commands
to BIRD, commands can perform simple actions such as enabling/disabling of
protocols, telling BIRD to show various information, telling it to show
a routing table filtered by a filter, or asking BIRD to reconfigure.
endef
define Package/bird4
$(call Package/bird/Default)
SECTION:=net
CATEGORY:=Network
SUBMENU:=Routing and Redirection
TITLE+= (IPv4)
endef
define Package/birdc4
$(call Package/birdc/Default)
SECTION:=net
CATEGORY:=Network
SUBMENU:=Routing and Redirection
TITLE+= (IPv4)
DEPENDS+= +bird4
endef
define Package/birdcl4
$(call Package/birdcl/Default)
SECTION:=net
CATEGORY:=Network
SUBMENU:=Routing and Redirection
TITLE+= (IPv4)
DEPENDS+= +bird4
endef
define Package/bird6
$(call Package/bird/Default)
SECTION:=net
CATEGORY:=Network
SUBMENU:=Routing and Redirection
TITLE+= (IPv6)
endef
define Package/birdc6
$(call Package/birdc/Default)
SECTION:=net
CATEGORY:=Network
SUBMENU:=Routing and Redirection
TITLE+= (IPv6)
DEPENDS+= +bird6
endef
define Package/birdcl6
$(call Package/birdcl/Default)
SECTION:=net
CATEGORY:=Network
SUBMENU:=Routing and Redirection
TITLE+= (IPv6)
DEPENDS+= +bird6
endef
define Package/bird4/description
$(call Package/bird/Default/description1)
This is IPv4 version of BIRD, it supports OSPFv2, RIPv2 and BGP
protocols.
$(call Package/bird/Default/description2)
endef
define Package/birdc4/description
$(call Package/bird/Default/description1)
$(call Package/bird/Default/description3)
endef
define Package/birdcl4/description
$(call Package/bird/Default/description1)
$(call Package/bird/Default/description4)
endef
define Package/bird6/description
$(call Package/bird/Default/description1)
This is IPv6 version of BIRD, it supports OSPFv3, RIPng and BGP
protocols.
$(call Package/bird/Default/description2)
endef
define Package/birdc6/description
$(call Package/bird/Default/description1)
$(call Package/bird/Default/description3)
endef
define Package/birdcl6/description
$(call Package/bird/Default/description1)
$(call Package/bird/Default/description4)
endef
CONFIGURE_ARGS += --with-linux-headers="$(LINUX_DIR)"
TARGET_CFLAGS+=-std=gnu89
define Build/Template
$(STAMP_BUILT)-$(2): $(STAMP_PREPARED)
$(call Build/Configure/Default,$(3))
$(call Build/Compile/Default,)
( cd $(PKG_BUILD_DIR); mv -f bird bird$(2); mv -f birdc birdc$(2); mv -f birdcl birdcl$(2) )
-$(MAKE) -C $(PKG_BUILD_DIR) clean
touch $$@
$(STAMP_BUILT): $(STAMP_BUILT)-$(2)
define Package/bird$(2)/install
$(INSTALL_DIR) $$(1)/usr/sbin
$(INSTALL_BIN) $$(PKG_BUILD_DIR)/bird$(2) $$(1)/usr/sbin/
$(INSTALL_DIR) $$(1)/etc
$(INSTALL_DATA) ./files/bird$(2).conf $$(1)/etc/
$(INSTALL_DIR) $$(1)/etc/init.d
$(INSTALL_BIN) ./files/bird$(2).init $$(1)/etc/init.d/bird$(2)
define Package/bird/conffiles
/etc/bird.conf
/etc/bird4.conf
/etc/bird6.conf
endef
define Package/bird$(2)/conffiles
/etc/bird$(2).conf
define Package/bird/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bird $(1)/usr/sbin/
$(INSTALL_DIR) $(1)/etc
$(INSTALL_DATA) ./files/bird.conf $(1)/etc/
$(INSTALL_DATA) ./files/bird4.conf $(1)/etc/
$(INSTALL_DATA) ./files/bird6.conf $(1)/etc/
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/bird.init $(1)/etc/init.d/bird
endef
define Package/birdc$(2)/install
$(INSTALL_DIR) $$(1)/usr/sbin
$(INSTALL_BIN) $$(PKG_BUILD_DIR)/birdc$(2) $$(1)/usr/sbin/
define Package/birdc/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/birdc $(1)/usr/sbin/
endef
define Package/birdcl$(2)/install
$(INSTALL_DIR) $$(1)/usr/sbin
$(INSTALL_BIN) $$(PKG_BUILD_DIR)/birdcl$(2) $$(1)/usr/sbin/
define Package/birdcl/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/birdcl $(1)/usr/sbin/
endef
endef
$(eval $(call Build/Template,bird4,4, --disable-ipv6))
$(eval $(call Build/Template,bird6,6, --enable-ipv6))
$(eval $(call BuildPackage,bird4))
$(eval $(call BuildPackage,birdc4))
$(eval $(call BuildPackage,birdcl4))
$(eval $(call BuildPackage,bird6))
$(eval $(call BuildPackage,birdc6))
$(eval $(call BuildPackage,birdcl6))
$(eval $(call BuildPackage,bird))
$(eval $(call BuildPackage,birdc))
$(eval $(call BuildPackage,birdcl))

5
bird/files/bird.conf Normal file
View file

@ -0,0 +1,5 @@
# THIS CONFIG FILE IS NOT A COMPLETE DOCUMENTATION
# PLEASE LOOK IN THE BIRD DOCUMENTATION FOR MORE INFO
include "bird4.conf";
include "bird6.conf";

View file

@ -1,17 +1,15 @@
#!/bin/sh /etc/rc.common
# Copyright (C) 2010-2014 OpenWrt.org
BIRD="bird4"
# Copyright (C) 2010-2017 OpenWrt.org
START=99
STOP=10
SERVICE_DAEMONIZE=1
SERVICE_USE_PID=1
SERVICE_PID_FILE="/var/run/$BIRD.pid"
SERVICE_PID_FILE="/var/run/bird.pid"
BIRD_BIN="/usr/sbin/$BIRD"
BIRD_CONF="/etc/$BIRD.conf"
BIRD_BIN="/usr/sbin/bird"
BIRD_CONF="/etc/bird.conf"
start() {
service_start $BIRD_BIN -d -c $BIRD_CONF -P $SERVICE_PID_FILE

View file

@ -1,26 +0,0 @@
#!/bin/sh /etc/rc.common
# Copyright (C) 2010-2014 OpenWrt.org
BIRD="bird6"
START=99
STOP=10
SERVICE_DAEMONIZE=1
SERVICE_USE_PID=1
SERVICE_PID_FILE="/var/run/$BIRD.pid"
BIRD_BIN="/usr/sbin/$BIRD"
BIRD_CONF="/etc/$BIRD.conf"
start() {
service_start $BIRD_BIN -d -c $BIRD_CONF -P $SERVICE_PID_FILE
}
stop() {
service_stop $BIRD_BIN
}
reload() {
service_reload $BIRD_BIN
}