[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#588452: [PATCH initramfs-tools] hook-functions: Include soft-dependencies of all kernel modules



Control: tag -1 patch pending

I've applied the following patch, which seems to solve this problem.

Ben.

---
The proper solution to hidden module dependencies is to add 'softdep'
information to the depending modules.  Unfortunately we currently
still won't see those dependencies as 'modprobe --ignore-install'
inhibits processing of both 'install' and 'softdep' configuration
lines and embedded softdep information.

There are good reasons for using --ignore-install (see #384043), so
instead of removing this option we run modprobe twice, with and
without it.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
 hook-functions | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/hook-functions b/hook-functions
index ee1c205..3095290 100644
--- a/hook-functions
+++ b/hook-functions
@@ -59,7 +59,13 @@ manual_add_modules()
 		return
 	fi
 
-	modprobe --all --set-version="${version}" --ignore-install --quiet --show-depends "$@" |
+	# modprobe --ignore-install inhibits processing of 'install'
+	# configuration lines, so that instead we will see 'insmod
+	# module.ko' as we want.  However it also means that 'softdep'
+	# configuration lines and embedded softdep information is not
+	# processed.  So we run twice, with and without this option.
+	{ modprobe --all --set-version="${version}" --ignore-install --quiet --show-depends "$@";
+	  modprobe --all --set-version="${version}" --quiet --show-depends "$@"; } |
 	while read prefix kmod options ; do
 		if [ "${prefix}" != "insmod" ]; then
 			continue
-- 
Ben Hutchings
Larkinson's Law: All laws are basically false.

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: