device packages should handle installing non-free firmware by default
device packages should install non-free firmware by default, because pmbootstrap might eventually no longer discover/install the device-*-nonfree-firmware
packages. Device packages should explicitly list non-free firmware packages (which can include "meta packages") in either depends=
or _pmb_recommends=
. If the firmware is required for basic functionality of the device, it should be listed in depends=
. If it's optionally required on the device, then it can be listed in _pmb_recommends
and users would be able to remove it later if they do not wish to have it installed. The goal is to be able to create device images that have all non-free firmware installed by default, and allow users the freedom to remove any that is not necessary. It's up to the device maintainers to figure out what "not necessary" means for their device.
This could probably be scripted out somehow, since it'll require changes to almost every device package in pmaports... The script should put every device-*-nonfree-firmware
in the device package's depends=
, effectively making all non-free fw required. This is the least flexible option, but it is probably the safest, since we don't know what fw is required for a device to boot, etc. This option lets device maintainers make that decision later on, and picks "safe" defaults for all device packages use non-free fw.
The benefit of this change is that we can drop some pmb code. Even though it's a lot of effort to do this change in pmaports, I still think it might be a "win" overall since I very much support making pmbootstrap simpler by doing stuff like removing unnecessary legacy code.
Relevant pmb change that sparked this: pmbootstrap!2255 (merged)