quagga : convert to autotools infrastructure & bump to 0.99.12
authorcmchao <cmchao@gmail.com>
Wed, 16 Jun 2010 11:47:14 +0000 (19:47 +0800)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thu, 24 Jun 2010 11:51:09 +0000 (13:51 +0200)
Changes by Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

 * Installation to target is the default
 * No installation to staging is the default
 * The QUAGGA_HEADERS option does not exist
 * BOA_INSTALL_TARGETS_CMDS wouldn't work in the Quagga package, and
   was anyway doing the default action
 * The QUAGGA_BINARY/QUAGGA_TARGET_BINARY variables were not used
 * Bump to 0.99.16, which fixes a problem when IPv6 is not enabled

Signed-off-by: cmchao <cmchao@gmail.com>
merge quagga

package/quagga/quagga-0.99.16-fix-ipctl-forwarding.patch [new file with mode: 0644]
package/quagga/quagga.mk

diff --git a/package/quagga/quagga-0.99.16-fix-ipctl-forwarding.patch b/package/quagga/quagga-0.99.16-fix-ipctl-forwarding.patch
new file mode 100644 (file)
index 0000000..e2e3421
--- /dev/null
@@ -0,0 +1,27 @@
+Add definitions for IPCTL_FORWARDING and IP6CTL_FORWARDING.
+
+Inspired from
+http://svn.gnumonks.org/trunk/grouter/build/src/quagga/quagga/quagga-0.99.1-forward_sysctl-2.6.14.patch
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: quagga-0.99.16/zebra/ipforward_sysctl.c
+===================================================================
+--- quagga-0.99.16.orig/zebra/ipforward_sysctl.c       2010-06-20 23:40:45.000000000 +0200
++++ quagga-0.99.16/zebra/ipforward_sysctl.c    2010-06-20 23:41:37.000000000 +0200
+@@ -31,6 +31,15 @@
+ #define MIB_SIZ 4
++/* Fix for recent (2.6.14) kernel headers */
++#ifndef IPCTL_FORWARDING
++#define IPCTL_FORWARDING NET_IPV4_FORWARD
++#endif
++
++#ifndef IP6CTL_FORWARDING
++#define IP6CTL_FORWARDING NET_IPV6_FORWARDING
++#endif
++
+ extern struct zebra_privs_t zserv_privs;
+ /* IPv4 forwarding control MIB. */
index 30ebd359b3a6461f2ac36a27f058d06d96519613..79c0b71cdf1a465c892f43a34fb198dec423d1e0 100644 (file)
 # quagga suite
 #
 #############################################################
-QUAGGA_VERSION:=0.99.9
+QUAGGA_VERSION:=0.99.16
 QUAGGA_SOURCE:=quagga-$(QUAGGA_VERSION).tar.gz
-QUAGGA_SITE:=http://www.quagga.net/download/attic
-QUAGGA_DIR:=$(BUILD_DIR)/quagga-$(QUAGGA_VERSION)
-QUAGGA_CAT:=$(ZCAT)
+QUAGGA_SITE:=http://www.quagga.net/download/
 
-QUAGGA_CONFIGURE:=
-QUAGGA_DEPENDENCIES:=
+QUAGGA_DEPENDENCIES = host-gawk
+QUAGGA_LIBTOOL_PATCH = NO
+QUAGGA_CONF_OPT = --program-transform-name=''
 
 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
+QUAGGA_CONF_OPT+=--enable-zebra
 else
-QUAGGA_CONFIGURE+=--disable-zebra
+QUAGGA_CONF_OPT+=--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
+QUAGGA_CONF_OPT+=--enable-bgpd
 else
-QUAGGA_CONFIGURE+=--disable-bgpd
+QUAGGA_CONF_OPT+=--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
+QUAGGA_CONF_OPT+=--enable-ripd
 else
-QUAGGA_CONFIGURE+=--disable-ripd
+QUAGGA_CONF_OPT+=--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
+QUAGGA_CONF_OPT+=--enable-ripngd
 else
-QUAGGA_CONFIGURE+=--disable-ripngd
+QUAGGA_CONF_OPT+=--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
+QUAGGA_CONF_OPT+=--enable-ospfd
 else
-QUAGGA_CONFIGURE+=--disable-ospfd
+QUAGGA_CONF_OPT+=--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
+QUAGGA_CONF_OPT+=--enable-ospf6d
 else
-QUAGGA_CONFIGURE+=--disable-ospf6d
+QUAGGA_CONF_OPT+=--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
+QUAGGA_CONF_OPT+=--enable-watchquagga
 else
-QUAGGA_CONFIGURE+=--disable-watchquagga
+QUAGGA_CONF_OPT+=--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
+QUAGGA_CONF_OPT+=--enable-isisd
 else
-QUAGGA_CONFIGURE+=--disable-isisd
+QUAGGA_CONF_OPT+=--disable-isisd
 endif
 
-
 ifeq ($(BR2_PACKAGE_QUAGGA_BGP_ANNOUNCE),y)
-QUAGGA_CONFIGURE+=--enable-bgp-announce
+QUAGGA_CONF_OPT+=--enable-bgp-announce
 else
-QUAGGA_CONFIGURE+=--disable-bgp-announce
+QUAGGA_CONF_OPT+=--disable-bgp-announce
 endif
+
 ifeq ($(BR2_PACKAGE_QUAGGA_NETLINK),y)
-QUAGGA_CONFIGURE+=--enable-netlink
+QUAGGA_CONF_OPT+=--enable-netlink
 else
-QUAGGA_CONFIGURE+=--disable-netlink
+QUAGGA_CONF_OPT+=--disable-netlink
 endif
+
 ifeq ($(BR2_PACKAGE_QUAGGA_SNMP),y)
-QUAGGA_CONFIGURE+=--enable-snmp
+QUAGGA_CONF_OPT+=--enable-snmp
 QUAGGA_DEPENDENCIES+=netsnmp
 else
-QUAGGA_CONFIGURE+=--disable-snmp
+QUAGGA_CONF_OPT+=--disable-snmp
 endif
+
 ifeq ($(BR2_PACKAGE_QUAGGA_TCP_ZEBRA),y)
-QUAGGA_CONFIGURE+=--enable-tcp-zebra
+QUAGGA_CONF_OPT+=--enable-tcp-zebra
 else
-QUAGGA_CONFIGURE+=--disable-tcp-zebra
+QUAGGA_CONF_OPT+=--disable-tcp-zebra
 endif
+
 ifeq ($(BR2_PACKAGE_QUAGGA_OPAGUE_LSA),y)
-QUAGGA_CONFIGURE+=--enable-opaque-lsa
+QUAGGA_CONF_OPT+=--enable-opaque-lsa
 else
-QUAGGA_CONFIGURE+=--disable-opaque-lsa
-endif
-
-$(DL_DIR)/$(QUAGGA_SOURCE):
-       $(call DOWNLOAD,$(QUAGGA_SITE),$(QUAGGA_SOURCE))
-
-ifneq ($(QUAGGA_PATCH),)
-QUAGGA_PATCH_FILE=$(DL_DIR)/$(QUAGGA_PATCH)
-$(DL_DIR)/$(QUAGGA_PATCH):
-       $(call DOWNLOAD,$(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 $(QUIET) \
-               --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
-       $(MAKE) $(TARGET_CONFIGURE_OPTS) -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
+QUAGGA_CONF_OPT+=--disable-opaque-lsa
 endif
 
-quagga: $(QUAGGA_DEPENDENCIES) $(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 ($(BR2_PACKAGE_QUAGGA),y)
-TARGETS+=quagga
-endif
+$(eval $(call AUTOTARGETS,package,quagga))