* hwe-5.19 kernel has to be compiled with gcc-12+ for the new security kernel config options that have been enabled in that kernel (init zero structs).
* dkms needs to be patched to attempt to use the same compiler as was used to build the kernel, specifically use gcc for v5.15 but gcc-12 for v5.19+ in jammy
* dkms autopkgtests also need to be improved to ensure there are no false negatives when kernel has module under test already built-in at the same version.
* because linux-headers packages in Ubuntu do not depend on a toolchain, and it is very hard to correctly depend on a native or cross-toolchain, add gcc-12 dependency in the dkms package.
[ Test Plan ]
* Retrigger dkms module test for a built-in package of the same version as already built into the kernel, for example zfs-linux dkms. It should pass.
* Attempt to build dkms modules against v5.15 kernel and v5.19 kernel from proposed. dkms module should be built with gcc and gcc-12 respectively.
[ Where problems could occur ]
* New gcc-12 dependency on the dkms package may result in two compilers being installed in the Ubuntu Desktop Live image
* New gcc-12 dependency may prevent automatic upgrade/installation of the dkms package update via unattended upgrades.
[ Other Info ]
* It is questionable for dkms to depend on any c-compiler, given that a module for a given kernel can really be built with the same toolchain and the same compiler features.
* In debian, linux kernel packages ship and extra configuration file in the kernel headers, dkms uses said configuration file to use a matching compiler, and linux-headers packages depend on the toolchain used to build a given kernel. Maybe in the future Ubuntu could consider using the same packaging.
[ Impact ]
* hwe-5.19 kernel has to be compiled with gcc-12+ for the new security kernel config options that have been enabled in that kernel (init zero structs).
* dkms needs to be patched to attempt to use the same compiler as was used to build the kernel, specifically use gcc for v5.15 but gcc-12 for v5.19+ in jammy
* dkms autopkgtests also need to be improved to ensure there are no false negatives when kernel has module under test already built-in at the same version.
* because linux-headers packages in Ubuntu do not depend on a toolchain, and it is very hard to correctly depend on a native or cross-toolchain, add gcc-12 dependency in the dkms package.
[ Test Plan ]
* Retrigger dkms module test for a built-in package of the same version as already built into the kernel, for example zfs-linux dkms. It should pass.
* Attempt to build dkms modules against v5.15 kernel and v5.19 kernel from proposed. dkms module should be built with gcc and gcc-12 respectively.
[ Where problems could occur ]
* New gcc-12 dependency on the dkms package may result in two compilers being installed in the Ubuntu Desktop Live image
* New gcc-12 dependency may prevent automatic upgrade/ installation of the dkms package update via unattended upgrades.
[ Other Info ]
* It is questionable for dkms to depend on any c-compiler, given that a module for a given kernel can really be built with the same toolchain and the same compiler features.
* In debian, linux kernel packages ship and extra configuration file in the kernel headers, dkms uses said configuration file to use a matching compiler, and linux-headers packages depend on the toolchain used to build a given kernel. Maybe in the future Ubuntu could consider using the same packaging.