diff --git a/bird/Makefile b/bird/Makefile index f691add..e277584 100644 --- a/bird/Makefile +++ b/bird/Makefile @@ -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 @@ -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)) diff --git a/bird/files/bird.conf b/bird/files/bird.conf new file mode 100644 index 0000000..77bde94 --- /dev/null +++ b/bird/files/bird.conf @@ -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"; diff --git a/bird/files/bird4.init b/bird/files/bird.init similarity index 61% rename from bird/files/bird4.init rename to bird/files/bird.init index a1a1be2..3ad1764 100644 --- a/bird/files/bird4.init +++ b/bird/files/bird.init @@ -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 diff --git a/bird/files/bird6.init b/bird/files/bird6.init deleted file mode 100644 index 6156fb2..0000000 --- a/bird/files/bird6.init +++ /dev/null @@ -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 -}