** Description changed: [SRU Justification] Impact: Some dkms modules (like evdi-dkms) have this rule BUILD_EXCLUSIVE_CONFIG which prevent it from building if a specific configuration is enabled/disabled. This feature was released for kinetic but not for jammy. This backports the patch to jammy as well. Fix: Backported BUILD_EXCLUSIVE_CONFIG.patch from kinetic. In order to be applied, I had to slightly modify the first junk. Other than that, it was a clean backport. - Testcase: - I used evdi as dkms module with this feature. Before the fix, it will fail with this error: + [Testcase] + + $ sudo apt install linux-image-kvm linux-headers-kvm + $ sudo apt install evdi-dkms + + Before the fix, it will fail with this error: DKMS make.log for evdi-1.12.0+dfsg for kernel 5.15.0-1029-kvm (x86_64) Thu Mar 23 10:10:14 UTC 2023 make: Entering directory '/usr/src/linux-headers-5.15.0-1029-kvm' - CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_platform_drv.o - CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_platform_dev.o - CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_sysfs.o - CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_modeset.o - CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_connector.o - CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_encoder.o - CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_drm_drv.o - CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_fb.o - CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_gem.o - CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_painter.o - CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_params.o - CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_cursor.o - CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_debug.o - CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_i2c.o + CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_platform_drv.o + CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_platform_dev.o + CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_sysfs.o + CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_modeset.o + CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_connector.o + CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_encoder.o + CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_drm_drv.o + CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_fb.o + CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_gem.o + CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_painter.o + CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_params.o + CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_cursor.o + CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_debug.o + CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_i2c.o /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 + 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 + 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:1906: /var/lib/dkms/evdi/1.12.0+dfsg/build] Error 2 make: Leaving directory '/usr/src/linux-headers-5.15.0-1029-kvm' This fails because CONFIG_I2C=n for a KVM kernel derivative. Even though evdi has this build rule: BUILD_EXCLUSIVE_CONFIG="CONFIG_I2C CONFIG_DRM" After the fix, it will not build: Building initial module for 5.15.0-1029-kvm Error! The /var/lib/dkms/evdi/1.12.0+dfsg/5.15.0-1029-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-1029-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. + [Regression potential] - Regression potential: Very low, this is just a simple feature to prevent building a module.
-- You received this bug notification because you are a member of Kernel Packages, which is subscribed to dkms in Ubuntu. https://bugs.launchpad.net/bugs/2012612 Title: Add new feature BUILD_EXCLUSIVE_CONFIG to jammy as well Status in dkms package in Ubuntu: Fix Released Status in dkms source package in Jammy: In Progress Status in dkms source package in Kinetic: Fix Released Bug description: [SRU Justification] Impact: Some dkms modules (like evdi-dkms) have this rule BUILD_EXCLUSIVE_CONFIG which prevent it from building if a specific configuration is enabled/disabled. This feature was released for kinetic but not for jammy. This backports the patch to jammy as well. Fix: Backported BUILD_EXCLUSIVE_CONFIG.patch from kinetic. In order to be applied, I had to slightly modify the first junk. Other than that, it was a clean backport. [Testcase] $ sudo apt install linux-image-kvm linux-headers-kvm $ sudo apt install evdi-dkms Before the fix, it will fail with this error: DKMS make.log for evdi-1.12.0+dfsg for kernel 5.15.0-1029-kvm (x86_64) Thu Mar 23 10:10:14 UTC 2023 make: Entering directory '/usr/src/linux-headers-5.15.0-1029-kvm' CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_platform_drv.o CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_platform_dev.o CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_sysfs.o CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_modeset.o CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_connector.o CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_encoder.o CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_drm_drv.o CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_fb.o CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_gem.o CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_painter.o CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_params.o CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_cursor.o CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_debug.o CC [M] /var/lib/dkms/evdi/1.12.0+dfsg/build/evdi_i2c.o /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:1906: /var/lib/dkms/evdi/1.12.0+dfsg/build] Error 2 make: Leaving directory '/usr/src/linux-headers-5.15.0-1029-kvm' This fails because CONFIG_I2C=n for a KVM kernel derivative. Even though evdi has this build rule: BUILD_EXCLUSIVE_CONFIG="CONFIG_I2C CONFIG_DRM" After the fix, it will not build: Building initial module for 5.15.0-1029-kvm Error! The /var/lib/dkms/evdi/1.12.0+dfsg/5.15.0-1029-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-1029-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. [Regression potential] Very low, this is just a simple feature to prevent building a module. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/dkms/+bug/2012612/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp