summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--Config.in10
-rw-r--r--adk/tools/pkgmaker.c66
-rw-r--r--mk/build.mk1
-rw-r--r--mk/package.mk3
-rw-r--r--package/busybox/Makefile6
-rw-r--r--package/busybox/config/miscutils/Config.in6
-rw-r--r--package/busybox/config/networking/Config.in2
-rw-r--r--package/busybox/config/networking/udhcp/Config.in2
-rw-r--r--package/busybox/files/busybox.postinst3
-rw-r--r--package/busybox/files/network (renamed from package/busybox/files/network.init)0
-rw-r--r--package/busybox/files/syslogd.init (renamed from package/busybox/files/syslog.init)0
-rw-r--r--package/busybox/files/udhcpd.init2
-rw-r--r--package/dropbear/Makefile3
-rw-r--r--package/dropbear/files/dropbear.postinst4
-rw-r--r--package/iptables/Makefile26
-rwxr-xr-xpackage/iptables/files/firewall6.init2
-rw-r--r--package/iptables/files/ip6tables.postinst (renamed from package/osiris/files/osirisd.postinst)3
-rw-r--r--package/iptables/files/iptables.postinst1
-rw-r--r--package/iptables/patches/patch-extensions_GNUmakefile_in28
-rw-r--r--package/iptables/patches/patch-libxtables_Makefile_am11
-rw-r--r--package/libnetfilter_conntrack/Makefile4
-rw-r--r--package/libnfnetlink/Makefile4
-rw-r--r--package/libnfnetlink/patches/patch-include_libnfnetlink_libnfnetlink_h6
-rw-r--r--package/libnfnetlink/patches/patch-include_libnfnetlink_linux_nfnetlink_compat_h13
-rw-r--r--package/libnfnetlink/patches/patch-include_libnfnetlink_linux_nfnetlink_h10
-rw-r--r--package/openssl/Makefile8
-rw-r--r--package/osiris/Makefile39
-rw-r--r--package/osiris/files/osirisd.init28
-rw-r--r--package/osiris/patches/patch-configure113
-rw-r--r--package/osiris/patches/patch-src_db-4_2_52_dist_configure12
-rw-r--r--package/osiris/patches/patch-src_db-4_2_52_dist_ltmain_sh11
-rw-r--r--package/osiris/patches/patch-src_libosiris_Makefile_in41
-rw-r--r--package/osiris/patches/patch-src_libosiris_configuration_c27
-rw-r--r--package/osiris/patches/patch-src_libosiris_configuration_h13
-rw-r--r--package/osiris/patches/patch-src_libosiris_filter_c35
-rw-r--r--package/osiris/patches/patch-src_libosiris_filter_h23
-rw-r--r--package/osiris/patches/patch-src_libosiris_osi_common_h10
-rw-r--r--package/osiris/patches/patch-src_libosiris_ssl_utilities_c30
-rw-r--r--package/osiris/patches/patch-src_libosiris_ssl_utilities_h14
-rw-r--r--package/osiris/patches/patch-src_libosiris_utilities_c13
-rw-r--r--package/osiris/patches/patch-src_osirisd_modules_Makefile_am11
-rw-r--r--package/osiris/patches/patch-src_osirisd_modules_Makefile_in11
-rw-r--r--package/osiris/patches/patch-src_osirisd_scanner_c33
-rw-r--r--package/osiris/patches/patch-src_osirismd_md_control_c16
-rw-r--r--target/config/Config.in.runtime8
-rw-r--r--target/packages/pkg-available/console1
-rw-r--r--target/packages/pkg-available/mpdbox2
-rw-r--r--target/x86/kernel/generic-pc4
49 files changed, 192 insertions, 528 deletions
diff --git a/.gitignore b/.gitignore
index 3ac956900..68214f10b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -56,6 +56,7 @@
/target/packages/Config.in
/target/config/Config.in.system.default
/target/config/Config.in.system
+/target/config/Config.in.scripts
/target/config/Config.in.native
/target/config/Config.in.arch
/target/config/Config.in.prereq
diff --git a/Config.in b/Config.in
index 9fddb78f3..01e64ae07 100644
--- a/Config.in
+++ b/Config.in
@@ -32,11 +32,6 @@ config ADK_CHOOSE_TARGET_SYSTEM
source "target/config/Config.in"
-menu "Runtime configuration"
-depends on !ADK_CHOOSE_TARGET_ARCH && !ADK_CHOOSE_TARGET_SYSTEM
-source "target/config/Config.in.runtime"
-endmenu
-
menu "Package collection"
depends on !ADK_CHOOSE_TARGET_ARCH && !ADK_CHOOSE_TARGET_SYSTEM
source "target/packages/Config.in"
@@ -89,6 +84,11 @@ source "package/Config.in.auto.global"
source "package/Config.in.auto"
endmenu
+menu "Runtime configuration"
+depends on !ADK_CHOOSE_TARGET_ARCH && !ADK_CHOOSE_TARGET_SYSTEM
+source "target/config/Config.in.runtime"
+endmenu
+
choice
prompt "Kernel Version"
depends on ADK_TOOLCHAIN_ONLY
diff --git a/adk/tools/pkgmaker.c b/adk/tools/pkgmaker.c
index 51d31aa70..6997f3def 100644
--- a/adk/tools/pkgmaker.c
+++ b/adk/tools/pkgmaker.c
@@ -304,13 +304,18 @@ static char *toupperstr(char *string) {
int main() {
- DIR *pkgdir, *pkglistdir;
+ DIR *pkgdir, *pkglistdir, *scriptdir;
struct dirent *pkgdirp;
- FILE *pkg, *cfg, *menuglobal, *section;
+ struct dirent *scriptdirp;
+ size_t len;
+ FILE *pkg, *cfg, *menuglobal, *section, *initscript, *icfg;
char hvalue[MAXVALUE];
char buf[MAXPATH];
+ char ibuf[MAXPATH];
char tbuf[MAXPATH];
char path[MAXPATH];
+ char script[MAXPATH];
+ char script2[MAXPATH];
char spath[MAXPATH];
char dir[MAXPATH];
char variable[2*MAXVAR];
@@ -320,9 +325,10 @@ int main() {
char *pkg_need_cxx, *pkg_need_java, *pkgname, *sysname, *pkg_debug;
char *pkg_libc_depends, *pkg_host_depends, *pkg_system_depends, *pkg_arch_depends, *pkg_flavours, *pkg_flavours_string, *pkg_choices, *pseudo_name;
char *packages, *pkg_name_u, *pkgs, *pkg_opts, *pkg_libname;
- char *saveptr, *p_ptr, *s_ptr, *pkg_helper;
+ char *saveptr, *p_ptr, *s_ptr, *pkg_helper, *sname, *sname2;
int result;
StrMap *pkgmap, *sectionmap;
+ const char runtime[] = "target/config/Config.in.scripts";
pkg_name = NULL;
pkg_descr = NULL;
@@ -355,6 +361,7 @@ int main() {
s_ptr = NULL;
unlink("package/Config.in.auto");
+ unlink(runtime);
/* open global sectionfile */
menuglobal = fopen("package/Config.in.auto.global", "w");
if (menuglobal == NULL)
@@ -410,6 +417,7 @@ int main() {
fprintf(cfg, "\t C library header files.\n\n");
fclose(cfg);
+
/* read Makefile's for all packages */
pkgdir = opendir("package");
while ((pkgdirp = readdir(pkgdir)) != NULL) {
@@ -421,6 +429,57 @@ int main() {
if (pkg == NULL)
continue;
+ /* runtime configuration */
+ if (snprintf(script, MAXPATH, "package/%s/files", pkgdirp->d_name) < 0)
+ fatal_error("script variable creation failed.");
+ scriptdir = opendir(script);
+ if (scriptdir != NULL) {
+ while ((scriptdirp = readdir(scriptdir)) != NULL) {
+ /* skip dotfiles */
+ if (strncmp(scriptdirp->d_name, ".", 1) > 0) {
+ len = strlen(scriptdirp->d_name);
+ if (strlen(".init") > len)
+ continue;
+ if (strncmp(scriptdirp->d_name + len - strlen(".init"), ".init", strlen(".init")) == 0) {
+ if (snprintf(script, MAXPATH, "package/%s/files/%s", pkgdirp->d_name, scriptdirp->d_name) < 0)
+ fatal_error("script variable creation failed.");
+ initscript = fopen(script, "r");
+ if (initscript == NULL)
+ continue;
+
+ while (fgets(ibuf, MAXPATH, initscript) != NULL) {
+ if (strncmp("#PKG", ibuf, 4) == 0) {
+ sname = strdup(ibuf+5);
+ sname[strlen(sname)-1] = '\0';
+ sname2 = strdup(scriptdirp->d_name);
+ sname2[strlen(sname2)-5] = '\0';
+ icfg = fopen(runtime, "a");
+ if (icfg == NULL)
+ continue;
+ if (strncmp("busybox", sname, 7) == 0)
+ fprintf(icfg, "config ADK_RUNTIME_START_%s_%s\n", toupperstr(sname), toupperstr(sname2));
+ else
+ fprintf(icfg, "config ADK_RUNTIME_START_%s\n", toupperstr(sname));
+ fprintf(icfg, "\tprompt \"Start %s on boot\"\n", sname2);
+ fprintf(icfg, "\tboolean\n");
+ if (strncmp("busybox", sname, 7) == 0)
+ fprintf(icfg, "\tdepends on BUSYBOX_%s\n", toupperstr(sname2));
+ else
+ fprintf(icfg, "\tdepends on ADK_PACKAGE_%s\n", toupperstr(sname));
+ fprintf(icfg, "\tdepends on ADK_RUNTIME_START_SERVICES\n");
+ fprintf(icfg, "\tdefault n\n\n");
+ fclose(icfg);
+ }
+ continue;
+ free(sname);
+ free(sname2);
+ }
+ }
+ }
+ }
+ closedir(scriptdir);
+ }
+
/* skip manually maintained packages */
if (snprintf(path, MAXPATH, "package/%s/Config.in.manual", pkgdirp->d_name) < 0)
fatal_error("can not create path variable.");
@@ -621,7 +680,6 @@ int main() {
fclose(cfg);
free(pkgs);
-
/* skip packages without binary package output */
if (nobinpkgs == 1)
continue;
diff --git a/mk/build.mk b/mk/build.mk
index 2573027e7..6dcf88f1a 100644
--- a/mk/build.mk
+++ b/mk/build.mk
@@ -18,6 +18,7 @@ DEFCONFIG= ADK_DEBUG=n \
ADK_LEAVE_ETC_ALONE=n \
ADK_SIMPLE_NETWORK_CONFIG=n \
ADK_USE_CCACHE=n \
+ ADK_RUNTIME_START_SERVICES=n \
ADK_PACKAGE_BASE_FILES=y \
ADK_PACKAGE_E2FSCK_STATIC=n \
ADK_PACKAGE_KEXECINIT=n \
diff --git a/mk/package.mk b/mk/package.mk
index eba9c446a..c23530e17 100644
--- a/mk/package.mk
+++ b/mk/package.mk
@@ -178,6 +178,9 @@ $$(IDIR_$(1))/CONTROL/control: ${_PATCH_COOKIE}
@for file in conffiles preinst postinst prerm postrm; do \
[ ! -f ./files/$(2).$$$$file ] || cp ./files/$(2).$$$$file $$(IDIR_$(1))/CONTROL/$$$$file; \
done
+ifeq ($(ADK_RUNTIME_START_$(1)),y)
+ $(SED) "s#NO#YES#" $$(IDIR_$(1))/CONTROL/postinst
+endif
ifneq ($(ADK_DEBUG),y)
@echo "Package: $$(shell echo $(2) | tr '_' '-')-dbg" > $(WRKDIR)/.$(2)-dbg.control
@echo "Section: debug" >> $(WRKDIR)/.$(2)-dbg.control
diff --git a/package/busybox/Makefile b/package/busybox/Makefile
index fce16fa32..6b07623b0 100644
--- a/package/busybox/Makefile
+++ b/package/busybox/Makefile
@@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:= busybox
PKG_VERSION:= 1.21.1
-PKG_RELEASE:= 5
+PKG_RELEASE:= 6
PKG_MD5SUM:= 795394f83903b5eec6567d51eebb417e
PKG_DESCR:= core utilities for embedded systems
PKG_SECTION:= base
@@ -60,6 +60,10 @@ do-build:
do-install:
$(MAKE) ${BB_MAKE_FLAGS} install $(MAKE_TRACE)
$(CP) $(WRKINST)/* $(IDIR_BUSYBOX)/
+ifeq ($(BUSYBOX_IFUPDOWN),y)
+ $(INSTALL_DIR) $(IDIR_BUSYBOX)/etc/init.d
+ $(INSTALL_BIN) ./files/network $(IDIR_BUSYBOX)/etc/init.d
+endif
ifeq ($(ADK_DEBUG),y)
${INSTALL_BIN} $(WRKBUILD)/busybox_unstripped \
$(IDIR_BUSYBOX)/bin/busybox
diff --git a/package/busybox/config/miscutils/Config.in b/package/busybox/config/miscutils/Config.in
index 4c05e5dae..f13267eac 100644
--- a/package/busybox/config/miscutils/Config.in
+++ b/package/busybox/config/miscutils/Config.in
@@ -281,7 +281,7 @@ config BUSYBOX_CHRT
config BUSYBOX_CROND
bool "crond"
- default y
+ default n
select BUSYBOX_FEATURE_SYSLOG
help
Crond is a background daemon that parses individual crontab
@@ -301,7 +301,7 @@ config BUSYBOX_FEATURE_CROND_D
config BUSYBOX_FEATURE_CROND_CALL_SENDMAIL
bool "Report command output via email (using sendmail)"
- default y
+ default n
depends on BUSYBOX_CROND
help
Command output will be sent to corresponding user via email.
@@ -747,7 +747,7 @@ config BUSYBOX_WALL
config BUSYBOX_WATCHDOG
bool "watchdog"
- default y
+ default n
depends on !BUSYBOX_DISABLE_WATCHDOG
select BUSYBOX_PLATFORM_LINUX
help
diff --git a/package/busybox/config/networking/Config.in b/package/busybox/config/networking/Config.in
index e350a1b16..fa5a7cd47 100644
--- a/package/busybox/config/networking/Config.in
+++ b/package/busybox/config/networking/Config.in
@@ -748,7 +748,7 @@ config BUSYBOX_NSLOOKUP
config BUSYBOX_NTPD
bool "ntpd"
depends on !BUSYBOX_DISABLE_NTPD
- default y
+ default n
select BUSYBOX_PLATFORM_LINUX
help
The NTP client/server daemon.
diff --git a/package/busybox/config/networking/udhcp/Config.in b/package/busybox/config/networking/udhcp/Config.in
index 6ece73097..e0f20fc49 100644
--- a/package/busybox/config/networking/udhcp/Config.in
+++ b/package/busybox/config/networking/udhcp/Config.in
@@ -12,7 +12,7 @@ config BUSYBOX_UDHCPC6
config BUSYBOX_UDHCPD
bool "udhcp server (udhcpd)"
- default y
+ default n
select BUSYBOX_PLATFORM_LINUX
help
udhcpd is a DHCP server geared primarily toward embedded systems,
diff --git a/package/busybox/files/busybox.postinst b/package/busybox/files/busybox.postinst
index c71a536ce..d403ff481 100644
--- a/package/busybox/files/busybox.postinst
+++ b/package/busybox/files/busybox.postinst
@@ -5,7 +5,8 @@ add_rcconf network network YES
add_rcconf crond crond NO
add_rcconf watchdog watchdog NO
add_rcconf watchdog_flags watchdog_flags '-t 10 -T 20'
-add_rcconf 'use "-C32" normally, "NO" to disable' syslogd_flags '-C32'
+add_rcconf syslogd NO
+add_rcconf 'use "-C32" normally' syslogd_flags '-C32'
add_rcconf inetd inetd NO
add_rcconf ntpd ntpd NO
add_rcconf ntpd_flags ntpd_flags '-p time.fu-berlin.de'
diff --git a/package/busybox/files/network.init b/package/busybox/files/network
index 4989fcbcb..4989fcbcb 100644
--- a/package/busybox/files/network.init
+++ b/package/busybox/files/network
diff --git a/package/busybox/files/syslog.init b/package/busybox/files/syslogd.init
index 7a85430ca..7a85430ca 100644
--- a/package/busybox/files/syslog.init
+++ b/package/busybox/files/syslogd.init
diff --git a/package/busybox/files/udhcpd.init b/package/busybox/files/udhcpd.init
index f626fb732..edec3ac91 100644
--- a/package/busybox/files/udhcpd.init
+++ b/package/busybox/files/udhcpd.init
@@ -1,5 +1,5 @@
#!/bin/sh
-#PKG udhcpd
+#PKG busybox
#INIT 50
. /etc/rc.conf
diff --git a/package/dropbear/Makefile b/package/dropbear/Makefile
index 319c7522f..58c55376d 100644
--- a/package/dropbear/Makefile
+++ b/package/dropbear/Makefile
@@ -14,7 +14,6 @@ PKG_SITES:= http://matt.ucc.asn.au/dropbear/releases/
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
-PKG_DFLT_DROPBEAR:= y if !ADK_TOOLCHAIN_ONLY && !ADK_PKG_TEST
PKG_SUBPKGS:= DROPBEAR DBCONVERT
PKGSD_DBCONVERT:= Utility for converting SSH private keys
@@ -26,8 +25,6 @@ include $(TOPDIR)/mk/package.mk
$(eval $(call PKG_template,DROPBEAR,dropbear,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
$(eval $(call PKG_template,DBCONVERT,dropbearconvert,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_DBCONVERT},${PKG_SECTION}))
-TARGET_LDFLAGS+= $(ADK_TARGET_ABI_CFLAGS)
-
ifeq ($(ADK_STATIC),y)
TARGET_LDFLAGS+= -static
endif
diff --git a/package/dropbear/files/dropbear.postinst b/package/dropbear/files/dropbear.postinst
index 11c7923bb..c39e16944 100644
--- a/package/dropbear/files/dropbear.postinst
+++ b/package/dropbear/files/dropbear.postinst
@@ -1,4 +1,4 @@
#!/bin/sh
. $IPKG_INSTROOT/etc/functions.sh
-add_rcconf '"NO" to disable' dropbear_flags " "
-add_rcconf dropbear dropbear YES
+add_rcconf dropbear_flags dropbear_flags " "
+add_rcconf dropbear dropbear NO
diff --git a/package/iptables/Makefile b/package/iptables/Makefile
index d9fa9fd2a..93e8500d0 100644
--- a/package/iptables/Makefile
+++ b/package/iptables/Makefile
@@ -5,31 +5,37 @@ include ${TOPDIR}/rules.mk
PKG_NAME:= iptables
PKG_VERSION:= 1.4.21
-PKG_RELEASE:= 2
+PKG_RELEASE:= 5
PKG_MD5SUM:= 536d048c8e8eeebcd9757d0863ebb0c0
-PKG_DESCR:= The netfilter firewalling software
+PKG_DESCR:= netfilter firewalling software
PKG_SECTION:= firewall
PKG_DEPENDS:= kmod-ip-nf-iptables kmod-nf-conntrack
PKG_DEPENDS+= kmod-nf-conntrack-ipv4 kmod-full-nat
PKG_DEPENDS+= kmod-ip-nf-target-masquerade kmod-ip-nf-target-reject
PKG_DEPENDS+= kmod-ip-nf-filter kmod-ip-nf-match-state
PKG_DEPENDS+= kmod-netfilter-xt-target-tcpmss
-PKG_DEPENDS+= kmod-ip6-nf-iptables kmod-nf-conntrack-ipv6
-PKG_DEPENDS+= kmod-ip6-nf-filter kmod-ip6-nf-target-reject
+PKG_BUILDDEP:= autotool libnetfilter_conntrack
PKG_URL:= http://www.netfilter.org/
PKG_SITES:= http://www.netfilter.org/projects/iptables/files/
PKG_OPTS:= dev
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
+PKG_SUBPKGS:= IPTABLES IP6TABLES
+PKGSD_IPTABLES:= iptables for IPv4
+PKGSD_IP6TABLES:= iptables for IPv6
+PKGSS_IP6TABLES:= iptables kmod-ip6-nf-iptables kmod-nf-conntrack-ipv6 kmod-ip6-nf-filter kmod-ip6-nf-target-reject
+
include ${TOPDIR}/mk/package.mk
# right now default extensions are builtin
# use --disable-static in CONFIGURE_ARGS to change and optimize package
#include ${LINUX_DIR}/.config
-$(eval $(call PKG_template,IPTABLES,iptables,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
+$(eval $(call PKG_template,IPTABLES,iptables,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_IPTABLES},${PKG_SECTION},${PKG_OPTS}))
+$(eval $(call PKG_template,IP6TABLES,ip6tables,${PKG_VERSION}-${PKG_RELEASE},${PKGSS_IP6TABLES},${PKGSD_IP6TABLES},${PKG_SECTION},${PKG_OPTS}))
+AUTOTOOL_STYLE:= autoreconf
TARGET_LDFLAGS+= -fPIC
CONFIGURE_ARGS+= --enable-devel
@@ -41,9 +47,11 @@ iptables-install:
${CP} ${WRKINST}/usr/lib/libiptc.so* ${IDIR_IPTABLES}/usr/lib
${CP} ${WRKINST}/usr/lib/libip4tc.so* ${IDIR_IPTABLES}/usr/lib
${CP} ${WRKINST}/usr/lib/libxtables.so* ${IDIR_IPTABLES}/usr/lib
- ${INSTALL_DIR} ${IDIR_IPTABLES}/{usr/lib,etc,usr/sbin}
- ${INSTALL_DATA} ./files/firewall6.conf ${IDIR_IPTABLES}/etc
- ${CP} ${WRKINST}/usr/sbin/ip6tables ${IDIR_IPTABLES}/usr/sbin
- ${CP} ${WRKINST}/usr/lib/libip6tc.so* ${IDIR_IPTABLES}/usr/lib
+
+ip6tables-install:
+ ${INSTALL_DIR} ${IDIR_IP6TABLES}/{usr/lib,etc,usr/sbin}
+ ${INSTALL_DATA} ./files/firewall6.conf ${IDIR_IP6TABLES}/etc
+ ${CP} ${WRKINST}/usr/sbin/ip6tables ${IDIR_IP6TABLES}/usr/sbin
+ ${CP} ${WRKINST}/usr/lib/libip6tc.so* ${IDIR_IP6TABLES}/usr/lib
include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/iptables/files/firewall6.init b/package/iptables/files/firewall6.init
index bedb639a9..162b98a4f 100755
--- a/package/iptables/files/firewall6.init
+++ b/package/iptables/files/firewall6.init
@@ -1,5 +1,5 @@
#!/bin/sh
-#PKG iptables
+#PKG ip6tables
#INIT 45
. /etc/rc.conf
diff --git a/package/osiris/files/osirisd.postinst b/package/iptables/files/ip6tables.postinst
index 04e53ac93..09645104b 100644
--- a/package/osiris/files/osirisd.postinst
+++ b/package/iptables/files/ip6tables.postinst
@@ -1,3 +1,4 @@
#!/bin/sh
. $IPKG_INSTROOT/etc/functions.sh
-add_rcconf osirisd osirisd NO
+
+add_rcconf iptables firewall6 NO
diff --git a/package/iptables/files/iptables.postinst b/package/iptables/files/iptables.postinst
index b418e73f9..89b0af164 100644
--- a/package/iptables/files/iptables.postinst
+++ b/package/iptables/files/iptables.postinst
@@ -2,4 +2,3 @@
. $IPKG_INSTROOT/etc/functions.sh
add_rcconf iptables firewall NO
-add_rcconf iptables firewall6 NO
diff --git a/package/iptables/patches/patch-extensions_GNUmakefile_in b/package/iptables/patches/patch-extensions_GNUmakefile_in
new file mode 100644
index 000000000..cc922cc28
--- /dev/null
+++ b/package/iptables/patches/patch-extensions_GNUmakefile_in
@@ -0,0 +1,28 @@
+--- iptables-1.4.21.orig/extensions/GNUmakefile.in 2013-11-22 12:18:13.000000000 +0100
++++ iptables-1.4.21/extensions/GNUmakefile.in 2014-04-08 11:49:28.000000000 +0200
+@@ -21,7 +21,7 @@ regular_CPPFLAGS = @regular_CPPFLAGS@
+ kinclude_CPPFLAGS = @kinclude_CPPFLAGS@
+
+ AM_CFLAGS = ${regular_CFLAGS}
+-AM_CPPFLAGS = ${regular_CPPFLAGS} -I${top_builddir}/include -I${top_builddir} -I${top_srcdir}/include ${kinclude_CPPFLAGS} ${CPPFLAGS}
++AM_CPPFLAGS = ${regular_CPPFLAGS} -I${top_builddir}/include -I${top_builddir} -I${top_srcdir}/include ${kinclude_CPPFLAGS} ${CPPFLAGS} @libnetfilter_conntrack_CFLAGS@
+ AM_DEPFLAGS = -Wp,-MMD,$(@D)/.$(@F).d,-MT,$@
+ AM_LDFLAGS = @noundef_LDFLAGS@
+
+@@ -93,7 +93,7 @@ lib%.so: lib%.oo
+ ${AM_VERBOSE_CCLD} ${CCLD} ${AM_LDFLAGS} -shared ${LDFLAGS} -o $@ $< -L../libxtables/.libs -lxtables ${$*_LIBADD};
+
+ lib%.oo: ${srcdir}/lib%.c
+- ${AM_VERBOSE_CC} ${CC} ${AM_CPPFLAGS} ${AM_DEPFLAGS} ${AM_CFLAGS} -D_INIT=lib$*_init -DPIC -fPIC ${CFLAGS} ${$*_CFLAGADD} -o $@ -c $<;
++ ${AM_VERBOSE_CC} ${CC} ${AM_CPPFLAGS} ${AM_DEPFLAGS} ${AM_CFLAGS} -D_INIT=lib$*_init -DPIC -fPIC ${CFLAGS} -o $@ -c $<;
+
+ libxt_NOTRACK.so: libxt_CT.so
+ ln -fs $< $@
+@@ -106,6 +106,7 @@ xt_statistic_LIBADD = -lm
+ @HAVE_LIBNETFILTER_CONNTRACK_TRUE@xt_connlabel_LIBADD = @libnetfilter_conntrack_LIBS@
+
+ @HAVE_LIBNETFILTER_CONNTRACK_TRUE@xt_connlabel_CFLAGADD = @libnetfilter_conntrack_CFLAGS@
++xt_connlabel_LIBADD = @libnetfilter_conntrack_LIBS@
+
+ #
+ # Static bits
diff --git a/package/iptables/patches/patch-libxtables_Makefile_am b/package/iptables/patches/patch-libxtables_Makefile_am
new file mode 100644
index 000000000..d05a100aa
--- /dev/null
+++ b/package/iptables/patches/patch-libxtables_Makefile_am
@@ -0,0 +1,11 @@
+--- iptables-1.4.21.orig/libxtables/Makefile.am 2013-11-22 12:18:13.000000000 +0100
++++ iptables-1.4.21/libxtables/Makefile.am 2014-04-08 11:51:20.000000000 +0200
+@@ -10,7 +10,7 @@ libxtables_la_LIBADD =
+ if ENABLE_STATIC
+ # With --enable-static, shipped extensions are linked into the main executable,
+ # so we need all the LIBADDs here too
+-libxtables_la_LIBADD += -lm
++libxtables_la_LIBADD += -lm ${libnetfilter_conntrack_LIBS}
+ endif
+ if ENABLE_SHARED
+ libxtables_la_CFLAGS = ${AM_CFLAGS}
diff --git a/package/libnetfilter_conntrack/Makefile b/package/libnetfilter_conntrack/Makefile
index 14ee92b30..842eff7bd 100644
--- a/package/libnetfilter_conntrack/Makefile
+++ b/package/libnetfilter_conntrack/Makefile
@@ -9,8 +9,8 @@ PKG_RELEASE:= 1
PKG_MD5SUM:= 18cf80c4b339a3285e78822dbd4f08d7
PKG_DESCR:= API to connection tracking state table
PKG_SECTION:= libs
-PKG_DEPENDS:= libnfnetlink
-PKG_BUILDDEP:= libnfnetlink
+PKG_DEPENDS:= libnfnetlink libmnl
+PKG_BUILDDEP:= libnfnetlink libmnl
PKG_URL:= http://www.netfilter.org/projects/libnetfilter_conntrack/
PKG_SITES:= http://www.netfilter.org/projects/libnetfilter_conntrack/files/
PKG_OPTS:= dev
diff --git a/package/libnfnetlink/Makefile b/package/libnfnetlink/Makefile
index ae10b6ef3..88d61245f 100644
--- a/package/libnfnetlink/Makefile
+++ b/package/libnfnetlink/Makefile
@@ -5,9 +5,9 @@ include $(TOPDIR)/rules.mk
PKG_NAME:= libnfnetlink
PKG_VERSION:= 1.0.1
-PKG_RELEASE:= 3
+PKG_RELEASE:= 4
PKG_MD5SUM:= 98927583d2016a9fb1936fed992e2c5e
-PKG_DESCR:= low-level library for netfilter related kernel/userspace communication
+PKG_DESCR:= netfilter related kernel/userspace communication
PKG_SECTION:= libs
PKG_URL:= http://www.netfilter.org/projects/libnfnetlink/
PKG_SITES:= http://www.netfilter.org/projects/libnfnetlink/files/
diff --git a/package/libnfnetlink/patches/patch-include_libnfnetlink_libnfnetlink_h b/package/libnfnetlink/patches/patch-include_libnfnetlink_libnfnetlink_h
index 679be187d..9754ebca8 100644
--- a/package/libnfnetlink/patches/patch-include_libnfnetlink_libnfnetlink_h
+++ b/package/libnfnetlink/patches/patch-include_libnfnetlink_libnfnetlink_h
@@ -1,10 +1,10 @@
--- libnfnetlink-1.0.1.orig/include/libnfnetlink/libnfnetlink.h 2010-05-09 23:31:56.000000000 +0200
-+++ libnfnetlink-1.0.1/include/libnfnetlink/libnfnetlink.h 2013-08-20 18:44:17.220339451 +0200
-@@ -15,6 +15,7 @@
++++ libnfnetlink-1.0.1/include/libnfnetlink/libnfnetlink.h 2014-04-08 08:59:56.000000000 +0200
+@@ -15,6 +15,8 @@
#define aligned_u64 unsigned long long __attribute__((aligned(8)))
#endif
-+#include <sys/types.h>
++#include <stdint.h>
#include <sys/socket.h> /* for sa_family_t */
#include <linux/netlink.h>
#include <libnfnetlink/linux_nfnetlink.h>
diff --git a/package/libnfnetlink/patches/patch-include_libnfnetlink_linux_nfnetlink_compat_h b/package/libnfnetlink/patches/patch-include_libnfnetlink_linux_nfnetlink_compat_h
index 9ea8016a3..2679e67c3 100644
--- a/package/libnfnetlink/patches/patch-include_libnfnetlink_linux_nfnetlink_compat_h
+++ b/package/libnfnetlink/patches/patch-include_libnfnetlink_linux_nfnetlink_compat_h
@@ -1,6 +1,15 @@
--- libnfnetlink-1.0.1.orig/include/libnfnetlink/linux_nfnetlink_compat.h 2008-06-18 14:36:57.000000000 +0200
-+++ libnfnetlink-1.0.1/include/libnfnetlink/linux_nfnetlink_compat.h 2014-04-05 09:33:12.251169468 +0200
-@@ -20,8 +20,8 @@
++++ libnfnetlink-1.0.1/include/libnfnetlink/linux_nfnetlink_compat.h 2014-04-08 09:00:23.000000000 +0200
+@@ -3,6 +3,8 @@
+ #ifndef __KERNEL__
+ /* Old nfnetlink macros for userspace */
+
++#include <stdint.h>
++
+ /* nfnetlink groups: Up to 32 maximum */
+ #define NF_NETLINK_CONNTRACK_NEW 0x00000001
+ #define NF_NETLINK_CONNTRACK_UPDATE 0x00000002
+@@ -20,8 +22,8 @@
struct nfattr
{
diff --git a/package/libnfnetlink/patches/patch-include_libnfnetlink_linux_nfnetlink_h b/package/libnfnetlink/patches/patch-include_libnfnetlink_linux_nfnetlink_h
index 9f89c6f55..86b231660 100644
--- a/package/libnfnetlink/patches/patch-include_libnfnetlink_linux_nfnetlink_h
+++ b/package/libnfnetlink/patches/patch-include_libnfnetlink_linux_nfnetlink_h
@@ -1,5 +1,13 @@
--- libnfnetlink-1.0.1.orig/include/libnfnetlink/linux_nfnetlink.h 2008-06-18 14:36:57.000000000 +0200
-+++ libnfnetlink-1.0.1/include/libnfnetlink/linux_nfnetlink.h 2014-04-05 09:34:31.863222315 +0200
++++ libnfnetlink-1.0.1/include/libnfnetlink/linux_nfnetlink.h 2014-04-08 09:31:12.000000000 +0200
+@@ -1,6 +1,6 @@