bebabb191d
* brp-kmod-restore-perms: Add chech for "$RPM_BUILD_ROOT/$path.zst". * find-provides.ksyms: Add "\.zst" to the kernel module path matching regular expression; process kernel module with zstd if its file name ends with "zst". * find-requires.ksyms: Likewise. * firmware.prov: Add "\.zst" to the kernel module path matching regular expression. * kmodtool (%post, %preun): Likewise. * modalias.prov: Likewise. * modalias.attr (%__modalias_path): Add "ko\.zst" to the kernel module path matching regular expression. * provided_ksyms.attr (%__provided_ksyms_path): Likewise. * required_ksyms.attr (%__required_ksyms_path): Likewise. * kmod.attr (%__kmod_path): Add ".*\.ko\.zst" to the kernel module path matching regular expression. (strip_compress_sfx): Strip "\.zst" suffix, if present. Resolves: #1942537 Signed-off-by: Eugene Syromiatnikov <esyr@redhat.com>
32 lines
948 B
Plaintext
32 lines
948 B
Plaintext
%__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
|
|
}
|