Tested evdi-dkms module that already has this rule BUILD_EXCLUSIVE_KERNEL="CONFIG_I2C CONFIG_DRM" with
jammy:linux-kvm(5.15.0-1033-kvm) that has these configs disabled.
Scenario 1:
old dkms version(2.8.7-2ubuntu2.1) without BUILD_EXCLUSIVE_KERNEL. Expectation: build is done and it fails because of missing config options.
$ sudo apt install evdi-dkms
Building for 5.15.0-1033-kvm
Building initial module for 5.15.0-1033-kvm
ERROR: Cannot create report: [Errno 17] File exists: '/var/crash/evdi-dkms.0.crash'
Error! Bad return status for module build on kernel: 5.15.0-1033-kvm (x86_64)
Consult /var/lib/dkms/evdi/1.12.0+dfsg/build/make.log for more information.
...
/var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_i2c.c: In function ‘evdi_i2c_add’:
/var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_i2c.c:49:16: error: implicit declaration of function ‘i2c_add_adapter’; did you mean ‘i2c_verify_adapter’? [-Werror=implicit-function-declaration]
49 | return i2c_add_adapter(adapter);
| ^~~~~~~~~~~~~~~
| i2c_verify_adapter
/var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_i2c.c: In function ‘evdi_i2c_remove’:
/var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_i2c.c:54:9: error: implicit declaration of function ‘i2c_del_adapter’; did you mean ‘i2c_verify_adapter’? [-Werror=implicit-function-declaration]
54 | i2c_del_adapter(adapter);
| ^~~~~~~~~~~~~~~
| i2c_verify_adapter
cc1: some warnings being treated as errors
make[1]: *** [scripts/Makefile.build:297: /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_i2c.o] Error 1
make: *** [Makefile:1907: /var/lib/dkms/evdi/1.12.0+dfsg/build] Error 2
Scenario 2:
new dkms version(2.8.7-2ubuntu2.2) with BUILD_EXCLUSIVE_KERNEL. Expectation: build is skipped because of missing config options:
$ uname -a
Linux jammy-kvm 5.15.0-1033-kvm #38-Ubuntu SMP Fri Apr 21 17:30:00 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
$ sudo apt install evdi-dkms
Loading new evdi-1.12.0+dfsg DKMS files...
Building for 5.15.0-1033-kvm
Building initial module for 5.15.0-1033-kvm
Error! The /var/lib/dkms/evdi/1.12.0+dfsg/5.15.0-1033-kvm/x86_64/dkms.conf for module evdi includes a BUILD_EXCLUSIVE directive which does not match this kernel/arch.
The /var/lib/dkms/evdi/1.12.0+dfsg/5.15.0-1033-kvm/x86_64/dkms.conf for module evdi includes a BUILD_EXCLUSIVE directive which does not match this kernel/arch/config.
This indicates that it should not be built.
Skipped.
Tested evdi-dkms module that already has this rule BUILD_EXCLUSIVE _KERNEL= "CONFIG_ I2C CONFIG_DRM" with kvm(5.15. 0-1033- kvm) that has these configs disabled.
jammy:linux-
Scenario 1: 2.8.7-2ubuntu2. 1) without BUILD_EXCLUSIVE _KERNEL. Expectation: build is done and it fails because of missing config options. evdi-dkms. 0.crash' dkms/evdi/ 1.12.0+ dfsg/build/ make.log for more information. dkms/evdi/ 1.12.0+ dfsg/build/ evdi_i2c. c: In function ‘evdi_i2c_add’: dkms/evdi/ 1.12.0+ dfsg/build/ evdi_i2c. c:49:16: error: implicit declaration of function ‘i2c_add_adapter’; did you mean ‘i2c_verify_ adapter’ ? [-Werror= implicit- function- declaration] adapter( adapter) ; dkms/evdi/ 1.12.0+ dfsg/build/ evdi_i2c. c: In function ‘evdi_i2c_remove’: dkms/evdi/ 1.12.0+ dfsg/build/ evdi_i2c. c:54:9: error: implicit declaration of function ‘i2c_del_adapter’; did you mean ‘i2c_verify_ adapter’ ? [-Werror= implicit- function- declaration] adapter( adapter) ; Makefile. build:297: /var/lib/ dkms/evdi/ 1.12.0+ dfsg/build/ evdi_i2c. o] Error 1 dkms/evdi/ 1.12.0+ dfsg/build] Error 2
old dkms version(
$ sudo apt install evdi-dkms
Building for 5.15.0-1033-kvm
Building initial module for 5.15.0-1033-kvm
ERROR: Cannot create report: [Errno 17] File exists: '/var/crash/
Error! Bad return status for module build on kernel: 5.15.0-1033-kvm (x86_64)
Consult /var/lib/
...
/var/lib/
/var/lib/
49 | return i2c_add_
| ^~~~~~~~~~~~~~~
| i2c_verify_adapter
/var/lib/
/var/lib/
54 | i2c_del_
| ^~~~~~~~~~~~~~~
| i2c_verify_adapter
cc1: some warnings being treated as errors
make[1]: *** [scripts/
make: *** [Makefile:1907: /var/lib/
Scenario 2: 2.8.7-2ubuntu2. 2) with BUILD_EXCLUSIVE _KERNEL. Expectation: build is skipped because of missing config options:
new dkms version(
$ uname -a
Linux jammy-kvm 5.15.0-1033-kvm #38-Ubuntu SMP Fri Apr 21 17:30:00 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
$ sudo apt install evdi-dkms dkms/evdi/ 1.12.0+ dfsg/5. 15.0-1033- kvm/x86_ 64/dkms. conf for module evdi includes a BUILD_EXCLUSIVE directive which does not match this kernel/arch. dkms/evdi/ 1.12.0+ dfsg/5. 15.0-1033- kvm/x86_ 64/dkms. conf for module evdi includes a BUILD_EXCLUSIVE directive which does not match this kernel/arch/config.
Loading new evdi-1.12.0+dfsg DKMS files...
Building for 5.15.0-1033-kvm
Building initial module for 5.15.0-1033-kvm
Error! The /var/lib/
The /var/lib/
This indicates that it should not be built.
Skipped.
This new package works as expected, all good.