#1108455 debian-cd: Installer images include two versions of kernel udebs

Package:
debian-cd
Source:
debian-cd
Submitter:
Daniel Lewart
Date:
2025-09-02 04:11:02 UTC
Severity:
normal
Tags:
#1108455#5
Date:
2025-06-29 05:38:00 UTC
From:
To:
Dear Debian Images Team,

The Weekly build of the installer image for amd64 has grown by 4%:
  * 811597824 Jun 16 00:23 debian-testing-amd64-netinst.is0
  * 846200832 Jun 22 22:39 debian-testing-amd64-netinst.iso

This is caused by the following directory:
        pool/main/l/linux-signed-amd64
having two versions of each of the 29 kernel udebs.

The first five pairs:
  * btrfs-modules-6.12.32-amd64-di_6.12.32-1_amd64.udeb
  * btrfs-modules-6.12.33+deb13-amd64-di_6.12.33-1_amd64.udeb
  * crypto-dm-modules-6.12.32-amd64-di_6.12.32-1_amd64.udeb
  * crypto-dm-modules-6.12.33+deb13-amd64-di_6.12.33-1_amd64.udeb
  * crypto-modules-6.12.32-amd64-di_6.12.32-1_amd64.udeb
  * crypto-modules-6.12.33+deb13-amd64-di_6.12.33-1_amd64.udeb
  * drm-core-modules-6.12.32-amd64-di_6.12.32-1_amd64.udeb
  * drm-core-modules-6.12.33+deb13-amd64-di_6.12.33-1_amd64.udeb
  * ext4-modules-6.12.32-amd64-di_6.12.32-1_amd64.udeb
  * ext4-modules-6.12.33+deb13-amd64-di_6.12.33-1_amd64.udeb

Déjà vu:
    #1084789 - debian-testing-amd64-netinst.iso has multiple versions of module udebs
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1084789
which was fixed by debian-cd Commit deeff067:
    generate_di_list: Cope with package name changes in udeb packages.
https://salsa.debian.org/images-team/debian-cd/-/commit/deeff067

However, linux Commit 706d933b:
    Include target Debian release number in ABI name
https://salsa.debian.org/kernel-team/linux/-/commit/706d933b
causes the problem in this bug report.

Minimally tested patch below.

Thank you!
Daniel Lewart
Urbana, Illinois

diff -ru a/tools/generate_di_list b/tools/generate_di_list
--- a/tools/generate_di_list	2025-06-24 14:46:12.000000000 -0500
+++ b/tools/generate_di_list	2025-06-29 00:00:00.000000000 -0500
@@ -141,7 +141,7 @@
 		    # Append this driver udeb to a list for that kernel_ver
 		    push(@{ $driver_udebs{$kernel_ver} }, $udeb);

-		} elsif ($udeb =~ m/-modules-(\d+)\.(\d+)\.(\d+)-.*-di/) {
+		} elsif ($udeb =~ m/-modules-(\d+)\.(\d+)\.(\d+)(\+deb\d+)?-.*-di$/) {
 		    # Newer udeb package names don't, so use "0" as a dummy value here
 		    my $kernel_ver = di_ker_abi_to_number($1, $2, $3, 0);
 		    if ($kernel_ver > $highest_kernel_ver) {

#1108455#10
Date:
2025-06-29 12:13:37 UTC
From:
To:
Hi,

Daniel Lewart <lewart3@gmail.com> (2025-06-29):

Full backstory:
https://salsa.debian.org/kernel-team/linux/-/merge_requests/1524


Cheers,

#1108455#15
Date:
2025-06-30 20:08:18 UTC
From:
To:
Hi,

Daniel Lewart <lewart3@gmail.com> (2025-06-29):

That happens when building images from d-i daily builds, built against
sid. That doesn't happen when building against an official d-i, built
against testing.

I'd prefer not merging this patch before the upcoming D-I Trixie RC 2,
just to be on the safe side of things.

I don't think we'll have cases where we have +deb13 vs. +deb14, with the
exact same upstream version, so I suppose it doesn't really make sense
to try and capture the last digits and reinject them below:

… but I'm making a note of it anyway.


With my easy-build.sh-based setup, targetting NETINST (much smaller than
STICK1GB), I'm indeed getting an FTBFS due to lack of space, having both
sets of packages. With this patch, the problem goes away, and the image
can be generated successfully.


Cheers,

#1108455#20
Date:
2025-07-01 04:20:00 UTC
From:
To:
Cyril, et al,

Yes, totally reasonable.
kernel_ver
m/-modules-(\d+)\.(\d+)\.(\d+)(\+deb\d+)?-.*-di$/) {
dummy value here
        } elsif ($udeb =~
m/-modules-(\d+)\.(\d+)\.(\d+)(?:\+deb\d+)?-.*-di$/) {

Excellent.

Thank you!
Daniel Lewart
Urbana, Illinois

#1108455#25
Date:
2025-09-02 04:10:00 UTC
From:
To:
Cyril, et al,

The Weekly build of the installer image for amd64 just grew by exactly 5%:
  * 859832320 Aug 25 01:08 debian-testing-amd64-netinst.is0
  * 902823936 Sep  1 03:25 debian-testing-amd64-netinst.iso

This is caused by the following directory:
        pool/main/l/linux-signed-amd64
having two versions of each of the 29 kernel udebs.

The three largest pairs:
  * 10826124 Jul 17 11:22
nic-wireless-modules-6.12.38+deb13-amd64-di_6.12.38-1_amd64.udeb
  * 11748668 Aug 26 13:25
nic-wireless-modules-6.16.3+deb14-amd64-di_6.16.3-1_amd64.udeb
  *  8264572 Jul 17 11:22
nic-modules-6.12.38+deb13-amd64-di_6.12.38-1_amd64.udeb
  *  8872256 Aug 26 13:25 nic-modules-6.16.3+deb14-amd64-di_6.16.3-1_amd64.udeb
  *  7752324 Jul 17 11:22
sound-modules-6.12.38+deb13-amd64-di_6.12.38-1_amd64.udeb
  *  8215428 Aug 26 13:25
sound-modules-6.16.3+deb14-amd64-di_6.16.3-1_amd64.udeb

My new, improved tools/generate_di_list patch is attached, which:
  * Matches newest Kernel module ABI names, while keeping Perl::Critic happy
  * Sorts udeb names to create deterministic output
  * Comment that the ARCHES variable needs to be preset too
  * Removes trailing space
  * Indicates which package file is missing

Thank you!
Daniel Lewart
Urbana, Illinois