commit:     472f2458fc5aa5209a454fd91643cb2a7ffdc869
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Fri Oct  4 14:14:43 2019 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Fri Oct  4 15:48:16 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=472f2458

dev-libs/openssl: check pre requirements for USE=sctp

FEATURES=test and USE=sctp requires net.sctp.auth_enable=1 or
test_ssl_new will fail with "Ensure SCTP AUTH chunks are enabled in kernel".

Package-Manager: Portage-2.3.76, Repoman-2.3.17
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 dev-libs/openssl/openssl-1.1.1d-r1.ebuild | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/dev-libs/openssl/openssl-1.1.1d-r1.ebuild 
b/dev-libs/openssl/openssl-1.1.1d-r1.ebuild
index db1ec434fd7..1ddfa7ff16f 100644
--- a/dev-libs/openssl/openssl-1.1.1d-r1.ebuild
+++ b/dev-libs/openssl/openssl-1.1.1d-r1.ebuild
@@ -55,6 +55,22 @@ MULTILIB_WRAPPED_HEADERS=(
        usr/include/openssl/opensslconf.h
 )
 
+pkg_setup() {
+       [[ ${MERGE_TYPE} == binary ]] && return
+
+       # must check in pkg_setup; sysctl don't work with userpriv!
+       if has test ${FEATURES}; then
+               if use sctp; then
+                       # test_ssl_new will fail with "Ensure SCTP AUTH chunks 
are enabled in kernel"
+                       # if sctp.auth_enable is not enabled.
+                       local sctp_auth_status=$(sysctl -n net.sctp.auth_enable 
2>/dev/null)
+                       if [[ -z "${sctp_auth_status}" || ${sctp_auth_status} 
!= 1 ]]; then
+                               die "FEATURES=test with USE=sctp requires 
net.sctp.auth_enable=1!"
+                       fi
+               fi
+       fi
+}
+
 src_prepare() {
        if use bindist; then
                mv "${WORKDIR}"/bindist-patches/hobble-openssl "${WORKDIR}" || 
die

Reply via email to