diff options
Diffstat (limited to 'sys-apps/kmod')
-rw-r--r-- | sys-apps/kmod/Manifest | 7 | ||||
-rw-r--r-- | sys-apps/kmod/files/kmod-26-libressl.patch | 143 | ||||
-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.ebuild | 15 |
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}" |