Lines 17-33
Link Here
|
17 |
then |
17 |
then |
18 |
# prepend slash to each moddeplist element |
18 |
# prepend slash to each moddeplist element |
19 |
# to avoid passing elements as basename options |
19 |
# to avoid passing elements as basename options |
20 |
basename -s "${KEXT}" "${moddeplist[@]/#/\/}" |
20 |
basename -a "${moddeplist[@]/#/\/}" |
21 |
fi |
21 |
fi |
22 |
} |
22 |
} |
23 |
|
23 |
|
24 |
gen_dep_list() { |
24 |
gen_dep_list() { |
|
|
25 |
local -a modlist=() moddeplist=() |
26 |
local kext_rx="\(\.ko\|${KEXT//./\\.}\)" |
25 |
local moddir="${KERNEL_MODULES_PREFIX%/}/lib/modules/${KV}" |
27 |
local moddir="${KERNEL_MODULES_PREFIX%/}/lib/modules/${KV}" |
26 |
|
28 |
|
27 |
if isTrue "${ALLRAMDISKMODULES}" |
29 |
if isTrue "${ALLRAMDISKMODULES}" |
28 |
then |
30 |
then |
29 |
cat "${moddir}/modules.builtin" |
31 |
local mydeps mymod |
30 |
cat "${moddir}/modules.dep" | cut -d':' -f1 |
32 |
while IFS=" " read -r -u 3 mymod mydeps |
|
|
33 |
do |
34 |
moddeplist+=( ${mymod%:} ) |
35 |
done 3< <( |
36 |
cat "${moddir}/modules.dep" \ |
37 |
| grep "${kext_rx}:" |
38 |
|
39 |
cat "${moddir}/modules.builtin" \ |
40 |
| xargs printf '%s:\n' \ |
41 |
| grep "${kext_rx}:" |
42 |
) |
31 |
else |
43 |
else |
32 |
local -a modlist=() moddeplist=() |
44 |
local -a modlist=() moddeplist=() |
33 |
|
45 |
|
Lines 60-75
Link Here
|
60 |
local -a rxargs=( "${modlist[@]}" ) |
72 |
local -a rxargs=( "${modlist[@]}" ) |
61 |
|
73 |
|
62 |
rxargs=( "${rxargs[@]/#/-e\/}" ) |
74 |
rxargs=( "${rxargs[@]/#/-e\/}" ) |
63 |
rxargs=( "${rxargs[@]/%/${KEXT}:}" ) |
75 |
rxargs=( "${rxargs[@]/%/${kext_rx}:}" ) |
|
|
76 |
|
77 |
cat "${moddir}/modules.dep" \ |
78 |
| grep "${rxargs[@]}" |
64 |
|
79 |
|
65 |
cat "${moddir}/modules.builtin" \ |
80 |
cat "${moddir}/modules.builtin" \ |
66 |
| xargs printf '%s:\n' \ |
81 |
| xargs printf '%s:\n' \ |
67 |
| grep -F "${rxargs[@]}" |
82 |
| grep "${rxargs[@]}" |
68 |
|
|
|
69 |
cat "${moddir}/modules.dep" \ |
70 |
| grep -F "${rxargs[@]}" |
71 |
) |
83 |
) |
72 |
|
84 |
fi |
73 |
printf '%s\n' "${moddeplist[@]}" |
85 |
printf '%s\n' "${moddeplist[@]%%.*}" | xbasename | sort | uniq |
74 |
fi | xbasename | sort | uniq |
|
|
75 |
} |
86 |
} |