summaryrefslogtreecommitdiffstats
path: root/package/ebtables
diff options
context:
space:
mode:
authorBaruch Siach <baruch@tkos.co.il>2017-02-16 14:50:56 +0200
committerPeter Korsgaard <peter@korsgaard.com>2017-02-17 16:32:01 +0100
commit30c4b5843f1e15f4103e60c994cdc2328b8fa2d3 (patch)
tree0f36d9be033bf1821a18ba38134a96e387fbe54c /package/ebtables
parent194cb3f32087736581b02813dcb549a83c90910e (diff)
downloadbuildroot-30c4b5843f1e15f4103e60c994cdc2328b8fa2d3.tar.gz
buildroot-30c4b5843f1e15f4103e60c994cdc2328b8fa2d3.zip
ebtables: enable for musl
Add two patches that fix build with musl. The first patch is upstream. The second patch uses the Buildroot workaround to suppress conflicting struct ethhdr definitions. Signed-off-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Diffstat (limited to 'package/ebtables')
-rw-r--r--package/ebtables/0001-ethernetdb.h-Remove-C-specific-compiler-hint-macro-_.patch50
-rw-r--r--package/ebtables/0002-Fix-musl-compatibility.patch30
-rw-r--r--package/ebtables/Config.in2
3 files changed, 80 insertions, 2 deletions
diff --git a/package/ebtables/0001-ethernetdb.h-Remove-C-specific-compiler-hint-macro-_.patch b/package/ebtables/0001-ethernetdb.h-Remove-C-specific-compiler-hint-macro-_.patch
new file mode 100644
index 0000000000..bd7bead093
--- /dev/null
+++ b/package/ebtables/0001-ethernetdb.h-Remove-C-specific-compiler-hint-macro-_.patch
@@ -0,0 +1,50 @@
+From f8079671326e9fd079391d24911a9a8a77f1d6fd Mon Sep 17 00:00:00 2001
+From: Felix Janda <felix.janda@posteo.de>
+Date: Sat, 16 May 2015 12:31:58 +0200
+Subject: [PATCH] ethernetdb.h: Remove C++ specific compiler hint macro _THROW
+
+Fixes compilation with musl libc
+
+Signed-off-by: Felix Janda <felix.janda@posteo.de>
+Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+---
+Patch status: upstream commit f8079671326e9fd0
+
+ include/ethernetdb.h | 11 +++++------
+ 1 file changed, 5 insertions(+), 6 deletions(-)
+
+diff --git a/include/ethernetdb.h b/include/ethernetdb.h
+index 46d8bfd1b7e5..1683abe01987 100644
+--- a/include/ethernetdb.h
++++ b/include/ethernetdb.h
+@@ -38,21 +38,20 @@ struct ethertypeent {
+
+ /* Open ethertype data base files and mark them as staying open even
+ after a later search if STAY_OPEN is non-zero. */
+-extern void setethertypeent(int __stay_open) __THROW;
++extern void setethertypeent(int __stay_open);
+
+ /* Close ethertype data base files and clear `stay open' flag. */
+-extern void endethertypeent(void) __THROW;
++extern void endethertypeent(void);
+
+ /* Get next entry from ethertype data base file. Open data base if
+ necessary. */
+-extern struct ethertypeent *getethertypeent(void) __THROW;
++extern struct ethertypeent *getethertypeent(void);
+
+ /* Return entry from ethertype data base for network with NAME. */
+-extern struct ethertypeent *getethertypebyname(__const char *__name)
+- __THROW;
++extern struct ethertypeent *getethertypebyname(__const char *__name);
+
+ /* Return entry from ethertype data base which number is PROTO. */
+-extern struct ethertypeent *getethertypebynumber(int __ethertype) __THROW;
++extern struct ethertypeent *getethertypebynumber(int __ethertype);
+
+
+ #endif /* ethernetdb.h */
+--
+2.11.0
+
diff --git a/package/ebtables/0002-Fix-musl-compatibility.patch b/package/ebtables/0002-Fix-musl-compatibility.patch
new file mode 100644
index 0000000000..5e9f534b46
--- /dev/null
+++ b/package/ebtables/0002-Fix-musl-compatibility.patch
@@ -0,0 +1,30 @@
+From 138e7efdc8cad6453620c6366e6fa5e786593f7f Mon Sep 17 00:00:00 2001
+From: Baruch Siach <baruch@tkos.co.il>
+Date: Thu, 16 Feb 2017 14:41:48 +0200
+Subject: [PATCH] Fix musl compatibility
+
+Include netinet/ether.h before kernel headers to suppress the conflicting
+definition of struct ethhdr.
+
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+---
+Upstream status: not upstreamable; depends on Buildroot local musl patch
+---
+ include/ebtables_u.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/include/ebtables_u.h b/include/ebtables_u.h
+index 35a5bcc54c86..268b1fd599d2 100644
+--- a/include/ebtables_u.h
++++ b/include/ebtables_u.h
+@@ -24,6 +24,7 @@
+ #ifndef EBTABLES_U_H
+ #define EBTABLES_U_H
+ #include <netinet/in.h>
++#include <netinet/ether.h>
+ #include <linux/netfilter_bridge/ebtables.h>
+ #include <linux/netfilter/x_tables.h>
+
+--
+2.11.0
+
diff --git a/package/ebtables/Config.in b/package/ebtables/Config.in
index fa123b196e..2fdac06cd1 100644
--- a/package/ebtables/Config.in
+++ b/package/ebtables/Config.in
@@ -1,6 +1,5 @@
config BR2_PACKAGE_EBTABLES
bool "ebtables"
- depends on !BR2_TOOLCHAIN_USES_MUSL # mixes userspace and kernel headers
depends on BR2_USE_MMU # fork()
help
Ethernet bridge frame table administration
@@ -8,5 +7,4 @@ config BR2_PACKAGE_EBTABLES
http://ebtables.netfilter.org/
comment "ebtables needs a glibc or uClibc toolchain"
- depends on BR2_TOOLCHAIN_USES_MUSL
depends on BR2_USE_MMU
OpenPOWER on IntegriCloud