These modules will end up in every installer build, one way or
another. Move them into kernel-image, which all other packages
depend on, so we can then split up the remaining PV drivers.
The previous version failed to build on alpha:
debian/virtio-modules-4.19.0-3-alpha-generic-di lib/modules/4.19.0-3-alpha-generic/kernel/drivers/i2c/i2c-core.ko
debian/i2c-modules-4.19.0-3-alpha-generic-di lib/modules/4.19.0-3-alpha-generic/kernel/drivers/i2c/i2c-core.ko
and sparc64:
debian/virtio-modules-4.19.0-3-sparc64-di lib/modules/4.19.0-3-sparc64/kernel/drivers/i2c/i2c-core.ko
debian/nic-modules-4.19.0-3-sparc64-di lib/modules/4.19.0-3-sparc64/kernel/drivers/i2c/i2c-core.ko
sparc64 was missing a i2c-modules package, but adding that just gets
it to the same state as alpha. On both architectures drm_kms_helper
is included in the virtio-modules package as a dependency of
virtio-gpu, and then i2c-core is included as a dependency of
drm_kms_helper.
I don't think it makes sense to make virtio-modules directly depend on
i2c-modules. (In fact I think virtio-modules was a mistake entirely.)
Instead, for all configurations that enable both DRM and virtio:
1. Add an fb-modules package if it doesn't already exist
2. Include drm and drm_kms_helper in it
The pata_macio and pata_mpc52xx drivers are built under drivers/ata so
don't need to be specifically included. (pata_macio is also currently
built-in for some reason.)
The bmac, ehea, ibmveth, ps3_gelic, spidernet, sungem, sungem_phy,
and sunhme drivers are built under drivers/net/ethernet so don't
need to be specifically included. pasemi_mac has been renamed to
pasemi_mac_driver, and is also under drivers/net/ethernet.
The ehea, ps3_gelic, and spidernet drivers then don't need to be
excluded on ppc64el.
Make the airport driver optional now, so that it doesn't need to be
excluded on ppc64el. I will move it to nic-wireless-modules next.
The a100u2w, ibmvscsi, mac53c94, mesh, and ps3rom drivers are built
under drivers/scsi so don't need to be specifically included.
The ps3rom driver then doesn't need to be excluded on ppc64el.
The ps3disk driver is a SATA driver not a SCSI driver, so add a
comment to explain why it's here.
The module lists for powerpc/powerpc64 are mostly the same as for
powerpc. Some of them are duplicates while some use #include.
Change the duplicates to use #include.
Enabling this symbol makes rmi4_core depend on the media/v4l2
subsystem which is not only weird but also results in duplicate
modules at kernel-wedge time.
These drivers depend on the corresponding net drivers, or at least
common modules built under drivers/net/ethernet, currently leading
to duplicate modules.
I don't want to resolve this by adding a dependency between
nic-modules and scsi-modules, as that would pull in both into
installer images that previously only needed one set of drivers. I
also don't want to add the common modules into kernel-image as that
would bloat all installer images. Instead, put the drivers in a new
package and we can work out which installer images should include it
later.
Build scsi-nic-modules for all architectures/flavours that build
scsi-modules using the common module list now.
Part of the section we move was moved upstream in 4.19.15 by commit
ae206a1a5e3a "kbuild: fix false positive warning/error about missing
libelf". Don't duplicate that section.
This will allow to get graphics support in VM instances right from
Debian installer phase.
(cherry picked from commit fb11c71e7c36b2e9abb7535e6c9c0ddbb8dc7c15)
While pycodestyle and pyflakes wrongly write error messages to stdout,
the unittest module has the opposite bug: it writes successful status
messages to stderr.