%__kmod_path ^/lib/modules/.*/(modules.builtin|.*\.ko|.*\.ko\.gz|.*\.ko\.bz2|.*\.ko\.xz|.*\.ko\.zst)$ %__kmod_provides() %{lua: function basename(fn) return string.gsub(fn, "(.*/)(.*)", "%2") end function strip_compress_sfx(fn) return string.gsub(fn, "(.*)(\.gz|\.bz2|\.xz|\.zst)?$", "%1") end function printdep(mod) print("kmod("..mod..") ") end local fn = rpm.expand("%{1}") local bn = basename(fn) if bn == "modules.builtin" then for l in io.lines(fn) do local builtin_mod = basename(l) printdep(builtin_mod) if strip_compress_sfx(builtin_mod) ~= builtin_mod then printdep(strip_compress_sfx(builtin_mod)) end end else local mod = string.match(bn, "%g+.ko") if mod then printdep(mod) if strip_compress_sfx(mod) ~= mod then printdep(strip_compress_sfx(mod)) end end end }