summaryrefslogtreecommitdiff
path: root/sys-apps/kmod
diff options
context:
space:
mode:
Diffstat (limited to 'sys-apps/kmod')
-rw-r--r--sys-apps/kmod/Manifest7
-rw-r--r--sys-apps/kmod/files/kmod-26-libressl.patch143
-rw-r--r--sys-apps/kmod/kmod-28.ebuild (renamed from sys-apps/kmod/kmod-26-r5.ebuild)59
-rw-r--r--sys-apps/kmod/kmod-9999.ebuild15
4 files changed, 44 insertions, 180 deletions
diff --git a/sys-apps/kmod/Manifest b/sys-apps/kmod/Manifest
index d5ed15fb65d3..7a201b157955 100644
--- a/sys-apps/kmod/Manifest
+++ b/sys-apps/kmod/Manifest
@@ -1,9 +1,8 @@
-AUX kmod-26-libressl.patch 4014 BLAKE2B db7a2ce3206210cd0358d136c8d0568dae077399075164320ff608ca6ba5f1bca16d206ca975d8f5f9977ec80fcfed5b81146f9649d61e8e88f5f8589368ab1e SHA512 b5d26fda11398d4877821cbe8bd36967bec095d6e6c2489ec8aa4ef968795f0e238a74e2a9c4db8435fc176dc046920a365771a387a25cb1d0ea763210a92483
AUX kmod-27-depmod-do-not-output-.bin-to-stdout.patch 1521 BLAKE2B 3b1f0808198f065a017bccfdffddbcf76382004c9a7710ff682ed27a502660d7686f544b904a66eb10d50c094152eceb02e9156473380c430a2996720bd384b5 SHA512 344185ea38f4bb6a939b8ce29cf406776b60f193e5e0eaea7ed154fcc4a9be4237bcd2635d2bc614d74a9109fad056674e9356022b46e3bf00fc5db6c964a3de
AUX kmod-static-nodes-r1 500 BLAKE2B 44ae03377e6cc7b5a271063828fcb39ec6925d82e52207771e1b6b4f921d0a07e51e97a8e6f432b542d88fb0195e1298cd54ba92d462a828ddd94dab7f924eb3 SHA512 8210d90f5d0702aea626b6db00adbabbd550009d8275fe430c8b113fcb0593a4dfb9efb22c061dde259e1bd94390be49823415d3fd99909e22a2bbf7ae349f63
-DIST kmod-26.tar.xz 552032 BLAKE2B 3e596d06b48599bf4919346475a036b058fb18a7b19d39953e24fa943b95fdbe34a29a5062f6b4fe3510e667ae873d3b9ae03b72350fa85ddbb40ca6a7730b34 SHA512 3ca276c6fc13c2dd2220ec528b8dc4ab4edee5d2b22e16b6f945c552e51f74342c01c33a53740e6af8c893d42bd4d6f629cd8fa6e15ef8bd8da30cb003ef0865
DIST kmod-27.tar.xz 548924 BLAKE2B 9f12bf5792d4c867e28e0776c279369c063e84269212e3f699ae6e5e69b8b2b466b5033e43e17ac64d6101592edcf3c34881916afb6ae676b49dc8838dfe1396 SHA512 e0513094935333fca1fb4c3e3493b232507a579ab00a6457cc9ed3e928363d05aad80634fb65a8287a336bf9895194c7be8ddc41bb088a6c2cca44fc1bfbdb6c
-EBUILD kmod-26-r5.ebuild 5144 BLAKE2B d9e4f661d521e39d4d47376713c771b4f14f29138d4b4647d8b8bf47696911b9944f284634a575dac08029229e4924b2e7510a54b895848f53bf699fbab98adb SHA512 00a1c056e0736558c4f7d8469634582dd888869fa8afc6905abb8915a32f34da0b15ad91855f9925249de89bccd64de8e80479048807d34c82e05430ae4a6458
+DIST kmod-28.tar.xz 552448 BLAKE2B af41a0c5681fb94eb5264f46ed2ae666d171d4e2d0dc21419a3c2f4b12a783350a06b408fb02a7afb00fcea1cd994ee35864c1ec8b7a8cc58a8c9dcdeffaf1b3 SHA512 50646dc72675a5e17b01e327e3d41b972f18aaeac20c8b00983c4d099c6218f35c32c184a833a2d7f716755d6a86851c90913d2835874cef933bdc4a9722df9a
EBUILD kmod-27-r2.ebuild 5268 BLAKE2B c2f171bee8116149fe57fc28d5b816a50ab3f4661b61736158daa84a1fbb9c7abe861cfe7350564d12e2686becbb396c8a37327ef9db822808f4c0c18341dbba SHA512 291260c0c7f871eab37dd6603a0de78e68bd1af75b6e33c6bee8c0c45de1b7b50922fecec17d8e332001d37cede84f15d7bd61e19152e5e4a8cba1b8e06de129
-EBUILD kmod-9999.ebuild 5201 BLAKE2B aac231cb1b5e3ef35ee66d0cf3b2a61bca0ebbe8548404642539cde4803d6d7c15ffb7fb86561972d86306e4e308182884542d4f623fe6f33319ae60dfcdeae0 SHA512 a1b26b0cb6ab8bfc5a723bc238d1860d3ca0174991736a0fd330bbf698165649a4c424964c89ae64b7c21e1281c1add1a64ae7149d78b800d5e6c2423c9ea4d2
+EBUILD kmod-28.ebuild 5296 BLAKE2B 9f38f8d9199988c5511761d5df8f80b0b7674a47a7a80aff032c9d3dc35f41b9da7b1731950abaa70be358be3f1b757f528454062321dc6f1c4625c70e60b4d3 SHA512 e5035726a72992ea75a18ee428ae24b3b815169d489e7854361689078d44abc94c758dccdd6f3c2409d7458bdad34f35e626a4ce855595458ada9c4bc43998d9
+EBUILD kmod-9999.ebuild 5300 BLAKE2B c2a476ba315c1e512a5a15032f6a09c50f591a10010d7b269b3746a9d2b93cc3ebc9f0107e3ee85e5e20ff0e0d0bfdc6c8f617488e8bcd857c668543d336a8f7 SHA512 ae897b9388fd5307b7016415bf05ca04b5a3f632286e882feca76f91b4a23ed33f3fc88b3c35d5b1a0c001aaffa47b9d01ba05958bf2643b3097709189bc04b5
MISC metadata.xml 689 BLAKE2B 51a8819951b28ef934c7de80176ef6aeeacb09ac073a7fcf056428ee2c1a0ad851119e680b4ef2cdd48a26541c2a3e16f6cb6606231a6ed542a00cfdb0e3b2d4 SHA512 4282ad5b89b14e8e50aad8779e68cca6eb2e1c876a3284b6782a221c0da2e79db871d1d23d686c8ac1532ea453faa1291ff596afff716431d0560460953c3aed
diff --git a/sys-apps/kmod/files/kmod-26-libressl.patch b/sys-apps/kmod/files/kmod-26-libressl.patch
deleted file mode 100644
index cb36ab401c21..000000000000
--- a/sys-apps/kmod/files/kmod-26-libressl.patch
+++ /dev/null
@@ -1,143 +0,0 @@
-From 628677e066198d8658d7edd5511a5bb27cd229f5 Mon Sep 17 00:00:00 2001
-From: Stefan Strogin <steils@gentoo.org>
-Date: Sun, 19 May 2019 03:42:01 +0300
-Subject: [PATCH] libkmod-signature: use PKCS#7 instead of CMS
-
-Linux uses either PKCS #7 or CMS for signing modules (see
-scripts/sign-file.c). CMS is not supported by LibreSSL or older OpenSSL,
-so PKCS #7 is used on systems with these libcrypto providers.
-
-CMS and PKCS #7 formats are very similar. CMS is newer but is as much as
-possible backward compatible with PKCS #7 [1]. PKCS #7 is supported in
-the latest OpenSSL as well as CMS. The fields used for signing kernel
-modules are supported both in PKCS #7 and CMS.
-
-For now modinfo uses CMS with no alternative requiring OpenSSL 1.1.0 or
-newer.
-
-Use PKCS #7 for parsing module signature information, so that modinfo
-could be used both with OpenSSL and LibreSSL.
-
-[1] https://tools.ietf.org/html/rfc5652#section-1.1
-
-Changes v1->v2:
-- Don't use ifdefs for keeping redundant CMS code, just use PKCS #7 both
-with OpenSSL and LibreSSL.
-
-Upstream-Status: Accepted
-[https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git/commit/?id=628677e066198d8658d7edd5511a5bb27cd229f5]
-Signed-off-by: Stefan Strogin <steils@gentoo.org>
----
- libkmod/libkmod-signature.c | 37 +++++++++++++++++++------------------
- 1 file changed, 19 insertions(+), 18 deletions(-)
-
-diff --git a/libkmod/libkmod-signature.c b/libkmod/libkmod-signature.c
-index 48d0145..4e8748c 100644
---- a/libkmod/libkmod-signature.c
-+++ b/libkmod/libkmod-signature.c
-@@ -20,7 +20,7 @@
- #include <endian.h>
- #include <inttypes.h>
- #ifdef ENABLE_OPENSSL
--#include <openssl/cms.h>
-+#include <openssl/pkcs7.h>
- #include <openssl/ssl.h>
- #endif
- #include <stdio.h>
-@@ -122,7 +122,7 @@ static bool fill_default(const char *mem, off_t size,
- #ifdef ENABLE_OPENSSL
-
- struct pkcs7_private {
-- CMS_ContentInfo *cms;
-+ PKCS7 *pkcs7;
- unsigned char *key_id;
- BIGNUM *sno;
- };
-@@ -132,7 +132,7 @@ static void pkcs7_free(void *s)
- struct kmod_signature_info *si = s;
- struct pkcs7_private *pvt = si->private;
-
-- CMS_ContentInfo_free(pvt->cms);
-+ PKCS7_free(pvt->pkcs7);
- BN_free(pvt->sno);
- free(pvt->key_id);
- free(pvt);
-@@ -197,11 +197,10 @@ static bool fill_pkcs7(const char *mem, off_t size,
- struct kmod_signature_info *sig_info)
- {
- const char *pkcs7_raw;
-- CMS_ContentInfo *cms;
-- STACK_OF(CMS_SignerInfo) *sis;
-- CMS_SignerInfo *si;
-- int rc;
-- ASN1_OCTET_STRING *key_id;
-+ PKCS7 *pkcs7;
-+ STACK_OF(PKCS7_SIGNER_INFO) *sis;
-+ PKCS7_SIGNER_INFO *si;
-+ PKCS7_ISSUER_AND_SERIAL *is;
- X509_NAME *issuer;
- ASN1_INTEGER *sno;
- ASN1_OCTET_STRING *sig;
-@@ -220,31 +219,33 @@ static bool fill_pkcs7(const char *mem, off_t size,
-
- in = BIO_new_mem_buf(pkcs7_raw, sig_len);
-
-- cms = d2i_CMS_bio(in, NULL);
-- if (cms == NULL) {
-+ pkcs7 = d2i_PKCS7_bio(in, NULL);
-+ if (pkcs7 == NULL) {
- BIO_free(in);
- return false;
- }
-
- BIO_free(in);
-
-- sis = CMS_get0_SignerInfos(cms);
-+ sis = PKCS7_get_signer_info(pkcs7);
- if (sis == NULL)
- goto err;
-
-- si = sk_CMS_SignerInfo_value(sis, 0);
-+ si = sk_PKCS7_SIGNER_INFO_value(sis, 0);
- if (si == NULL)
- goto err;
-
-- rc = CMS_SignerInfo_get0_signer_id(si, &key_id, &issuer, &sno);
-- if (rc == 0)
-+ is = si->issuer_and_serial;
-+ if (is == NULL)
- goto err;
-+ issuer = is->issuer;
-+ sno = is->serial;
-
-- sig = CMS_SignerInfo_get0_signature(si);
-+ sig = si->enc_digest;
- if (sig == NULL)
- goto err;
-
-- CMS_SignerInfo_get0_algs(si, NULL, NULL, &dig_alg, &sig_alg);
-+ PKCS7_SIGNER_INFO_get0_algs(si, NULL, &dig_alg, &sig_alg);
-
- sig_info->sig = (const char *)ASN1_STRING_get0_data(sig);
- sig_info->sig_len = ASN1_STRING_length(sig);
-@@ -277,7 +278,7 @@ static bool fill_pkcs7(const char *mem, off_t size,
- if (pvt == NULL)
- goto err3;
-
-- pvt->cms = cms;
-+ pvt->pkcs7 = pkcs7;
- pvt->key_id = key_id_str;
- pvt->sno = sno_bn;
- sig_info->private = pvt;
-@@ -290,7 +291,7 @@ err3:
- err2:
- BN_free(sno_bn);
- err:
-- CMS_ContentInfo_free(cms);
-+ PKCS7_free(pkcs7);
- return false;
- }
-
---
-2.21.0
-
diff --git a/sys-apps/kmod/kmod-26-r5.ebuild b/sys-apps/kmod/kmod-28.ebuild
index 53000bb3debc..94820b237d3c 100644
--- a/sys-apps/kmod/kmod-26-r5.ebuild
+++ b/sys-apps/kmod/kmod-28.ebuild
@@ -1,19 +1,19 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
-PYTHON_COMPAT=( python3_{6,7} )
+PYTHON_COMPAT=( python3_{6..9} )
-inherit bash-completion-r1 multilib python-r1
+inherit autotools bash-completion-r1 multilib python-r1
if [[ ${PV} == 9999* ]]; then
EGIT_REPO_URI="https://git.kernel.org/pub/scm/utils/kernel/${PN}/${PN}.git"
- inherit autotools git-r3
+ inherit git-r3
else
SRC_URI="https://www.kernel.org/pub/linux/utils/kernel/kmod/${P}.tar.xz"
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86"
- inherit libtool
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ #inherit libtool
fi
DESCRIPTION="library and tools for managing linux kernel modules"
@@ -21,7 +21,7 @@ HOMEPAGE="https://git.kernel.org/?p=utils/kernel/kmod/kmod.git"
LICENSE="LGPL-2"
SLOT="0"
-IUSE="debug doc libressl lzma pkcs7 python static-libs +tools zlib"
+IUSE="debug doc libressl +lzma pkcs7 python static-libs +tools +zlib zstd"
# Upstream does not support running the test suite with custom configure flags.
# I was also told that the test suite is intended for kmod developers.
@@ -29,6 +29,7 @@ IUSE="debug doc libressl lzma pkcs7 python static-libs +tools zlib"
# See bug #408915.
RESTRICT="test"
+# >=zlib-1.2.6 required because of bug #427130
# Block systemd below 217 for -static-nodes-indicate-that-creation-of-static-nodes-.patch
RDEPEND="!sys-apps/module-init-tools
!sys-apps/modutils
@@ -40,15 +41,21 @@ RDEPEND="!sys-apps/module-init-tools
!libressl? ( >=dev-libs/openssl-1.1.0:0= )
libressl? ( dev-libs/libressl:0= )
)
- zlib? ( >=sys-libs/zlib-1.2.6 )" #427130
-DEPEND="${RDEPEND}
- doc? ( dev-util/gtk-doc )
+ zlib? ( >=sys-libs/zlib-1.2.6 )
+ zstd? ( >=app-arch/zstd-1.4.4 )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ doc? (
+ dev-util/gtk-doc
+ dev-util/gtk-doc-am
+ )
lzma? ( virtual/pkgconfig )
python? (
dev-python/cython[${PYTHON_USEDEP}]
virtual/pkgconfig
)
- zlib? ( virtual/pkgconfig )"
+ zlib? ( virtual/pkgconfig )
+"
if [[ ${PV} == 9999* ]]; then
DEPEND="${DEPEND}
dev-libs/libxslt"
@@ -58,15 +65,12 @@ REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
DOCS="NEWS README TODO"
-PATCHES=(
- "${FILESDIR}/${P}-libressl.patch" # bug 677960
-)
-
src_prepare() {
default
- if [[ ! -e configure ]] ; then
+ if [[ ! -e configure ]] || use doc ; then
if use doc; then
+ cp "${EROOT}"/usr/share/aclocal/gtk-doc.m4 m4 || die
gtkdocize --copy --docdir libkmod/docs || die
else
touch libkmod/docs/gtk-doc.make
@@ -89,12 +93,13 @@ src_configure() {
--with-bashcompletiondir="$(get_bashcompdir)"
--with-rootlibdir="${EPREFIX}/$(get_libdir)"
$(use_enable debug)
- $(use_enable doc gtk-doc)
+ $(usex doc '--enable-gtk-doc' '')
$(use_enable static-libs static)
$(use_enable tools)
$(use_with lzma xz)
$(use_with pkcs7 openssl)
$(use_with zlib)
+ $(use_with zstd)
)
local ECONF_SOURCE="${S}"
@@ -148,7 +153,7 @@ src_install() {
python_foreach_impl python_install
fi
- find "${ED}" -name "*.la" -delete || die
+ find "${ED}" -type f -name "*.la" -delete || die
if use tools; then
local cmd
@@ -174,23 +179,23 @@ src_install() {
}
pkg_postinst() {
- if [[ -L ${EROOT%/}/etc/runlevels/boot/static-nodes ]]; then
+ if [[ -L ${EROOT}/etc/runlevels/boot/static-nodes ]]; then
ewarn "Removing old conflicting static-nodes init script from the boot runlevel"
- rm -f "${EROOT%/}"/etc/runlevels/boot/static-nodes
+ rm -f "${EROOT}"/etc/runlevels/boot/static-nodes
fi
# Add kmod to the runlevel automatically if this is the first install of this package.
if [[ -z ${REPLACING_VERSIONS} ]]; then
- if [[ ! -d ${EROOT%/}/etc/runlevels/sysinit ]]; then
- mkdir -p "${EROOT%/}"/etc/runlevels/sysinit
+ if [[ ! -d ${EROOT}/etc/runlevels/sysinit ]]; then
+ mkdir -p "${EROOT}"/etc/runlevels/sysinit
fi
- if [[ -x ${EROOT%/}/etc/init.d/kmod-static-nodes ]]; then
- ln -s /etc/init.d/kmod-static-nodes "${EROOT%/}"/etc/runlevels/sysinit/kmod-static-nodes
+ if [[ -x ${EROOT}/etc/init.d/kmod-static-nodes ]]; then
+ ln -s /etc/init.d/kmod-static-nodes "${EROOT}"/etc/runlevels/sysinit/kmod-static-nodes
fi
fi
- if [[ -e ${EROOT%/}/etc/runlevels/sysinit ]]; then
- if ! has_version sys-apps/systemd && [[ ! -e ${EROOT%/}/etc/runlevels/sysinit/kmod-static-nodes ]]; then
+ if [[ -e ${EROOT}/etc/runlevels/sysinit ]]; then
+ if ! has_version sys-apps/systemd && [[ ! -e ${EROOT}/etc/runlevels/sysinit/kmod-static-nodes ]]; then
ewarn
ewarn "You need to add kmod-static-nodes to the sysinit runlevel for"
ewarn "kernel modules to have required static nodes!"
diff --git a/sys-apps/kmod/kmod-9999.ebuild b/sys-apps/kmod/kmod-9999.ebuild
index a7e386f475ad..d608f43bcf14 100644
--- a/sys-apps/kmod/kmod-9999.ebuild
+++ b/sys-apps/kmod/kmod-9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_{6,7,8,9} )
+PYTHON_COMPAT=( python3_{6..9} )
inherit autotools bash-completion-r1 multilib python-r1
@@ -21,7 +21,7 @@ HOMEPAGE="https://git.kernel.org/?p=utils/kernel/kmod/kmod.git"
LICENSE="LGPL-2"
SLOT="0"
-IUSE="debug doc libressl lzma pkcs7 python static-libs +tools zlib"
+IUSE="debug doc libressl +lzma pkcs7 python static-libs +tools +zlib zstd"
# Upstream does not support running the test suite with custom configure flags.
# I was also told that the test suite is intended for kmod developers.
@@ -29,6 +29,7 @@ IUSE="debug doc libressl lzma pkcs7 python static-libs +tools zlib"
# See bug #408915.
RESTRICT="test"
+# >=zlib-1.2.6 required because of bug #427130
# Block systemd below 217 for -static-nodes-indicate-that-creation-of-static-nodes-.patch
RDEPEND="!sys-apps/module-init-tools
!sys-apps/modutils
@@ -40,7 +41,8 @@ RDEPEND="!sys-apps/module-init-tools
!libressl? ( >=dev-libs/openssl-1.1.0:0= )
libressl? ( dev-libs/libressl:0= )
)
- zlib? ( >=sys-libs/zlib-1.2.6 )" #427130
+ zlib? ( >=sys-libs/zlib-1.2.6 )
+ zstd? ( >=app-arch/zstd-1.4.4 )"
DEPEND="${RDEPEND}"
BDEPEND="
doc? (
@@ -55,13 +57,13 @@ BDEPEND="
zlib? ( virtual/pkgconfig )
"
if [[ ${PV} == 9999* ]]; then
- DEPEND="${DEPEND}
+ BDEPEND="${BDEPEND}
dev-libs/libxslt"
fi
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-DOCS="NEWS README TODO"
+DOCS=( NEWS README TODO )
src_prepare() {
default
@@ -97,6 +99,7 @@ src_configure() {
$(use_with lzma xz)
$(use_with pkcs7 openssl)
$(use_with zlib)
+ $(use_with zstd)
)
local ECONF_SOURCE="${S}"