Browse Source

disable global ipv6 configuration symbol, use flavours instead

Waldemar Brodkorb 13 years ago
parent
commit
6aa7532505

+ 0 - 12
Config.in

@@ -180,18 +180,6 @@ config ADK_RUNTIME_TIMEZONE
 endmenu
 
 menu "Package selection"
-config ADK_ENABLE_IPV6
-	prompt "enable IPv6 globally"
-	boolean
-	default y
-	# FIXME: selecting stuff here is ugly, better fix package flavours to
-	#        support a symbol-value-based default (i.e., "default y if IPV6")
-	select ADK_PACKAGE_NFS_UTILS_WITH_TIRPC if ADK_PACKAGE_NFS_UTILS != n
-	help
-	  This enables IPv6 support in all related applications. Basically this
-	  just means passing --enable-ipv6 to the configure script, but the
-	  exception proves the rule. ;)
-
 source "package/Config.in.auto.global"
 source "package/Config.in.auto"
 endmenu

+ 0 - 1
TODO

@@ -1,6 +1,5 @@
 - fix ARM OABI support
 - fix watchdog for alix1c (mfgpt timers problem)
-- convert global ipv6 to flavours
 - add support for brcm 2.6 (flash support)
 - macos x build
 - help text for config/ needs adoption

+ 0 - 5
mk/package.mk

@@ -42,11 +42,6 @@ endif
 ifeq ($(filter minimal,${CONFIG_STYLE}),)
 ifneq ($(ADK_DEBUG),)
 CONFIGURE_ARGS+=	--enable-debug
-else
-CONFIGURE_ARGS+=	--disable-debug
-endif
-ifeq ($(ADK_ENABLE_IPV6),y)
-CONFIGURE_ARGS+=	--enable-ipv6
 endif
 endif
 

+ 1 - 2
mk/pkg-bottom.mk

@@ -129,8 +129,7 @@ post-install:
 ${_FAKE_COOKIE}: ${_BUILD_COOKIE}
 	-rm -f ${_ALL_CONTROLS}
 	@mkdir -p '${STAGING_PARENT}/pkg' ${WRKINST} '${STAGING_DIR}/scripts'
-	@mkdir -p ${WRKINST}/{sbin,bin,etc,lib}
-	@mkdir -p ${WRKINST}/usr/{sbin,bin,etc,lib}
+	@mkdir -p ${WRKINST}/{sbin,bin,etc,lib} ${WRKINST}/usr/{sbin,bin,lib}
 	@${MAKE} ${_ALL_CONTROLS} $(MAKE_TRACE)
 	@env ${MAKE_ENV} ${MAKE} pre-install $(MAKE_TRACE)
 ifneq ($(filter manual,${INSTALL_STYLE}),)

+ 12 - 2
package/apr/Makefile

@@ -13,6 +13,9 @@ PKG_DEPENDS:=		libpthread
 PKG_URL:=		http://apr.apache.org
 PKG_SITES:=		http://gd.tuwien.ac.at/infosys/servers/http/apache/dist/${PKG_NAME}/
 
+PKG_FLAVOURS:=		WITH_IPV6
+PKGFD_WITH_IPV6:=	enable IPv6 support
+
 include ${TOPDIR}/mk/package.mk
 
 $(eval $(call PKG_template,APR,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
@@ -25,8 +28,15 @@ CONFIGURE_ENV+=		ac_cv_file__dev_zero=yes
 CONFIGURE_ENV+=		apr_cv_process_shared_works=no
 CONFIGURE_ENV+=		ac_cv_lib_nsl_gethostbyname=no
 CONFIGURE_ENV+=		apr_cv_tcp_nodelay_with_cork=no
-CONFIGURE_ARGS+=	--with-devrandom=/dev/urandom
-CONFIGURE_ARGS+=	--enable-threads
+
+CONFIGURE_ARGS+=	--with-devrandom=/dev/urandom \
+			--enable-threads
+
+ifneq (${ADK_PACKAGE_LIBPCAP_WITH_IPV6},)
+CONFIGURE_ARGS+=	--enable-ipv6
+else
+CONFIGURE_ARGS+=	--disable-ipv6
+endif
 
 post-install:
 	${INSTALL_DIR} ${IDIR_APR}/usr/lib

+ 9 - 0
package/bind/Makefile

@@ -22,6 +22,9 @@ PKG_DESCR_5:=		dnssec utilities
 PKG_DESCR_6:=		host utility
 PKG_DESCR_7:=		dig utility
 
+PKG_FLAVOURS:=		WITH_IPV6
+PKGFD_WITH_IPV6:=	enable IPv6 support
+
 include ${TOPDIR}/mk/package.mk
 
 $(eval $(call PKG_template,BIND_SERVER,bind-server,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
@@ -40,6 +43,12 @@ CONFIGURE_ARGS+=	--with-randomdev=/dev/urandom \
 			--enable-epoll \
 			--with-libtool
 
+ifneq (${ADK_PACKAGE_BIND_WITH_IPV6},)
+CONFIGURE_ARGS+=	--enable-ipv6
+else
+CONFIGURE_ARGS+=	--disable-ipv6
+endif
+
 pre-build:
 	${MAKE} -C ${WRKBUILD}/lib/dns \
 		BUILD_CC="${HOSTCC}" \

+ 1 - 3
package/bluez/Makefile

@@ -19,9 +19,7 @@ include ${TOPDIR}/mk/package.mk
 $(eval $(call PKG_template,BLUEZ,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 
 ifeq ($(ADK_STATIC),y)
-XAKE_FLAGS+=		V=1 CCLD="$(TARGET_CC) -all-static -pthread"
-else
-XAKE_FLAGS+=            V=1
+XAKE_FLAGS+=		CCLD="$(TARGET_CC) -all-static -pthread"
 endif
 CONFIGURE_ENV+=		ac_cv_prog_cc_pie=no
 CONFIGURE_ARGS+=	--enable-tools \

+ 13 - 10
package/curl/Makefile

@@ -4,21 +4,15 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		curl
-PKG_VERSION:=		7.20.1
+PKG_VERSION:=		7.21.0
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		d7df0507db48546661b155b612cac19c
+PKG_MD5SUM:=		6dfb911a254a1b5ca8b534b98f2196aa
 PKG_DESCR:=		a client-side URL transfer tool
 PKG_SECTION:=		www
 PKG_DEPENDS:=		libcurl
 PKG_BUILDDEP+=		openssl zlib
-PKG_URL:=		http://curl.haxx.se
-PKG_SITES:=		http://curl.haxx.se/download/ \
-			http://www.mirrorspace.org/curl/ \
-			http://curl.mirror.internet.tp/download/ \
-			ftp://ftp.sunet.se/pub/www/utilities/curl/ \
-			ftp://ftp.planetmirror.com/pub/curl/ \
-			http://www.mirrormonster.com/curl/download/ \
-			http://curl.mirrors.cyberservers.net/download/
+PKG_URL:=		http://curl.haxx.se/
+PKG_SITES:=		http://curl.haxx.se/download/
 
 PKG_DESCR_LIB:=		a client-side URL transfer library
 PKG_SECTION_LIB:=	libs
@@ -26,6 +20,9 @@ PKG_DEPENDS_LIB:=	libopenssl zlib
 PKG_DESCR_LIB_DEV:=	development files for libcurl
 PKG_SECTION_LIB_DEV:=	devel
 
+PKG_FLAVOURS:=		WITH_IPV6
+PKGFD_WITH_IPV6:=	enable IPv6 support
+
 include ${TOPDIR}/mk/package.mk
 
 $(eval $(call PKG_template,CURL,curl,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
@@ -59,6 +56,12 @@ CONFIGURE_ARGS+=	--disable-thread \
 			--without-gnutls \
 			--without-libidn
 
+ifneq (${ADK_PACKAGE_CURL_WITH_IPV6},)
+CONFIGURE_ARGS+=	--enable-ipv6
+else
+CONFIGURE_ARGS+=	--disable-ipv6
+endif
+
 post-install: ${SUB_INSTALLS-m} ${SUB_INSTALLS-y}
 	${INSTALL_DIR} ${IDIR_LIBCURL}/usr/lib
 	${CP} ${WRKINST}/usr/lib/libcurl.so* ${IDIR_LIBCURL}/usr/lib/

+ 1 - 2
package/e2fsprogs/Makefile

@@ -10,7 +10,7 @@ PKG_MD5SUM:=		1b24a21fc0c2381ef420961cbfec733f
 PKG_DESCR:=		Ext2/3/4 filesystem utilities
 PKG_SECTION:=		fs
 PKG_DEPENDS:=		libcom-err libuuid libblkid libpthread
-PKG_URL:=		http://e2fsprogs.sourceforge.net
+PKG_URL:=		http://e2fsprogs.sourceforge.net/
 PKG_SITES:=		${MASTER_SITE_SOURCEFORGE:=e2fsprogs/}
 
 PKG_DESCR_UUID:=	UUID library
@@ -30,7 +30,6 @@ $(eval $(call PKG_template,LIBCOM_ERR,libcom-err,${PKG_VERSION}-${PKG_RELEASE},,
 $(eval $(call PKG_template,LIBSS,libss,${PKG_VERSION}-${PKG_RELEASE},,${PKG_DESCR_SS},${PKG_SECTION_SS}))
 $(eval $(call PKG_template,LIBBLKID,libblkid,${PKG_VERSION}-${PKG_RELEASE},,${PKG_DESCR_BLKID},${PKG_SECTION_BLKID}))
 
-XAKE_FLAGS+=		V=1
 CONFIGURE_ARGS+=	--enable-elf-shlibs \
 			--disable-tls \
 			--enable-dynamic-e2fsck

+ 9 - 0
package/elinks/Makefile

@@ -14,6 +14,9 @@ PKG_BUILDDEP+=		openssl
 PKG_URL:=		http://elinks.or.cz/
 PKG_SITES:=		http://elinks.or.cz/download/
 
+PKG_FLAVOURS:=		WITH_IPV6
+PKGFD_WITH_IPV6:=	enable IPv6 support
+
 include ${TOPDIR}/mk/package.mk
 
 $(eval $(call PKG_template,ELINKS,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
@@ -46,6 +49,12 @@ CONFIGURE_ARGS+=	--enable-small \
 			--without-zlib
 MAKE_FLAGS+=		CC='${TARGET_CC}'
 
+ifneq (${ADK_PACKAGE_ELINKS_WITH_IPV6},)
+CONFIGURE_ARGS+=	--enable-ipv6
+else
+CONFIGURE_ARGS+=	--disable-ipv6
+endif
+
 do-install:
 	${INSTALL_DIR} ${IDIR_ELINKS}/usr/bin
 	${INSTALL_BIN} ${WRKBUILD}/src/elinks ${IDIR_ELINKS}/usr/bin/

+ 9 - 0
package/ipsec-tools/Makefile

@@ -16,6 +16,9 @@ PKG_SITES:=		${MASTER_SITE_SOURCEFORGE:=ipsec-tools/}
 
 DISTFILES:=		${PKG_NAME}-${PKG_VERSION}.tar.bz2
 
+PKG_FLAVOURS:=		WITH_IPV6
+PKGFD_WITH_IPV6:=	enable IPv6 support
+
 include ${TOPDIR}/mk/package.mk
 
 $(eval $(call PKG_template,IPSEC_TOOLS,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
@@ -27,6 +30,12 @@ CONFIGURE_ARGS+=	--with-kernel-headers="${LINUX_DIR}/include" \
 			--without-libradius \
 			--without-libpam
 
+ifneq (${ADK_PACKAGE_IPSEC_TOOLS_WITH_IPV6},)
+CONFIGURE_ARGS+=	--enable-ipv6
+else
+CONFIGURE_ARGS+=	--disable-ipv6
+endif
+
 post-install:
 	${INSTALL_DIR} ${IDIR_IPSEC_TOOLS}/usr/sbin ${IDIR_IPSEC_TOOLS}/usr/lib
 	${INSTALL_DIR} ${IDIR_IPSEC_TOOLS}/etc

+ 13 - 8
package/irssi/Makefile

@@ -4,24 +4,23 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		irssi
-PKG_VERSION:=		0.8.13
+PKG_VERSION:=		0.8.15
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		0d6fc2203832b514eff014fffd574664
+PKG_MD5SUM:=		870db8e319f640c2bf446c30d0c24ef6
 PKG_DESCR:=		IRC text client
 PKG_SECTION:=		chat
 PKG_DEPENDS:=		glib libncurses
 PKG_BUILDDEP+=		glib ncurses
-ifeq (${ADK_PACKAGE_IRSSI_SSL},y)
+ifeq (${ADK_PACKAGE_IRSSI_WITH_SSL},y)
 PKG_BUILDDEP+=		openssl
 endif
-PKG_URL:=		http://www.irssi.org
+PKG_URL:=		http://www.irssi.org/
 PKG_SITES:=		http://www.irssi.org/files/
 
-DISTFILES:=		${PKG_NAME}-${PKG_VERSION}.tar.bz2
-
-PKG_FLAVOURS:=		SSL
+PKG_FLAVOURS:=		WITH_SSL WITH_IPV6
 PKGFD_SSL:=		SSL/TLS support
 PKGFS_SSL:=		libopenssl
+PKGFD_IPV6:=		IPv6 support
 
 include ${TOPDIR}/mk/package.mk
 
@@ -34,7 +33,13 @@ CONFIGURE_ARGS+=	--with-perl=no \
 			--without-bot \
 			--without-proxy
 
-ifeq (${ADK_PACKAGE_IRSSI_SSL},y)
+ifneq (${ADK_PACKAGE_IRSSI_WITH_IPV6},)
+CONFIGURE_ARGS+=	--enable-ipv6
+else
+CONFIGURE_ARGS+=	--disable-ipv6
+endif
+
+ifneq (${ADK_PACKAGE_IRSSI_WITH_SSL},)
 CONFIGURE_ARGS+=	--enable-ssl
 else
 CONFIGURE_ARGS+=	--disable-ssl

+ 12 - 3
package/libpcap/Makefile

@@ -4,14 +4,17 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=		libpcap
-PKG_VERSION:=		1.0.0
+PKG_VERSION:=		1.1.1
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		9ad1358c5dec48456405eac197a46d3d
+PKG_MD5SUM:=		1bca27d206970badae248cfa471bbb47
 PKG_DESCR:=		a low-level packet capture library
 PKG_SECTION:=		libs
-PKG_URL:=		http://www.tcpdump.org
+PKG_URL:=		http://www.tcpdump.org/
 PKG_SITES:=		http://www.tcpdump.org/release/
 
+PKG_FLAVOURS:=		WITH_IPV6
+PKGFD_WITH_IPV6:=	enable IPv6 support
+
 include $(TOPDIR)/mk/package.mk
 
 $(eval $(call PKG_template,LIBPCAP,${PKG_NAME},$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
@@ -23,6 +26,12 @@ CONFIGURE_ARGS+=	--disable-yydebug \
 TCFLAGS+=		${TCPPFLAGS}
 INSTALL_TARGET=		install install-shared
 
+ifneq (${ADK_PACKAGE_LIBPCAP_WITH_IPV6},)
+CONFIGURE_ARGS+=	--enable-ipv6
+else
+CONFIGURE_ARGS+=	--disable-ipv6
+endif
+
 post-install:
 	${INSTALL_DIR} ${IDIR_LIBPCAP}/usr/lib/
 	${CP} ${WRKINST}/usr/lib/libpcap.so* ${IDIR_LIBPCAP}/usr/lib/

+ 18 - 5
package/net-snmp/Makefile

@@ -12,26 +12,33 @@ PKG_SECTION:=		net/misc
 PKG_DEPENDS:=		libnetsnmp libelf
 PKG_BUILDDEP+=		libelf
 PKG_NOPARALLEL:=	1
-PKG_URL:=		http://www.net-snmp.org
+PKG_URL:=		http://www.net-snmp.org/
 PKG_SITES:=		${MASTER_SITE_SOURCEFORGE:=net-snmp/}
 
 PKG_DESCR_UTILS:=	SNMP utilities
 PKG_DEPENDS_UTILS:=	libnetsnmp libelf
-
 PKG_DESCR_LIBS:=	SNMP library
 PKG_DEPENDS_LIBS:=	libelf
 PKG_SECTION_LIBS:=	libs
 
+PKG_FLAVOURS:=		WITH_IPV6
+PKGFD_WITH_IPV6:=	enable IPv6 support
+
 include ${TOPDIR}/mk/package.mk
 
 $(eval $(call PKG_template,SNMPD,snmpd,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 $(eval $(call PKG_template,SNMP_UTILS,snmp-utils,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS_UTILS},${PKG_DESCR_UTILS},${PKG_SECTION}))
 $(eval $(call PKG_template,LIBNETSNMP,libnetsnmp,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS_LIBS},${PKG_DESCR_LIBS},${PKG_SECTION_LIBS}))
 
-SNMP_TRANSPORTS_INCLUDED=	UDP TCP Callback Unix
-SNMP_TRANSPORTS_EXCLUDED=	TCPIPv6 UDPIPv6 Alias
-TLDFLAGS+=		-pthread
+SNMP_TRANSPORTS_INCLUDED:=	UDP TCP Callback Unix
+SNMP_TRANSPORTS_EXCLUDED:=	Alias
+ifneq (${ADK_PACKAGE_NET_SNMP_WITH_IPV6},)
+SNMP_TRANSPORTS_INCLUDED+=	TCPIPv6 UDPIPv6
+else
+SNMP_TRANSPORTS_EXCLUDED:=	TCPIPv6 UDPIPv6
+endif
 
+TLDFLAGS+=		-pthread
 CONFIGURE_ARGS+=	--with-logfile=/var/log/snmpd.log \
 			--with-persistent-directory=/usr/lib/snmp/ \
 			--with-default-snmp-version=3 \
@@ -53,6 +60,12 @@ CONFIGURE_ARGS+=	--with-logfile=/var/log/snmpd.log \
 			--without-rpm \
 			--without-zlib
 
+ifneq (${ADK_PACKAGE_NET_SNMP_WITH_IPV6},)
+CONFIGURE_ARGS+=	--enable-ipv6
+else
+CONFIGURE_ARGS+=	--disable-ipv6
+endif
+
 FAKE_FLAGS+=		INSTALL_PREFIX="${WRKINST}"
 
 post-install:

+ 20 - 11
package/openldap/Makefile

@@ -4,30 +4,33 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		openldap
-PKG_VERSION:=		2.4.22
+PKG_VERSION:=		2.4.23
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		ef01b52255ce8e3fbf8aa34f6fe7598b
+PKG_MD5SUM:=		90150b8c0d0192e10b30157e68844ddf
 PKG_DESCR:=		OpenLDAP client libraries
 PKG_SECTION:=		libs
 PKG_DEPENDS:=		libopenssl libsasl2
 PKG_BUILDDEP+=		cyrus-sasl openssl libdb
-PKG_URL:=		http://www.openldap.org
+PKG_URL:=		http://www.openldap.org/
 PKG_SITES:=		ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/
 
-PKG_DESCR_1:=		OpenLDAP utilities
-PKG_DEPENDS_1:=		libopenldap
-PKG_SECTION_1:=		net/misc
-PKG_DESCR_2:=		OpenLDAP server daemon
-PKG_DEPENDS_2:=		libopenldap
-PKG_SECTION_2:=		net/misc
+PKG_DESCR_LDAP_UTILS:=	OpenLDAP utilities
+PKG_DEPENDS_LDAP_UTILS:=libopenldap
+PKG_SECTION_LDAP_UTILS:=net/misc
+PKG_DESCR_SLAPD:=	OpenLDAP server daemon
+PKG_DEPENDS_SLAPD:=	libopenldap
+PKG_SECTION_SLAPD:=	net/misc
 
 DISTFILES:=		${PKG_NAME}-${PKG_VERSION}.tgz
 
+PKG_FLAVOURS:=		WITH_IPV6
+PKGFD_WITH_IPV6:=	enable IPv6 support
+
 include ${TOPDIR}/mk/package.mk
 
 $(eval $(call PKG_template,LIBOPENLDAP,libopenldap,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-$(eval $(call PKG_template,OPENLDAP_UTILS,openldap-utils,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS_1},${PKG_DESCR_1},${PKG_SECTION_1}))
-$(eval $(call PKG_template,OPENLDAP_SLAPD,openldap-slapd,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS_2},${PKG_DESCR_2},${PKG_SECTION_2}))
+$(eval $(call PKG_template,OPENLDAP_UTILS,openldap-utils,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS_LDAP_UTILS},${PKG_DESCR_LDAP_UTILS},${PKG_SECTION_LDAP_UTILS}))
+$(eval $(call PKG_template,OPENLDAP_SLAPD,openldap-slapd,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS_SLAPD},${PKG_DESCR_SLAPD},${PKG_SECTION_SLAPD}))
 
 PKG_CONFIGURE_OPTIONS+=	\
 			--enable-slapd \
@@ -46,6 +49,12 @@ PKG_CONFIGURE_OPTIONS+=	\
 			--with-tls \
 			--with-yielding_select="yes" \
 
+ifneq (${ADK_PACKAGE_OPENLDAP_WITH_IPV6},)
+CONFIGURE_ARGS+=	--enable-ipv6
+else
+CONFIGURE_ARGS+=	--disable-ipv6
+endif
+
 CONFIGURE_ENV+=		ac_cv_func_memcmp_working=yes
 CONFIGURE_ARGS+=	${PKG_CONFIGURE_OPTIONS}
 XAKE_FLAGS+=		STRIP="" CPPFLAGS="-D_GNU_SOURCE"

+ 9 - 0
package/pdnsd/Makefile

@@ -13,6 +13,9 @@ PKG_DEPENDS:=		libpthread
 PKG_URL:=		http://www.phys.uu.nl/~rombouts/pdnsd.html
 PKG_SITES:=		http://www.phys.uu.nl/~rombouts/pdnsd/releases/
 
+PKG_FLAVOURS:=		WITH_IPV6
+PKGFD_WITH_IPV6:=	enable IPv6 support
+
 PKG_HOST_DEPENDS:=	!netbsd
 
 DISTFILES:=             ${PKG_NAME}-${PKG_VERSION}-par.tar.gz
@@ -23,6 +26,12 @@ $(eval $(call PKG_template,PDNSD,$(PKG_NAME),$(PKG_VERSION)-${PKG_RELEASE},${PKG
 
 CONFIGURE_ARGS+=	--with-target=Linux
 
+ifneq (${ADK_PACKAGE_PDNSD_WITH_IPV6},)
+CONFIGURE_ARGS+=	--enable-ipv6
+else
+CONFIGURE_ARGS+=	--disable-ipv6
+endif
+
 post-install:
 	$(INSTALL_DIR) $(IDIR_PDNSD)/etc
 	${INSTALL_DATA} ./files/pdnsd.conf ${IDIR_PDNSD}/etc/

+ 11 - 0
package/quagga/Makefile

@@ -14,6 +14,9 @@ PKG_MULTI:=		1
 PKG_URL:=		http://www.quagga.net/
 PKG_SITES:=		http://www.quagga.net/download/
 
+PKG_FLAVOURS:=		WITH_IPV6
+PKGFD_WITH_IPV6:=	enable IPv6 support
+
 PKG_DESCR_1:=		BGP daemon
 PKG_DESCR_2:=		OSPF daemon
 PKG_DESCR_3:=		OSPF IPv6 daemon
@@ -41,6 +44,12 @@ CONFIGURE_ARGS+=	--localstatedir=/var/run/quagga \
 			--disable-pie \
 			--enable-multipath=8
 
+ifneq (${ADK_PACKAGE_QUAGGA_WITH_IPV6},)
+CONFIGURE_ARGS+=	--enable-ipv6
+else
+CONFIGURE_ARGS+=	--disable-ipv6
+endif
+
 post-install:
 	${INSTALL_DIR} ${IDIR_QUAGGA}/usr/{lib,sbin}
 	${CP} ${WRKINST}/usr/lib/libzebra.so.* ${IDIR_QUAGGA}/usr/lib/
@@ -54,8 +63,10 @@ post-install:
 	${INSTALL_DIR} ${IDIR_QUAGGA_OSPFD}/usr/{lib,sbin}
 	${CP} ${WRKINST}/usr/lib/libospf.so.* ${IDIR_QUAGGA_OSPFD}/usr/lib/
 	${CP} ${WRKINST}/usr/sbin/ospfd ${IDIR_QUAGGA_OSPFD}/usr/sbin/
+ifneq (${ADK_PACKAGE_QUAGGA_WITH_IPV6},)
 	${INSTALL_DIR} ${IDIR_QUAGGA_OSPF6D}/usr/sbin
 	${CP} ${WRKINST}/usr/sbin/ospf6d ${IDIR_QUAGGA_OSPF6D}/usr/sbin/
+endif
 	${INSTALL_DIR} ${IDIR_QUAGGA_RIPNGD}/usr/sbin
 	${CP} ${WRKINST}/usr/sbin/ripngd ${IDIR_QUAGGA_RIPNGD}/usr/sbin/
 	${INSTALL_DIR} ${IDIR_QUAGGA_RIPD}/usr/sbin

+ 13 - 8
package/tcpdump/Makefile

@@ -4,18 +4,18 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		tcpdump
-PKG_VERSION:=		4.0.0
+PKG_VERSION:=		4.1.1
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		b22ca72890df2301d922c9f2d17867f9
-PKG_DESCR:=		A tool for network monitoring and data acquisition.
+PKG_MD5SUM:=		d0dd58bbd6cd36795e05c6f1f74420b0
+PKG_DESCR:=		A tool for network monitoring and data acquisition
 PKG_SECTION:=		net
 PKG_DEPENDS:=		libpcap
 PKG_BUILDDEP+=		libpcap
-PKG_URL:=		http://www.tcpdump.org
-PKG_SITES:=		http://www.tcpdump.org/release/ \
-			http://www.sfr-fresh.com/unix/misc/ \
-			http://www.at.tcpdump.org/ \
-			http://www.br.tcpdump.org/
+PKG_URL:=		http://www.tcpdump.org/
+PKG_SITES:=		http://www.tcpdump.org/release/
+
+PKG_FLAVOURS:=		WITH_IPV6
+PKGFD_WITH_IPV6:=	enable IPv6 support
 
 include ${TOPDIR}/mk/package.mk
 
@@ -25,6 +25,11 @@ CONFIGURE_ENV+=		BUILD_CC="${TARGET_CC}" HOSTCC=${HOSTCC} \
 			ac_cv_linux_vers=2 \
 			td_cv_buggygetaddrinfo="no"
 CONFIGURE_ARGS+=	--without-crypto
+ifneq (${ADK_PACKAGE_TCPDUMP_WITH_IPV6},)
+CONFIGURE_ARGS+=	--enable-ipv6
+else
+CONFIGURE_ARGS+=	--disable-ipv6
+endif
 XAKE_FLAGS+=		CCOPT="${TARGET_CFLAGS}" \
 			INCLS="-I. -I${STAGING_DIR}/usr/include"
 

+ 0 - 19
package/tcpdump/patches/patch-print-enc_c

@@ -1,19 +0,0 @@
-$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
-
-* already fixed in git head
-  http://sourceforge.net/tracker/?func=detail&aid=2679354&group_id=53066&atid=469575
-
---- tcpdump-4.0.0.orig/print-enc.c	2008-09-01 04:44:22.000000000 +0200
-+++ tcpdump-4.0.0/print-enc.c	2009-04-17 19:52:13.071285657 +0200
-@@ -77,9 +77,11 @@ enc_if_print(const struct pcap_pkthdr *h
- 	case AF_INET:
- 		ip_print(gndo, p, length);
- 		break;
-+#ifdef INET6
- 	case AF_INET6:
- 		ip6_print(p, length);
- 		break;
-+#endif
- 	}
- 
- out:

+ 358 - 0
package/uclibc++/patches/patch-include_unwind-cxx_h

@@ -0,0 +1,358 @@
+diff -Nur uClibc++-0.2.2.orig/include/unwind-cxx.h uClibc++-0.2.2/include/unwind-cxx.h
+--- uClibc++-0.2.2.orig/include/unwind-cxx.h	2007-06-04 00:51:12.000000000 +0200
++++ uClibc++-0.2.2/include/unwind-cxx.h	2010-07-31 09:31:32.416120094 +0200
+@@ -1,175 +1,179 @@
+-// -*- C++ -*- Exception handling and frame unwind runtime interface routines.
+-// Copyright (C) 2001 Free Software Foundation, Inc.
+-//
+-// This file is part of GCC.
+-//
+-// GCC is free software; you can redistribute it and/or modify
+-// it under the terms of the GNU General Public License as published by
+-// the Free Software Foundation; either version 2, or (at your option)
+-// any later version.
+-//
+-// GCC is distributed in the hope that it will be useful,
+-// but WITHOUT ANY WARRANTY; without even the implied warranty of
+-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-// GNU General Public License for more details.
+-//
+-// You should have received a copy of the GNU General Public License
+-// along with GCC; see the file COPYING.  If not, write to
+-// the Free Software Foundation, 59 Temple Place - Suite 330,
+-// Boston, MA 02111-1307, USA.
+-
+-// As a special exception, you may use this file as part of a free software
+-// library without restriction.  Specifically, if other files instantiate
+-// templates or use macros or inline functions from this file, or you compile
+-// this file and link it with other files to produce an executable, this
+-// file does not by itself cause the resulting executable to be covered by
+-// the GNU General Public License.  This exception does not however
+-// invalidate any other reasons why the executable file might be covered by
+-// the GNU General Public License.
+-
+-// This is derived from the C++ ABI for IA-64.  Where we diverge
+-// for cross-architecture compatibility are noted with "@@@".
+-
+-#ifndef _UNWIND_CXX_H
+-#define _UNWIND_CXX_H 1
+-
+-// Level 2: C++ ABI
+-
+-#include <typeinfo>
+-#include <exception>
+-#include <cstddef>
+-#include "unwind.h"
+-
+-#pragma GCC visibility push(default)
+-
+-namespace __cxxabiv1
+-{
+-
+-// A C++ exception object consists of a header, which is a wrapper around
+-// an unwind object header with additional C++ specific information,
+-// followed by the exception object itself.
+-
+-struct __cxa_exception
+-{ 
+-  // Manage the exception object itself.
+-  std::type_info *exceptionType;
+-  void (*exceptionDestructor)(void *); 
+-
+-  // The C++ standard has entertaining rules wrt calling set_terminate
+-  // and set_unexpected in the middle of the exception cleanup process.
+-  std::unexpected_handler unexpectedHandler;
+-  std::terminate_handler terminateHandler;
+-
+-  // The caught exception stack threads through here.
+-  __cxa_exception *nextException;
+-
+-  // How many nested handlers have caught this exception.  A negated
+-  // value is a signal that this object has been rethrown.
+-  int handlerCount;
+-
+-  // Cache parsed handler data from the personality routine Phase 1
+-  // for Phase 2 and __cxa_call_unexpected.
+-  int handlerSwitchValue;
+-  const unsigned char *actionRecord;
+-  const unsigned char *languageSpecificData;
+-  _Unwind_Ptr catchTemp;
+-  void *adjustedPtr;
+-
+-  // The generic exception header.  Must be last.
+-  _Unwind_Exception unwindHeader;
+-};
+-
+-// Each thread in a C++ program has access to a __cxa_eh_globals object.
+-struct __cxa_eh_globals
+-{
+-  __cxa_exception *caughtExceptions;
+-  unsigned int uncaughtExceptions;
+-};
+-
+-
+-// The __cxa_eh_globals for the current thread can be obtained by using
+-// either of the following functions.  The "fast" version assumes at least
+-// one prior call of __cxa_get_globals has been made from the current
+-// thread, so no initialization is necessary.
+-extern "C" __cxa_eh_globals *__cxa_get_globals () throw();
+-extern "C" __cxa_eh_globals *__cxa_get_globals_fast () throw();
+-
+-// Allocate memory for the exception plus the thown object.
+-extern "C" void *__cxa_allocate_exception(std::size_t thrown_size) throw();
+-
+-// Free the space allocated for the exception.
+-extern "C" void __cxa_free_exception(void *thrown_exception) throw();
+-
+-// Throw the exception.
+-extern "C" void __cxa_throw (void *thrown_exception,
+-			     std::type_info *tinfo,
+-			     void (*dest) (void *))
+-     __attribute__((noreturn));
+-
+-// Used to implement exception handlers.
+-extern "C" void *__cxa_begin_catch (void *) throw();
+-extern "C" void __cxa_end_catch ();
+-extern "C" void __cxa_rethrow () __attribute__((noreturn));
+-
+-// These facilitate code generation for recurring situations.
+-extern "C" void __cxa_bad_cast ();
+-extern "C" void __cxa_bad_typeid ();
+-
+-// @@@ These are not directly specified by the IA-64 C++ ABI.
+-
+-// Handles re-checking the exception specification if unexpectedHandler
+-// throws, and if bad_exception needs to be thrown.  Called from the
+-// compiler.
+-extern "C" void __cxa_call_unexpected (void *) __attribute__((noreturn));
+-
+-// Invokes given handler, dying appropriately if the user handler was
+-// so inconsiderate as to return.
+-extern void __terminate(std::terminate_handler) __attribute__((noreturn));
+-extern void __unexpected(std::unexpected_handler) __attribute__((noreturn));
+-
+-// The current installed user handlers.
+-extern std::terminate_handler __terminate_handler;
+-extern std::unexpected_handler __unexpected_handler;
+-
+-// These are explicitly GNU C++ specific.
+-
+-// This is the exception class we report -- "GNUCC++\0".
+-const _Unwind_Exception_Class __gxx_exception_class
+-= ((((((((_Unwind_Exception_Class) 'G' 
+-	 << 8 | (_Unwind_Exception_Class) 'N')
+-	<< 8 | (_Unwind_Exception_Class) 'U')
+-       << 8 | (_Unwind_Exception_Class) 'C')
+-      << 8 | (_Unwind_Exception_Class) 'C')
+-     << 8 | (_Unwind_Exception_Class) '+')
+-    << 8 | (_Unwind_Exception_Class) '+')
+-   << 8 | (_Unwind_Exception_Class) '\0');
+-
+-// GNU C++ personality routine, Version 0.
+-extern "C" _Unwind_Reason_Code __gxx_personality_v0
+-     (int, _Unwind_Action, _Unwind_Exception_Class,
+-      struct _Unwind_Exception *, struct _Unwind_Context *);
+-
+-// GNU C++ sjlj personality routine, Version 0.
+-extern "C" _Unwind_Reason_Code __gxx_personality_sj0
+-     (int, _Unwind_Action, _Unwind_Exception_Class,
+-      struct _Unwind_Exception *, struct _Unwind_Context *);
+-
+-// Acquire the C++ exception header from the C++ object.
+-static inline __cxa_exception *
+-__get_exception_header_from_obj (void *ptr)
+-{
+-  return reinterpret_cast<__cxa_exception *>(ptr) - 1;
+-}
+-
+-// Acquire the C++ exception header from the generic exception header.
+-static inline __cxa_exception *
+-__get_exception_header_from_ue (_Unwind_Exception *exc)
+-{
+-  return reinterpret_cast<__cxa_exception *>(exc + 1) - 1;
+-}
+-
+-} /* namespace __cxxabiv1 */
+-
+-#pragma GCC visibility pop
+-
+-#endif // _UNWIND_CXX_H
++// -*- C++ -*- Exception handling and frame unwind runtime interface routines.
++// Copyright (C) 2001 Free Software Foundation, Inc.
++//
++// This file is part of GCC.
++//
++// GCC is free software; you can redistribute it and/or modify
++// it under the terms of the GNU General Public License as published by
++// the Free Software Foundation; either version 2, or (at your option)
++// any later version.
++//
++// GCC is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++// GNU General Public License for more details.
++//
++// You should have received a copy of the GNU General Public License
++// along with GCC; see the file COPYING.  If not, write to
++// the Free Software Foundation, 59 Temple Place - Suite 330,
++// Boston, MA 02111-1307, USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction.  Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License.  This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++// This is derived from the C++ ABI for IA-64.  Where we diverge
++// for cross-architecture compatibility are noted with "@@@".
++
++#ifndef _UNWIND_CXX_H
++#define _UNWIND_CXX_H 1
++
++// Level 2: C++ ABI
++
++#include <typeinfo>
++#include <exception>
++#include <cstddef>
++#include "unwind.h"
++
++#pragma GCC visibility push(default)
++
++namespace __cxxabiv1
++{
++
++// A C++ exception object consists of a header, which is a wrapper around
++// an unwind object header with additional C++ specific information,
++// followed by the exception object itself.
++
++struct __cxa_exception
++{ 
++  // Manage the exception object itself.
++  std::type_info *exceptionType;
++  void (*exceptionDestructor)(void *); 
++
++  // The C++ standard has entertaining rules wrt calling set_terminate
++  // and set_unexpected in the middle of the exception cleanup process.
++  std::unexpected_handler unexpectedHandler;
++  std::terminate_handler terminateHandler;
++
++  // The caught exception stack threads through here.
++  __cxa_exception *nextException;
++
++  // How many nested handlers have caught this exception.  A negated
++  // value is a signal that this object has been rethrown.
++  int handlerCount;
++
++  // Cache parsed handler data from the personality routine Phase 1
++  // for Phase 2 and __cxa_call_unexpected.
++  int handlerSwitchValue;
++  const unsigned char *actionRecord;
++  const unsigned char *languageSpecificData;
++  _Unwind_Ptr catchTemp;
++  void *adjustedPtr;
++
++  // The generic exception header.  Must be last.
++  _Unwind_Exception unwindHeader;
++};
++
++// Each thread in a C++ program has access to a __cxa_eh_globals object.
++struct __cxa_eh_globals
++{
++  __cxa_exception *caughtExceptions;
++  unsigned int uncaughtExceptions;
++};
++
++
++// The __cxa_eh_globals for the current thread can be obtained by using
++// either of the following functions.  The "fast" version assumes at least
++// one prior call of __cxa_get_globals has been made from the current
++// thread, so no initialization is necessary.
++extern "C" __cxa_eh_globals *__cxa_get_globals () throw();
++extern "C" __cxa_eh_globals *__cxa_get_globals_fast () throw();
++
++// Allocate memory for the exception plus the thown object.
++extern "C" void *__cxa_allocate_exception(std::size_t thrown_size) throw();
++
++// Free the space allocated for the exception.
++extern "C" void __cxa_free_exception(void *thrown_exception) throw();
++
++// Throw the exception.
++extern "C" void __cxa_throw (void *thrown_exception,
++			     std::type_info *tinfo,
++			     void (*dest) (void *))
++     __attribute__((noreturn));
++
++// Used to implement exception handlers.
++extern "C" void *__cxa_begin_catch (void *) throw();
++extern "C" void __cxa_end_catch ();
++extern "C" void __cxa_rethrow () __attribute__((noreturn));
++
++// These facilitate code generation for recurring situations.
++extern "C" void __cxa_bad_cast ();
++extern "C" void __cxa_bad_typeid ();
++
++// @@@ These are not directly specified by the IA-64 C++ ABI.
++
++// Handles re-checking the exception specification if unexpectedHandler
++// throws, and if bad_exception needs to be thrown.  Called from the
++// compiler.
++extern "C" void __cxa_call_unexpected (void *) __attribute__((noreturn));
++
++// Invokes given handler, dying appropriately if the user handler was
++// so inconsiderate as to return.
++extern void __terminate(std::terminate_handler) __attribute__((noreturn));
++extern void __unexpected(std::unexpected_handler) __attribute__((noreturn));
++
++// The current installed user handlers.
++extern std::terminate_handler __terminate_handler;
++extern std::unexpected_handler __unexpected_handler;
++
++// These are explicitly GNU C++ specific.
++
++// This is the exception class we report -- "GNUCC++\0".
++const _Unwind_Exception_Class __gxx_exception_class
++#ifndef __ARM_EABI_UNWINDER__
++= ((((((((_Unwind_Exception_Class) 'G'
++	 << 8 | (_Unwind_Exception_Class) 'N')
++	<< 8 | (_Unwind_Exception_Class) 'U')
++       << 8 | (_Unwind_Exception_Class) 'C')
++      << 8 | (_Unwind_Exception_Class) 'C')
++     << 8 | (_Unwind_Exception_Class) '+')
++    << 8 | (_Unwind_Exception_Class) '+')
++   << 8 | (_Unwind_Exception_Class) '\0');
++#else
++= "GNUC++";
++#endif
++
++// GNU C++ personality routine, Version 0.
++extern "C" _Unwind_Reason_Code __gxx_personality_v0
++     (int, _Unwind_Action, _Unwind_Exception_Class,
++      struct _Unwind_Exception *, struct _Unwind_Context *);
++
++// GNU C++ sjlj personality routine, Version 0.
++extern "C" _Unwind_Reason_Code __gxx_personality_sj0
++     (int, _Unwind_Action, _Unwind_Exception_Class,
++      struct _Unwind_Exception *, struct _Unwind_Context *);
++
++// Acquire the C++ exception header from the C++ object.
++static inline __cxa_exception *
++__get_exception_header_from_obj (void *ptr)
++{
++  return reinterpret_cast<__cxa_exception *>(ptr) - 1;
++}
++
++// Acquire the C++ exception header from the generic exception header.
++static inline __cxa_exception *
++__get_exception_header_from_ue (_Unwind_Exception *exc)
++{
++  return reinterpret_cast<__cxa_exception *>(exc + 1) - 1;
++}
++
++} /* namespace __cxxabiv1 */
++
++#pragma GCC visibility pop
++
++#endif // _UNWIND_CXX_H

+ 1 - 1
package/ulogd/Makefile

@@ -4,7 +4,7 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		ulogd
-PKG_VERSION:=		2.0.0beta3
+PKG_VERSION:=		2.0.0beta4
 PKG_RELEASE:=		1
 PKG_MD5SUM:=		be8137d3b7ae70ebbce7ca8852b9e901
 PKG_DESCR:=		Netfilter userspace logging daemon