redhat-rpm-config/SOURCES/kmod.prov

29 lines
682 B
Plaintext
Raw Normal View History

2019-05-07 13:05:19 +00:00
#!/bin/sh +x
2020-11-03 12:11:36 +00:00
# Kernel build can have many thousands of modules.
# kmod.prov is run for every one of them.
# Try to make this script run as fast as we can.
# For example, use shell string ops instead of external programs
# where possible.
2019-05-07 13:05:19 +00:00
IFS=$'\n'
2020-11-03 12:11:36 +00:00
read -r fname || exit
2019-05-07 13:05:19 +00:00
2020-11-03 12:11:36 +00:00
# Only process files from .../lib/modules/... subtree
[ "${fname#*/lib/modules/*}" != "$fname" ] || exit 0
kmod=${fname##*/} # like basename, but faster
if [ "$kmod" = "modules.builtin" ]; then
for j in $(cat -- "$fname"); do
echo "kmod(${j##*/})"
done
exit 0
fi
kmod=${kmod%.gz}
kmod=${kmod%.xz}
if [ "${kmod%.ko}" != "$kmod" ]; then
echo "kmod($kmod)"
fi