This makes it possible for hw-detect's install-firmware hook to enable the
right components if it installs firmware packages based on modalias
information. The components found in Contents-firmware indices are only
useful for firmware packages detected by the check-missing-firmware.sh
script.
All three columns could be aligned, but I'm not sure how many characters
should be allocated to the package filename. Alternatively, we could
scratch alignment altogether, and let interested users use column -t on
the file when debugging.
Otherwise failures would go unnoticed, logs would pretend firmware-b43-installer
(the first firmware package getting processed) is indeed installed there while
it's not. See next commit.
Update comments:
- Bump linux-image package to the latest found in bullseye.
- Include snd-soc-sof.*\.ko in the lookup.
- Delete the TODO: the list was built using snd-soc-sof*.ko already,
since a80f013b57.
List the desired non-free sections to use in NONFREE_COMPONENTS in
CONF.sh, default to "non-free non-free-firmware" by default until
things are all migrated.
The dependency tree created by parsing the output of "apt-cache depends" always
generates an array of array. The old representation of a simple dependency as
an hash is gone in favor of an OR with a single entry (so the hash is the only
element within the array).
So all the code in add_missing() that was dealing with the case of the hash
was never triggered.
I tweaked the OR case so that the generated log messages actually
mention "OR" only if it's a true OR dependency (i.e. with multiple
entries in the array).
Everywhere where we call add_missing() on Depends, we must do it also
on Recommends and Suggests based on $add_rec and $add_sug.
Tweak the code that is supposed to stop the recursion to use
the list that we have built but don't be strict about version
constraints on Recommends/Suggests since they can't always
be respected.
Closes: #601203
There's no point in passing them as parameters everywhere.
This changes the behaviour in some places:
1/ When we process the non-explicitly included packages (for COMPLETE=1),
we used to never take Recommends/Suggests into account, now we do. But
the only thing that will be changed is the ordering with some
Recommended packages being included before their depending package.
2/ When we process the EXTRANONFREE image, this one was always including
Recommends and Suggests, and it's now respecting the setting too.
It's required by debian-installer and cryptsetup >= 2.4.0 no longer
recommends it, so it ends up missing in the netinst image.
base-installer then fails to honor the apt-setup request and the
resulting system is unbootable because the initramfs doesn't contain
anything to unlock the encrypted partitions. :-(
Using the new generate_firmware_patterns script, generate a patterns
file in /firmware/dep11/<package>.patterns as we add a firmware
package onto media.
Deal with size changes as these are added/removed, and add them to the
md5sum.txt file on media too.
The source code doesn't use the MODULE_FIRMWARE() macro so the machinery
implemented in src:firmware-nonfree wouldn't help. Extract alias info
manually once, and make note to keep an eye on further updates (e.g. via
a crontab on d-i.debian.org).