- add quagga suite

This commit is contained in:
Bernhard Reutner-Fischer 2007-06-28 15:55:00 +00:00
parent 79e2d802ae
commit 1548b21ce2
3 changed files with 295 additions and 0 deletions

View File

@ -163,6 +163,7 @@ source "package/openswan/Config.in"
source "package/portmap/Config.in"
source "package/pppd/Config.in"
source "package/proftpd/Config.in"
source "package/quagga/Config.in"
source "package/rsync/Config.in"
source "package/samba/Config.in"
source "package/socat/Config.in"

113
package/quagga/Config.in Normal file
View File

@ -0,0 +1,113 @@
config BR2_PACKAGE_QUAGGA
bool
default n
comment "quagga suite"
config BR2_PACKAGE_QUAGGA_ZEBRA
bool "quagga zebra"
default n
select BR2_PACKAGE_QUAGGA
help
routing software suite, providing implementations of
OSPFv2, OSPFv3, RIP v1 and v2, RIPng and BGP-4.
http://www.quagga.net/
config BR2_PACKAGE_QUAGGA_BGPD
bool "quagga bgpd"
default n
select BR2_PACKAGE_QUAGGA
help
routing software suite, providing implementations of
OSPFv2, OSPFv3, RIP v1 and v2, RIPng and BGP-4.
http://www.quagga.net/
config BR2_PACKAGE_QUAGGA_RIPD
bool "quagga ripd"
default n
select BR2_PACKAGE_QUAGGA
help
routing software suite, providing implementations of
OSPFv2, OSPFv3, RIP v1 and v2, RIPng and BGP-4.
http://www.quagga.net/
config BR2_PACKAGE_QUAGGA_RIPNGD
bool "quagga ripngd"
default n
select BR2_PACKAGE_QUAGGA
help
routing software suite, providing implementations of
OSPFv2, OSPFv3, RIP v1 and v2, RIPng and BGP-4.
http://www.quagga.net/
config BR2_PACKAGE_QUAGGA_OSPFD
bool "quagga ospfd"
default n
select BR2_PACKAGE_QUAGGA
help
routing software suite, providing implementations of
OSPFv2, OSPFv3, RIP v1 and v2, RIPng and BGP-4.
http://www.quagga.net/
config BR2_PACKAGE_QUAGGA_OSPF6D
bool "quagga ospf6d"
default n
select BR2_PACKAGE_QUAGGA
depends BR2_INET_IPV6
help
routing software suite, providing implementations of
OSPFv2, OSPFv3, RIP v1 and v2, RIPng and BGP-4.
http://www.quagga.net/
config BR2_PACKAGE_QUAGGA_WATCHQUAGGA
bool "quagga watchquagga"
default n
select BR2_PACKAGE_QUAGGA
help
routing software suite, providing implementations of
OSPFv2, OSPFv3, RIP v1 and v2, RIPng and BGP-4.
http://www.quagga.net/
config BR2_PACKAGE_QUAGGA_ISISD
bool "isisd"
default n
select BR2_PACKAGE_QUAGGA
help
routing software suite, providing implementations of
OSPFv2, OSPFv3, RIP v1 and v2, RIPng and BGP-4.
http://www.quagga.net/
if BR2_PACKAGE_QUAGGA
comment "common options for quagga suite"
config BR2_PACKAGE_QUAGGA_BGP_ANNOUNCE
bool "BGP route announcement"
default n
config BR2_PACKAGE_QUAGGA_NETLINK
bool "quagga: use linux netlink interface"
default y
config BR2_PACKAGE_QUAGGA_SNMP
bool "quagga: SNMP support"
default n
config BR2_PACKAGE_QUAGGA_TCP_ZEBRA
bool "quagga: TCP/IP socket connection between zebra and proto daemon"
default n
config BR2_PACKAGE_QUAGGA_OPAGUE_LSA
bool "quagga: OSPF Opaque-LSA with OSPFAPI support (RFC2370)"
default n
config BR2_PACKAGE_QUAGGA_CONFIGURE
string "quagga: extra configure options"
default ""
endif

181
package/quagga/quagga.mk Normal file
View File

@ -0,0 +1,181 @@
#############################################################
#
# quagga suite
#
#############################################################
QUAGGA_VER:=0.99.7
QUAGGA_SOURCE:=quagga-$(QUAGGA_VER).tar.gz
QUAGGA_SITE:=http://www.quagga.net/download
QUAGGA_DIR:=$(BUILD_DIR)/quagga-$(QUAGGA_VER)
QUAGGA_CAT:=$(ZCAT)
QUAGGA_CONFIGURE:=
ifeq ($(BR2_PACKAGE_QUAGGA_ZEBRA),y)
QUAGGA_CONFIGURE+=--enable-zebra
ifndef QUAGGA_TARGET_BINARY
QUAGGA_TARGET_BINARY=zebra
QUAGGA_BINARY=$(QUAGGA_DIR)/zebra/.libs/zebra
endif
else
QUAGGA_CONFIGURE+=--disable-zebra
endif
ifeq ($(BR2_PACKAGE_QUAGGA_BGPD),y)
QUAGGA_CONFIGURE+=--enable-bgpd
ifndef QUAGGA_TARGET_BINARY
QUAGGA_TARGET_BINARY=bgpd
QUAGGA_BINARY=$(QUAGGA_DIR)/bgpd/.libs/bgpd
endif
else
QUAGGA_CONFIGURE+=--disable-bgpd
endif
ifeq ($(BR2_PACKAGE_QUAGGA_RIPD),y)
QUAGGA_CONFIGURE+=--enable-ripd
ifndef QUAGGA_TARGET_BINARY
QUAGGA_TARGET_BINARY=ripd
QUAGGA_BINARY=$(QUAGGA_DIR)/ripd/.libs/ripd
endif
else
QUAGGA_CONFIGURE+=--disable-ripd
endif
ifeq ($(BR2_PACKAGE_QUAGGA_RIPNGD),y)
QUAGGA_CONFIGURE+=--enable-ripngd
ifndef QUAGGA_TARGET_BINARY
QUAGGA_TARGET_BINARY=ripngd
QUAGGA_BINARY=$(QUAGGA_DIR)/ripngd/.libs/ripngd
endif
else
QUAGGA_CONFIGURE+=--disable-ripngd
endif
ifeq ($(BR2_PACKAGE_QUAGGA_OSPFD),y)
QUAGGA_CONFIGURE+=--enable-ospfd
ifndef QUAGGA_TARGET_BINARY
QUAGGA_TARGET_BINARY=ospfd
QUAGGA_BINARY=$(QUAGGA_DIR)/ospfd/.libs/ospfd
endif
else
QUAGGA_CONFIGURE+=--disable-ospfd
endif
ifeq ($(BR2_PACKAGE_QUAGGA_OSPF6D),y)
QUAGGA_CONFIGURE+=--enable-ospf6d
ifndef QUAGGA_TARGET_BINARY
QUAGGA_TARGET_BINARY=ospf6d
QUAGGA_BINARY=$(QUAGGA_DIR)/ospf6d/.libs/ospf6d
endif
else
QUAGGA_CONFIGURE+=--disable-ospf6d
endif
ifeq ($(BR2_PACKAGE_QUAGGA_WATCHQUAGGA),y)
QUAGGA_CONFIGURE+=--enable-watchquagga
ifndef QUAGGA_TARGET_BINARY
QUAGGA_TARGET_BINARY=watchquagga
QUAGGA_BINARY=$(QUAGGA_DIR)/watchquagga/.libs/watchquagga
endif
else
QUAGGA_CONFIGURE+=--disable-watchquagga
endif
ifeq ($(BR2_PACKAGE_QUAGGA_ISISD),y)
QUAGGA_CONFIGURE+=--enable-isisd
ifndef QUAGGA_TARGET_BINARY
QUAGGA_TARGET_BINARY=isisd
QUAGGA_BINARY=$(QUAGGA_DIR)/isisd/.libs/isisd
endif
else
QUAGGA_CONFIGURE+=--disable-isisd
endif
ifeq ($(BR2_PACKAGE_QUAGGA_BGP_ANNOUNCE),y)
QUAGGA_CONFIGURE+=--enable-bgp-announce
else
QUAGGA_CONFIGURE+=--disable-bgp-announce
endif
ifeq ($(BR2_PACKAGE_QUAGGA_NETLINK),y)
QUAGGA_CONFIGURE+=--enable-netlink
else
QUAGGA_CONFIGURE+=--disable-netlink
endif
ifeq ($(BR2_PACKAGE_QUAGGA_SNMP),y)
QUAGGA_CONFIGURE+=--enable-snmp
else
QUAGGA_CONFIGURE+=--disable-snmp
endif
ifeq ($(BR2_PACKAGE_QUAGGA_TCP_ZEBRA),y)
QUAGGA_CONFIGURE+=--enable-tcp-zebra
else
QUAGGA_CONFIGURE+=--disable-tcp-zebra
endif
ifeq ($(BR2_PACKAGE_QUAGGA_OPAGUE_LSA),y)
QUAGGA_CONFIGURE+=--enable-opaque-lsa
else
QUAGGA_CONFIGURE+=--disable-opaque-lsa
endif
QUAGGA_CONFIGURE+=$(subst ",,$(BR2_PACKAGE_QUAGGA_CONFIGURE))
# ")
$(DL_DIR)/$(QUAGGA_SOURCE):
$(WGET) -P $(DL_DIR) $(QUAGGA_SITE)/$(QUAGGA_SOURCE)
ifneq ($(QUAGGA_PATCH),)
QUAGGA_PATCH_FILE=$(DL_DIR)/$(QUAGGA_PATCH)
$(DL_DIR)/$(QUAGGA_PATCH):
$(WGET) -P $(DL_DIR) $(QUAGGA_SITE)/$(QUAGGA_PATCH)
endif
quagga-source: $(DL_DIR)/$(QUAGGA_SOURCE) $(QUAGGA_PATCH_FILE)
$(QUAGGA_DIR)/.unpacked: $(DL_DIR)/$(QUAGGA_SOURCE) $(DL_DIR)/$(QUAGGA_PATCH)
$(QUAGGA_CAT) $(DL_DIR)/$(QUAGGA_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
toolchain/patch-kernel.sh $(QUAGGA_DIR) package/quagga/ quagga\*.patch
ifneq ($(QUAGGA_PATCH),)
(cd $(QUAGGA_DIR) && $(QUAGGA_CAT) $(DL_DIR)/$(QUAGGA_PATCH) | patch -p1)
if [ -d $(QUAGGA_DIR)/debian/patches ]; then \
toolchain/patch-kernel.sh $(QUAGGA_DIR) $(QUAGGA_DIR)/debian/patches \*.patch ; \
fi
endif
touch $@
$(QUAGGA_DIR)/.configured: $(QUAGGA_DIR)/.unpacked
(cd $(QUAGGA_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \
$(TARGET_CONFIGURE_ARGS) \
./configure \
--target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
--prefix=/usr \
--sysconfdir=/etc \
$(DISABLE_LARGEFILE) \
$(DISABLE_IPV6) \
$(QUAGGA_CONFIGURE) \
--program-transform-name='' \
);
touch $@
$(QUAGGA_BINARY): $(QUAGGA_DIR)/.configured
$(TARGET_CONFIGURE_OPTS) $(MAKE) CC=$(TARGET_CC) -C $(QUAGGA_DIR)
$(TARGET_DIR)/usr/sbin/$(QUAGGA_TARGET_BINARY): $(QUAGGA_BINARY)
$(MAKE) DESTDIR=$(TARGET_DIR) -C $(QUAGGA_DIR) install
ifneq ($(BR2_PACKAGE_QUAGGA_HEADERS),y)
rm -rf $(TARGET_DIR)/usr/include/quagga
endif
ifneq ($(BR2_HAVE_MANPAGES),y)
rm -rf $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/info
endif
quagga: uclibc $(TARGET_DIR)/usr/sbin/$(QUAGGA_TARGET_BINARY)
quagga-clean:
-$(MAKE) DESTDIR=$(TARGET_DIR) -C $(QUAGGA_DIR) uninstall
-$(MAKE) -C $(QUAGGA_DIR) clean
quagga-dirclean:
rm -rf $(QUAGGA_DIR)
#############################################################
#
# Toplevel Makefile options
#
#############################################################
ifeq ($(strip $(BR2_PACKAGE_QUAGGA)),y)
TARGETS+=quagga
endif