commit:     4672a23c9645d2faba042607c45c7d42165aa4a4
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 24 20:14:37 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Feb 24 21:55:40 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4672a23c

net-libs/libnetfilter_conntrack: add musl patch

Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/libnetfilter_conntrack-1.0.9-musl.patch  | 46 ++++++++++++++++++++++
 .../libnetfilter_conntrack-1.0.9.ebuild            |  4 ++
 2 files changed, 50 insertions(+)

diff --git 
a/net-libs/libnetfilter_conntrack/files/libnetfilter_conntrack-1.0.9-musl.patch 
b/net-libs/libnetfilter_conntrack/files/libnetfilter_conntrack-1.0.9-musl.patch
new file mode 100644
index 000000000000..e1ce87df4e89
--- /dev/null
+++ 
b/net-libs/libnetfilter_conntrack/files/libnetfilter_conntrack-1.0.9-musl.patch
@@ -0,0 +1,46 @@
+https://git.netfilter.org/libnetfilter_conntrack/patch/?id=21ee35dde73aec5eba35290587d479218c6dd824
+
+From: Robert Marko <robima...@gmail.com>
+Date: Thu, 24 Feb 2022 15:01:11 +0100
+Subject: conntrack: fix build with kernel 5.15 and musl
+
+Currently, with kernel 5.15 headers and musl building is failing with
+redefinition errors due to a conflict between the kernel and musl headers.
+
+Musl is able to suppres the conflicting kernel header definitions if they
+are included after the standard libc ones, however since ICMP definitions
+were moved into a separate internal header to avoid duplication this has
+stopped working and is breaking the builds.
+
+It seems that the issue is that <netinet/in.h> which contains the UAPI
+suppression defines is included in the internal.h header and not in the
+proto.h which actually includes the kernel ICMP headers and thus UAPI
+supression defines are not present.
+
+Solve this by moving the <netinet/in.h> include before the ICMP kernel
+includes in the proto.h
+
+Fixes: bc1cb4b11403 ("conntrack: Move icmp request>reply type mapping to 
common file")
+Signed-off-by: Robert Marko <robima...@gmail.com>
+Signed-off-by: Florian Westphal <f...@strlen.de>
+--- a/include/internal/internal.h
++++ b/include/internal/internal.h
+@@ -14,7 +14,6 @@
+ #include <arpa/inet.h>
+ #include <time.h>
+ #include <errno.h>
+-#include <netinet/in.h>
+ 
+ #include <libnfnetlink/libnfnetlink.h>
+ #include <libnetfilter_conntrack/libnetfilter_conntrack.h>
+--- a/include/internal/proto.h
++++ b/include/internal/proto.h
+@@ -2,6 +2,7 @@
+ #define _NFCT_PROTO_H_
+ 
+ #include <stdint.h>
++#include <netinet/in.h>
+ #include <linux/icmp.h>
+ #include <linux/icmpv6.h>
+ 
+cgit v1.2.3

diff --git 
a/net-libs/libnetfilter_conntrack/libnetfilter_conntrack-1.0.9.ebuild 
b/net-libs/libnetfilter_conntrack/libnetfilter_conntrack-1.0.9.ebuild
index f1f1c13f26f5..a45a3d456753 100644
--- a/net-libs/libnetfilter_conntrack/libnetfilter_conntrack-1.0.9.ebuild
+++ b/net-libs/libnetfilter_conntrack/libnetfilter_conntrack-1.0.9.ebuild
@@ -20,6 +20,10 @@ BDEPEND="virtual/pkgconfig"
 
 DOCS=( README )
 
+PATCHES=(
+       "${FILESDIR}"/${P}-musl.patch
+)
+
 pkg_setup() {
        linux-info_pkg_setup
 

Reply via email to