From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 5B314158004 for ; Mon, 20 May 2024 12:59:16 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 6D1F4E2A3D; Mon, 20 May 2024 12:59:15 +0000 (UTC) Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 3DBDEE2A3C for ; Mon, 20 May 2024 12:59:15 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 5FC4733BEED for ; Mon, 20 May 2024 12:59:14 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id E5528186B for ; Mon, 20 May 2024 12:59:12 +0000 (UTC) From: "Ben Kohler" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Ben Kohler" Message-ID: <1716209939.56c89013f80111143170e62c91dddd55184d6cdb.bkohler@gentoo> Subject: [gentoo-commits] proj/genkernel:master commit in: / X-VCS-Repository: proj/genkernel X-VCS-Files: gen_moddeps.sh X-VCS-Directories: / X-VCS-Committer: bkohler X-VCS-Committer-Name: Ben Kohler X-VCS-Revision: 56c89013f80111143170e62c91dddd55184d6cdb X-VCS-Branch: master Date: Mon, 20 May 2024 12:59:12 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 90209c2d-fa5a-4621-9c59-0f2ad9c9d0ba X-Archives-Hash: 9574c6499ba3aa0ebd4501f5437ae7b4 commit: 56c89013f80111143170e62c91dddd55184d6cdb Author: Dmitriy Baranov gmail com> AuthorDate: Tue Mar 5 14:24:09 2024 +0000 Commit: Ben Kohler gentoo org> CommitDate: Mon May 20 12:58:59 2024 +0000 URL: https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=56c89013 gen_moddeps.sh: use KEXT along with default '.ko' extension to prevent modinfo error Also improved gen_dep_list() and get rid xbasename() Bug: https://bugs.gentoo.org/922663 Closes: #57 Signed-off-by: Dmitriy Baranov gmail.com> Signed-off-by: Ben Kohler gentoo.org> gen_moddeps.sh | 33 +++++++++++++-------------------- 1 file changed, 13 insertions(+), 20 deletions(-) diff --git a/gen_moddeps.sh b/gen_moddeps.sh index 7e2e070..ff264f4 100755 --- a/gen_moddeps.sh +++ b/gen_moddeps.sh @@ -10,27 +10,17 @@ mod_dep_list() { cat "${TEMP}/moddeps" } -xbasename() { - local -a moddeplist=( $( 0 )) - then - # prepend slash to each moddeplist element - # to avoid passing elements as basename options - basename -s "${KEXT}" "${moddeplist[@]/#/\/}" - fi -} - gen_dep_list() { + local -a modlist=() moddeplist=() local moddir="${KERNEL_MODULES_PREFIX%/}/lib/modules/${KV}" + # Always include firmware for built-in modules + moddeplist=( $(cat "${moddir}/modules.builtin") ) + if isTrue "${ALLRAMDISKMODULES}" then - cat "${moddir}/modules.builtin" - cat "${moddir}/modules.dep" | cut -d':' -f1 + moddeplist+=( $(cat "${moddir}/modules.dep" | cut -d':' -f1) ) else - local -a modlist=() moddeplist=() - local mygroups for mygroups in ${!MODULES_*} GK_INITRAMFS_ADDITIONAL_KMODULES do @@ -60,15 +50,18 @@ gen_dep_list() { local -a rxargs=( "${modlist[@]}" ) rxargs=( "${rxargs[@]/#/-e\/}" ) - rxargs=( "${rxargs[@]/%/${KEXT}:}" ) + rxargs=( + "${rxargs[@]/%/.ko:}" + "${rxargs[@]/%/${KEXT}:}" + ) cat "${moddir}/modules.dep" \ | grep -F "${rxargs[@]}" ) + fi - # Always include firmware for built-in modules - cat "${moddir}/modules.builtin" + moddeplist=( ${moddeplist[@]##*/} ) + moddeplist=( ${moddeplist[@]%%.*} ) - printf '%s\n' "${moddeplist[@]}" - fi | xbasename | sort | uniq + printf '%s\n' "${moddeplist[@]}" | sort | uniq }