2 # Copyright (C) 2009-2016 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
7 include $(TOPDIR
)/rules.mk
13 PKG_SOURCE
:=bird-
$(PKG_VERSION
).
tar.gz
14 PKG_SOURCE_URL
:=ftp
://bird.network.cz
/pub
/bird
15 PKG_HASH
:=6c61ab5d2ef59d2559a8735b8252b5a0238013b43e5fb8a96c5d9d06e7bc00b2
16 PKG_BUILD_DEPENDS
:=ncurses readline
17 PKG_MAINTAINER
:=Álvaro Fernández Rojas
<noltari@gmail.com
>
18 PKG_BUILD_DIR
:=$(BUILD_DIR
)/bird-
$(PKG_VERSION
)
22 include $(INCLUDE_DIR
)/package.mk
24 define Package
/bird1
/Default
25 TITLE
:=The BIRD Internet Routing Daemon
(v1.6
)
26 URL
:=https
://bird.network.cz
/
30 define Package
/bird1c
/Default
31 TITLE
:=The BIRD command-line client
(v1.6
)
32 URL
:=https
://bird.network.cz
/
33 DEPENDS
:=+libreadline
+libncurses
36 define Package
/bird1cl
/Default
37 TITLE
:=The BIRD lightweight command-line client
(v1.6
)
38 URL
:=https
://bird.network.cz
/
41 define Package
/bird1
/Default
/description1
42 BIRD is an internet routing daemon which manages TCP
/IP routing tables
43 with support of modern routing protocols
, easy to use configuration
44 interface and powerful route filtering language. It is lightweight and
45 efficient and therefore appropriate for small embedded routers.
47 This packages the legacy v1.6 branch of Bird
, which splits IPv4 and IPv6
48 support into separate binaries. See also the bird2 package for the newer
49 branch which integrates support for both IP protocols in a single binary.
53 define Package
/bird1
/Default
/description2
54 In BGP
, BIRD supports communities
, multiprotocol extensions
, MD5
55 authentication
, 32bit AS numbers and could act
as a route server or a
56 route reflector. BIRD also supports multiple RIBs
, multiple kernel
57 routing tables and redistribution between the protocols with a powerful
62 define Package
/bird1
/Default
/description3
63 This is a BIRD command-line client. It is used to send commands to BIRD
,
64 commands can perform simple actions such
as enabling
/disabling of
65 protocols
, telling BIRD to show various information
, telling it to show
66 a routing table filtered by a
filter, or asking BIRD to reconfigure.
68 Unless you can
't afford dependency on ncurses and readline, you
69 should install BIRD command-line client together with BIRD.
73 define Package/bird1/Default/description4
74 This is a BIRD lightweight command-line client. It is used to send commands to BIRD,
75 commands can perform simple actions such as enabling/disabling of
76 protocols, telling BIRD to show various information, telling it to show
77 a routing table filtered by a filter, or asking BIRD to reconfigure.
81 define Package/bird1-ipv4
82 $(call Package/bird1/Default)
85 SUBMENU:=Routing and Redirection
90 define Package/bird1c-ipv4
91 $(call Package/bird1c/Default)
94 SUBMENU:=Routing and Redirection
100 define Package/bird1cl-ipv4
101 $(call Package/bird1cl/Default)
104 SUBMENU:=Routing and Redirection
110 define Package/bird1-ipv6
111 $(call Package/bird1/Default)
114 SUBMENU:=Routing and Redirection
119 define Package/bird1c-ipv6
120 $(call Package/bird1c/Default)
123 SUBMENU:=Routing and Redirection
129 define Package/bird1cl-ipv6
130 $(call Package/bird1cl/Default)
133 SUBMENU:=Routing and Redirection
139 define Package/bird1-ipv4/description
140 $(call Package/bird1/Default/description1)
141 This is IPv4 version of BIRD, it supports OSPFv2, RIPv2 and BGP
144 $(call Package/bird1/Default/description2)
147 define Package/bird1c-ipv4/description
148 $(call Package/bird1/Default/description1)
149 $(call Package/bird1/Default/description3)
152 define Package/bird1cl-ipv4/description
153 $(call Package/bird1/Default/description1)
154 $(call Package/bird1/Default/description4)
157 define Package/bird1-ipv6/description
158 $(call Package/bird1/Default/description1)
159 This is IPv6 version of BIRD, it supports OSPFv3, RIPng and BGP
162 $(call Package/bird1/Default/description2)
165 define Package/bird1c-ipv6/description
166 $(call Package/bird1/Default/description1)
167 $(call Package/bird1/Default/description3)
170 define Package/bird1cl-ipv6/description
171 $(call Package/bird1/Default/description1)
172 $(call Package/bird1/Default/description4)
175 CONFIGURE_ARGS += --with-linux-headers="$(LINUX_DIR)"
177 TARGET_CFLAGS+=-std=gnu89
179 define Build/Template
181 $(STAMP_BUILT)-$(2): $(STAMP_PREPARED)
182 $(call Build/Configure/Default,$(3))
183 $(call Build/Compile/Default,)
184 ( cd $(PKG_BUILD_DIR); mv -f bird bird$(2); mv -f birdc birdc$(2); mv -f birdcl birdcl$(2) )
185 -$(MAKE) -C $(PKG_BUILD_DIR) clean
188 $(STAMP_BUILT): $(STAMP_BUILT)-$(2)
190 define Package/bird1-ipv$(2)/install
191 $(INSTALL_DIR) $$(1)/usr/sbin
192 $(INSTALL_BIN) $$(PKG_BUILD_DIR)/bird$(2) $$(1)/usr/sbin/
193 $(INSTALL_DIR) $$(1)/etc
194 $(INSTALL_DATA) ./files/bird$(2).conf $$(1)/etc/
195 $(INSTALL_DIR) $$(1)/etc/init.d
196 $(INSTALL_BIN) ./files/bird$(2).init $$(1)/etc/init.d/bird$(2)
200 define Package/bird1-ipv$(2)/conffiles
204 define Package/bird1c-ipv$(2)/install
205 $(INSTALL_DIR) $$(1)/usr/sbin
206 $(INSTALL_BIN) $$(PKG_BUILD_DIR)/birdc$(2) $$(1)/usr/sbin/
209 define Package/bird1cl-ipv$(2)/install
210 $(INSTALL_DIR) $$(1)/usr/sbin
211 $(INSTALL_BIN) $$(PKG_BUILD_DIR)/birdcl$(2) $$(1)/usr/sbin/
217 $(eval $(call Build/Template,bird1-ipv4,4, --disable-ipv6))
218 $(eval $(call Build/Template,bird1-ipv6,6, --enable-ipv6))
220 $(eval $(call BuildPackage,bird1-ipv4))
221 $(eval $(call BuildPackage,bird1c-ipv4))
222 $(eval $(call BuildPackage,bird1cl-ipv4))
223 $(eval $(call BuildPackage,bird1-ipv6))
224 $(eval $(call BuildPackage,bird1c-ipv6))
225 $(eval $(call BuildPackage,bird1cl-ipv6))