2 # Copyright (C) 2009-2010 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR)/rules.mk
10 PKG_NAME:=quagga-unstable
14 PKG_SOURCE:=quagga-$(PKG_VERSION).tar.gz
15 PKG_SOURCE_URL:=http://www.quagga.net/download/ \
16 http://www.de.quagga.net/download/ \
17 http://www.uk.quagga.net/download/
18 PKG_MD5SUM:=8975414c76a295f4855a417af0b5ddce
20 PKG_BUILD_DIR:=$(BUILD_DIR)/quagga-$(PKG_VERSION)
22 PKG_CONFIG_DEPENDS:= \
23 CONFIG_PACKAGE_quagga-unstable-isisd \
24 CONFIG_PACKAGE_quagga-unstable-ripngd
28 include $(INCLUDE_DIR)/package.mk
30 define Package/quagga-unstable/Default
33 DEPENDS:=quagga-unstable
34 TITLE:=The Quagga Software Routing Suite
35 URL:=http://www.quagga.net
38 define Package/quagga-unstable
39 $(call Package/quagga-unstable/Default)
44 define Package/quagga-unstable/description
45 A routing software package that provides TCP/IP based routing services
46 with routing protocols support such as RIPv1, RIPv2, RIPng, OSPFv2,
47 OSPFv3, BGP-4, and BGP-4+
50 define Package/quagga-unstable-libzebra
51 $(call Package/quagga-unstable/Default)
55 define Package/quagga-unstable-libospf
56 $(call Package/quagga-unstable/Default)
60 define Package/quagga-unstable-bgpd
61 $(call Package/quagga-unstable/Default)
62 DEPENDS+= +quagga-unstable-libzebra
63 TITLE:=BGPv4, BGPv4+, BGPv4- routing engine
66 define Package/quagga-unstable-isisd
67 $(call Package/quagga-unstable/Default)
68 TITLE:=IS-IS routing engine
71 define Package/quagga-unstable-ospfd
72 $(call Package/quagga-unstable/Default)
73 DEPENDS+= +quagga-unstable-libospf +quagga-unstable-libzebra
74 TITLE:=OSPFv2 routing engine
77 define Package/quagga-unstable-ospf6d
78 $(call Package/quagga-unstable/Default)
79 DEPENDS+= +quagga-unstable-libospf +quagga-unstable-libzebra @IPV6
80 TITLE:=OSPFv3 routing engine
83 define Package/quagga-unstable-ripd
84 $(call Package/quagga-unstable/Default)
85 DEPENDS+= +quagga-unstable-libzebra
86 TITLE:=RIP routing engine
89 define Package/quagga-unstable-ripngd
90 $(call Package/quagga-unstable/Default)
91 DEPENDS+= +quagga-unstable-libzebra @BROKEN
92 TITLE:=RIPNG routing engine
95 define Package/quagga-unstable-vtysh
96 $(call Package/quagga-unstable/Default)
97 DEPENDS+= quagga-unstable-libzebra +libreadline +libncurses
98 TITLE:=integrated shell for Quagga routing software
102 --localstatedir=/var/run/quagga \
103 --sysconfdir=/etc/quagga/ \
107 --enable-user=quagga \
108 --enable-group=quagga \
110 --enable-multipath=8 \
112 ifneq ($(CONFIG_PACKAGE_quagga-unstable-isisd),)
113 CONFIGURE_ARGS+= --enable-isisd
116 ifneq ($(CONFIG_PACKAGE_quagga-unstable-ripngd),)
117 CONFIGURE_ARGS+= --enable-ripngd
120 define Package/quagga-unstable/install
121 $(INSTALL_DIR) $(1)/usr/sbin
122 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/zebra $(1)/usr/sbin/
123 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/watchquagga $(1)/usr/sbin/
124 # avoid /etc being set to 0750
125 $(INSTALL_DIR) $(1)/etc/quagga
126 chmod 0750 $(1)/etc/quagga
127 $(INSTALL_DATA) ./files/quagga.conf $(1)/etc/quagga/zebra.conf
128 $(INSTALL_DIR) $(1)/etc/init.d
129 $(INSTALL_BIN) ./files/quagga $(1)/usr/sbin/quagga.init
130 $(INSTALL_BIN) ./files/quagga.init $(1)/etc/init.d/quagga
133 define Package/quagga-unstable/postinst
139 # do not change below
140 # check if we are on real system
141 if [ -z "$${IPKG_INSTROOT}" ]; then
142 # create copies of passwd and group, if we use squashfs
143 rootfs=`mount |awk '/root/ { print $$5 }'`
144 if [ "$$rootfs" = "squashfs" ]; then
145 if [ -h /etc/group ]; then
147 cp /rom/etc/group /etc/group
149 if [ -h /etc/passwd ]; then
151 cp /rom/etc/passwd /etc/passwd
157 if [ -z "$$(grep ^\\$${name}: $${IPKG_INSTROOT}/etc/group)" ]; then
158 echo "adding group $$name to /etc/group"
159 echo "$${name}:x:$${id}:" >> $${IPKG_INSTROOT}/etc/group
162 if [ -z "$$(grep ^\\$${name}: $${IPKG_INSTROOT}/etc/passwd)" ]; then
163 echo "adding user $$name to /etc/passwd"
164 echo "$${name}:x:$${id}:$${id}:$${name}:/tmp/.$${name}:/bin/false" >> $${IPKG_INSTROOT}/etc/passwd
167 grep -q '^zebra[[:space:]]*2601/tcp' $${IPKG_INSTROOT}/etc/services 2>/dev/null
168 if [ $$? -ne 0 ]; then
169 echo "zebrasrv 2600/tcp" >>$${IPKG_INSTROOT}/etc/services
170 echo "zebra 2601/tcp" >>$${IPKG_INSTROOT}/etc/services
171 echo "ripd 2602/tcp" >>$${IPKG_INSTROOT}/etc/services
172 echo "ripngd 2603/tcp" >>$${IPKG_INSTROOT}/etc/services
173 echo "ospfd 2604/tcp" >>$${IPKG_INSTROOT}/etc/services
174 echo "bgpd 2605/tcp" >>$${IPKG_INSTROOT}/etc/services
175 echo "ospf6d 2606/tcp" >>$${IPKG_INSTROOT}/etc/services
176 echo "ospfapi 2607/tcp" >>$${IPKG_INSTROOT}/etc/services
177 echo "isisd 2608/tcp" >>$${IPKG_INSTROOT}/etc/services
181 define Package/quagga-unstable-bgpd/install
182 $(INSTALL_DIR) $(1)/usr/sbin
183 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/bgpd $(1)/usr/sbin/
184 $(INSTALL_DIR) $(1)/etc/quagga
185 chmod 0750 $(1)/etc/quagga
186 $(INSTALL_DATA) ./files/quagga.conf $(1)/etc/quagga/bgpd.conf
189 define Package/quagga-unstable-isisd/install
190 $(INSTALL_DIR) $(1)/usr/sbin
191 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/isisd $(1)/usr/sbin/
192 $(INSTALL_DIR) $(1)/etc/quagga
193 chmod 0750 $(1)/etc/quagga
194 $(INSTALL_DATA) ./files/quagga.conf $(1)/etc/quagga/isisd.conf
197 define Package/quagga-unstable-ospfd/install
198 $(INSTALL_DIR) $(1)/usr/sbin
199 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ospfd $(1)/usr/sbin/
200 $(INSTALL_DIR) $(1)/etc/quagga
201 chmod 0750 $(1)/etc/quagga
202 $(INSTALL_DATA) ./files/quagga.conf $(1)/etc/quagga/ospfd.conf
205 define Package/quagga-unstable-ospf6d/install
206 $(INSTALL_DIR) $(1)/usr/sbin
207 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ospf6d $(1)/usr/sbin/
208 $(INSTALL_DIR) $(1)/etc/quagga
209 chmod 0750 $(1)/etc/quagga
210 $(INSTALL_DATA) ./files/quagga.conf $(1)/etc/quagga/ospf6d.conf
213 define Package/quagga-unstable-ripd/install
214 $(INSTALL_DIR) $(1)/usr/sbin
215 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ripd $(1)/usr/sbin/
216 $(INSTALL_DIR) $(1)/etc/quagga
217 chmod 0750 $(1)/etc/quagga
218 $(INSTALL_DATA) ./files/quagga.conf $(1)/etc/quagga/ripd.conf
221 define Package/quagga-unstable-ripngd/install
222 $(INSTALL_DIR) $(1)/usr/sbin
223 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ripngd $(1)/usr/sbin/
224 $(INSTALL_DIR) $(1)/etc/quagga
225 chmod 0750 $(1)/etc/quagga
226 $(INSTALL_DATA) ./files/quagga.conf $(1)/etc/quagga/ripngd.conf
229 define Package/quagga-unstable-vtysh/install
230 $(INSTALL_DIR) $(1)/usr/bin
231 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/vtysh $(1)/usr/bin/
234 define Package/quagga-unstable-libospf/install
235 $(INSTALL_DIR) $(1)/usr/lib
236 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libospf.so.* $(1)/usr/lib/
239 define Package/quagga-unstable-libzebra/install
240 $(INSTALL_DIR) $(1)/usr/lib
241 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libzebra.so.* $(1)/usr/lib/
244 $(eval $(call BuildPackage,quagga-unstable))
245 $(eval $(call BuildPackage,quagga-unstable-libzebra))
246 $(eval $(call BuildPackage,quagga-unstable-libospf))
247 $(eval $(call BuildPackage,quagga-unstable-bgpd))
248 $(eval $(call BuildPackage,quagga-unstable-isisd))
249 $(eval $(call BuildPackage,quagga-unstable-ospfd))
250 $(eval $(call BuildPackage,quagga-unstable-ospf6d))
251 $(eval $(call BuildPackage,quagga-unstable-ripd))
252 $(eval $(call BuildPackage,quagga-unstable-ripngd))
253 $(eval $(call BuildPackage,quagga-unstable-vtysh))