commit:     046a48b4df745b144b42508cc19e7ea077406206
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 17 08:14:38 2021 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Wed Mar 17 08:21:25 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=046a48b4

net-misc/dhcpcd: Fixed build on sparc with USE="privsep"

Closes: https://bugs.gentoo.org/776178
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 net-misc/dhcpcd/dhcpcd-9.3.4.ebuild                |  4 +++
 .../dhcpcd/files/dhcpcd-9.4.0-sparc_privsep.patch  | 40 ++++++++++++++++++++++
 2 files changed, 44 insertions(+)

diff --git a/net-misc/dhcpcd/dhcpcd-9.3.4.ebuild 
b/net-misc/dhcpcd/dhcpcd-9.3.4.ebuild
index 1fa46b7c246..71dc46831ee 100644
--- a/net-misc/dhcpcd/dhcpcd-9.3.4.ebuild
+++ b/net-misc/dhcpcd/dhcpcd-9.3.4.ebuild
@@ -33,6 +33,10 @@ RDEPEND="
        )
 "
 
+PATCHES=(
+       "${FILESDIR}/${PN}-9.4.0-sparc_privsep.patch" #776178
+)
+
 src_configure() {
        local myeconfargs=(
                --dbdir="${EPREFIX}/var/lib/dhcpcd"

diff --git a/net-misc/dhcpcd/files/dhcpcd-9.4.0-sparc_privsep.patch 
b/net-misc/dhcpcd/files/dhcpcd-9.4.0-sparc_privsep.patch
new file mode 100644
index 00000000000..a91db28d08c
--- /dev/null
+++ b/net-misc/dhcpcd/files/dhcpcd-9.4.0-sparc_privsep.patch
@@ -0,0 +1,40 @@
+From dcfd7a23f002793a855156255e81662ef84064d3 Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <[email protected]>
+Date: Fri, 5 Feb 2021 09:25:12 +0100
+Subject: [PATCH] src/privsep-linux: fix build on sparc (#26)
+
+Fix the following build failure:
+
+privsep-linux.c:203: warning: "AUDIT_ARCH_SPARC64" redefined
+  203 | #    define AUDIT_ARCH_SPARC64
+      |
+In file included from privsep-linux.c:35:
+/srv/storage/autobuild/run/instance-0/output-1/host/sparc64-buildroot-linux-gnu/sysroot/usr/include/linux/audit.h:392:
 note: this is the location of the previous definition
+  392 | #define AUDIT_ARCH_SPARC64 (EM_SPARCV9|__AUDIT_ARCH_64BIT)
+      |
+In file included from privsep-linux.c:36:
+privsep-linux.c:215:38: error: 'SECCOMP_AUDIT_ARCH' undeclared here (not in a 
function); did you mean 'SECCOMP_ALLOW_ARG'?
+  215 |  BPF_JUMP(BPF_JMP + BPF_JEQ + BPF_K, SECCOMP_AUDIT_ARCH, 1, 0),
+      |                                      ^~~~~~~~~~~~~~~~~~
+
+Signed-off-by: Fabrice Fontaine <[email protected]>
+---
+ src/privsep-linux.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/privsep-linux.c b/src/privsep-linux.c
+index d00894ab..5c80c1b3 100644
+--- a/src/privsep-linux.c
++++ b/src/privsep-linux.c
+@@ -222,9 +222,9 @@ ps_root_sendnetlink(struct dhcpcd_ctx *ctx, int protocol, 
struct msghdr *msg)
+ #  endif
+ #elif defined(__sparc__)
+ #  if defined(__arch64__)
+-#    define AUDIT_ARCH_SPARC64
++#    define SECCOMP_AUDIT_ARCH AUDIT_ARCH_SPARC64
+ #  else
+-#    define AUDIT_ARCH_SPARC
++#    define SECCOMP_AUDIT_ARCH AUDIT_ARCH_SPARC
+ #  endif
+ #elif defined(__xtensa__)
+ #  define SECCOMP_AUDIT_ARCH AUDIT_ARCH_XTENSA

Reply via email to