RPM macros that list arches the full kernel is built on
Go to file
Denys Vlasenko 35e1f2fc73 modalias.prov: speed up, explain and make more correct combining code
The time to run on tests/* data decreased from 34.517s to 30.201s.

Do not allow combining of any glob meta characters, either in first
or second line.

The code is still buggy, it may attempt to combine
    modalias(abc[def]123)
    modalias(abc[dXf]123)
into
    modalias(abc[d[eX]f]123)
(presumably there won't be any such cases in real modules, but still).

Eliminate "| head -n1" - do it with bash string ops.

Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2023-05-07 17:49:24 +02:00
tests tests: add tests for modalias.prov 2023-05-07 17:36:00 +02:00
.gitignore Initial build 2020-07-21 14:06:48 -07:00
brp-kmod-restore-perms Add zstd kmod compression support 2021-11-18 16:44:20 +01:00
brp-kmod-set-exec-bit Enable extraction of debug information for kmods 2021-11-18 16:38:10 +01:00
find-provides.ksyms test commit 2023-04-26 09:33:20 +02:00
find-requires.ksyms test commit 2023-04-26 09:33:20 +02:00
firmware.prov Add zstd kmod compression support 2021-11-18 16:44:20 +01:00
kabi.attr Re-instantiate support for old symvers path 2021-11-18 16:33:11 +01:00
kabi.sh Improve Provides: kernel() generation for built-in modules 2021-11-18 16:44:20 +01:00
kernel-srpm-macros.spec find-provides.ksyms, find-requires.ksyms: avoid awaking debuginfod 2023-04-25 12:40:16 +02:00
kmod.attr kmod.attr: cosmetic fixes: %{1} to %1, indentation fix 2023-05-04 12:55:15 +02:00
kmodtool Add zstd kmod compression support 2021-11-18 16:44:20 +01:00
macros.kernel-srpm Initial build 2020-07-21 14:06:48 -07:00
macros.kmp macros.kmp: remove kernel-abi-stablelists from the dependency list 2021-11-18 17:55:06 +01:00
modalias.attr Add zstd kmod compression support 2021-11-18 16:44:20 +01:00
modalias.prov modalias.prov: speed up, explain and make more correct combining code 2023-05-07 17:49:24 +02:00
provided_ksyms.attr Add zstd kmod compression support 2021-11-18 16:44:20 +01:00
README.md README.md: add notes to understand what is done by which file 2023-04-28 15:56:49 +02:00
required_ksyms.attr Add zstd kmod compression support 2021-11-18 16:44:20 +01:00
rpmsort rpmsort: update the FSF address 2021-11-18 16:44:20 +01:00
sources Initial build 2020-07-21 14:06:48 -07:00
symset-table Adopt kernel-rpm-macros subpackage from redhat-rpm-config 2021-06-03 17:21:53 +02:00

kernel-srpm-macros

The kernel-srpm-macros package

This source package results in two "binary" packages, kernel-rpm-macros and kernel-srpm-macros. The role and locations of files is as follows:

kernel-srpm-macros:

/usr/lib/rpm/fileattrs/kmod.attr For /lib/modules/XYZ/modules.builtin and .../MODULE.ko.XYZ specifies a Lua script to generate kmod(MODULE.ko) "Provides:" deps /usr/lib/rpm/macros.d/macros.kernel-srpm ?

kernel-rpm-macros:

/usr/lib/rpm/redhat/brp-kmod-restore-perms ? /usr/lib/rpm/redhat/brp-kmod-set-exec-bit ?

/usr/lib/rpm/redhat/find-provides.ksyms Runs from rpmbuild at the end of kernel builds and 3rd party module builds, to extract kernel(SYMBOL)=0xHASH "Provides:" deps from modules in kernel packages, and ksym(SYMBOL)=0xHASH for 3rd party modules. Takes input list of files on stdin. /usr/lib/rpm/fileattrs/provided_ksyms.attr For newer rpmbuild with "internal dependency generators", this file specifies that find-provides.ksyms should be run only on .ko.XYZ files (with "external dependency generators", the script needs to filter out the files by itself).

/usr/lib/rpm/redhat/find-requires.ksyms ? /usr/lib/rpm/fileattrs/required_ksyms.attr For newer rpmbuild with "internal dependency generators", this file specifies that find-requires.ksyms should be run only on .ko.XYZ files, and not for /lib/modules/XYZ/kernel/* (IOW: only for building 3rd-party modules)

/usr/lib/rpm/redhat/find-provides.d/modalias.prov Runs from rpmbuild at the end of kernel builds and 3rd party module builds, to extract modalias(pci:SOMETHING)=OPTIONALLY_VERSION "Provides:" deps from modules in kernel and 3rd party modules packages. Takes input list of files on stdin. /usr/lib/rpm/fileattrs/modalias.attr For newer rpmbuild with "internal dependency generators", this file specifies that modalias.prov should be run only on .ko.XYZ files

/usr/lib/rpm/redhat/find-provides.d/firmware.prov ?

/usr/lib/rpm/kabi.sh Runs from rpmbuild at the end of kernel build to extract kernel(SYMBOL)=0xHASH "Provides:" deps. /usr/lib/rpm/fileattrs/kabi.attr For newer rpmbuild with "internal dependency generators", this file specifies that kabi.sh should be run on /boot/symvers-* and /lib/modules/XYZ/symvers).gz

/usr/lib/rpm/macros.d/macros.kmp ?

/usr/lib/rpm/redhat/kmodtool ? /usr/lib/rpm/redhat/rpmsort ? /usr/lib/rpm/redhat/symset-table ?