diff mbox series

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

Message ID 79b1ba13-90d5-d3c7-8faa-29d0d1fdcea5@canonical.com
State New
Headers show
Series [Unstable,K] UBUNTU: [Packaging] Remove circular dependency between image & modules | expand

Commit Message

Dimitri John Ledkov Aug. 25, 2022, 10:21 p.m. UTC
Currently we have circular dependencies between
linux-image-[unsigned]-ABI and linux-modules[-extra] packages.

From 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>
---

 PS. I am using thunderbird to send this, for the first time. I am
 really not at all sure if it will go through fine or not.

 debian.master/control.d/flavour-control.stub | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Andrea Righi Aug. 26, 2022, 2:27 p.m. UTC | #1
On Thu, Aug 25, 2022 at 11:21:34PM +0100, Dimitri John Ledkov wrote:
> 
> Currently we have circular dependencies between
> linux-image-[unsigned]-ABI and linux-modules[-extra] packages.
> 
> From 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>
> ---
> 
>  PS. I am using thunderbird to send this, for the first time. I am
>  really not at all sure if it will go through fine or not.

Yeah, git isn't really happy with that:

  patch: **** malformed patch at line 23: LAVOUR | linux-image-unsigned-PKGVER-ABINUM-FLAVOUR

But it's applied to kinetic:linux and kinetic:linux-unstable now,
thanks!

-Andrea
diff mbox series

Patch

diff --git a/debian.master/control.d/flavour-control.stub b/debian.master/control.d/flavour-control.stub
index 9fe268b333..2c0bcd194a 100644
--- a/debian.master/control.d/flavour-control.stub
+++ b/debian.master/control.d/flavour-control.stub
@@ -46,13 +46,13 @@  Description: Linux kernel image for version PKGVER on DESC
 
 Package: linux-modules-PKGVER-ABINUM-FLAVOUR
 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
  packager, and scripts that try to ensure that the system is not left in an
  unbootable state after an update.
  .
@@ -66,13 +66,13 @@  Description: Linux kernel extra modules for version PKGVER on DESC
 
 Package: linux-modules-extra-PKGVER-ABINUM-FLAVOUR
 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.
  .
  Also includes the corresponding System.map file, the modules built by the
  packager, and scripts that try to ensure that the system is not left in an