Blob Blame History Raw
#!/bin/sh -e

KREL=$1

{ cat /lib/modules/$KREL/modules.dep ;
cat /lib/modules/$KREL/modules.softdep | grep : | sed -e 's/^softdep //' -e 's/ \(pre\|post\):/:/' ; } \
	    | \
while read l ; do
	MOD=$(echo "$l" | sed -e 's/:.*//')
	MOD=$(basename $MOD)
	case $MOD in
	    *.ko.xz|*.ko.gz|*.ko.zst)
		MOD=${MOD%.*};;
	esac
	MOD=${MOD%.ko}
	DEPS="$(echo "$l" | sed -e 's/.*://')"
	moddeps=""
	for dep in $DEPS ; do
		dep=$(basename $dep)
		case $dep in
		    *.ko.xz|*.ko.gz|*.ko.zst)
			dep=${dep%.*};;
		esac
		dep=${dep%.ko}
		moddeps="$moddeps $dep"
	done
	[ -n "$moddeps" ] && echo $MOD:$moddeps ||:
done