Add per-module BUILD_EXCLUSIVE_* directives in DKMS.
- Global
BUILD_EXCLUSIVE_*directives still work as before for backwards compatibility. - New array-based directives to add per-module support:
BUILD_EXCLUSIVE_KERNEL[#]BUILD_EXCLUSIVE_KERNEL_MIN[#]BUILD_EXCLUSIVE_KERNEL_MAX[#]BUILD_EXCLUSIVE_ARCH[#]BUILD_EXCLUSIVE_CONFIG[#]
- Both global and per-module directives are checked, and if any module fails either set of constraints, the build is excluded.
New build_environment directive to specify custom compilers
Add a new global build_environment directive, that can contain a path to a file that is sourced in the DKMS shell when building modules. Allows using a custom GCC that is being used only for building the kernel and its modules, so it should be set only for DKMS.
An example: Oracle's UEK kernel for el9 compiled with a gcc-toolset-11 package, with the toolset not set system wide but only being used for building DKMS modules.
What's Changed
- warn if no headers were found by @anbe42 in #547
- Update tests by @scaronni in #549
- Makefile: add uninstall target by @scaronni in #550
- Add BUILD_EXCLUSIVE directives support to single kernel modules (2nd take) by @scaronni in #551
- Add build_environment directive to framework by @scaronni in #556
- Update test platforms by @scaronni in #558
Full Changelog: v3.2.2...v3.3.0