UBUNTU: [Packaging] Remove circular dependency between image & modules

Currently we have circular dependencies between
linux-image-[unsigned]-ABI and linux-modules[-extra] packages.

Debian policy point of view this is bad and does lead to worse
dependency resolution cycles in apt upon kernel installs and upgrades,
but mostly harmless as apt has learned to deal with that a long time
ago.

It is harmful for kernels that have additional types of debs or snaps
that deliver vmlinux.

In addition to regular linux-image[-unsigned] we produce various FDE
linux-images like things with builtin initrds, i.e. linux-fde,
linux-uc22, FIT images etc. All of them vendor in vmlinuz, and do not
need to have linux-image[-unsigned] installed. They also often do not
want to pull in any of the bootloaders listed as recommends by the
linux-image-ABI package either, as they use alternative methods to
boot (i.e. gadget snap, nullboot, flashkernel, weird cloud firmware
provided stuff, etc).

Remove linux-modules[-extra] -> linux-image[-unsigned] dependency. Add
linux-modules-extra -> linux-modules dependency (because extra modules
use symbols from the regular modules package).

This will enable us to build clean meta-packages that pull in
appropriate image, fde, uc22, FIT kernel image with matching modules,
without installing redudant copies of vmlinux or bootloaders.

Signed-off-by: Dimitri John Ledkov <dimitri.ledkov@canonical.com>
Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
This commit is contained in:
Dimitri John Ledkov
2022-08-25 23:21:34 +01:00
committed by Paolo Pisati
parent a696e66e92
commit bface3ef93
+2 -2
View File
@@ -49,7 +49,7 @@ Build-Profiles: <!stage1>
Architecture: ARCH
Section: kernel
Priority: optional
Depends: ${misc:Depends}, ${shlibs:Depends}, linux-image-PKGVER-ABINUM-FLAVOUR | linux-image-unsigned-PKGVER-ABINUM-FLAVOUR
Depends: ${misc:Depends}, ${shlibs:Depends}
Built-Using: ${linux:BuiltUsing}
Description: Linux kernel extra modules for version PKGVER on DESC
Contains the corresponding System.map file, the modules built by the
@@ -69,7 +69,7 @@ Build-Profiles: <!stage1>
Architecture: ARCH
Section: kernel
Priority: optional
Depends: ${misc:Depends}, ${shlibs:Depends}, linux-image-PKGVER-ABINUM-FLAVOUR | linux-image-unsigned-PKGVER-ABINUM-FLAVOUR, wireless-regdb
Depends: ${misc:Depends}, ${shlibs:Depends}, linux-modules-PKGVER-ABINUM-FLAVOUR, wireless-regdb
Description: Linux kernel extra modules for version PKGVER on DESC
This package contains the Linux kernel extra modules for version PKGVER on
DESC.