RFC: how to deal with default camera apps?
As I understand it, we're in the unfortunate situation that there are two camera apps made specifically for one or more devices, with little/no overlap. For example, Megapixels is required for the pinephone family. Millipixels (Megapixels fork) is required for the camera on the Librem 5. One won't work with the camera(s) on the devices supported by the other.
The problem I'd like to solve is that the camera on the Librem 5 does not work out of the box when installing a UI like phosh, so I'd like it to work out of the box by installing the correct camera app. Currently in pmaports, we have megapixels in the pmb_recommends
, which causes it to get installed on all phosh images, even for devices with no working camera. On the Librem 5, megapixels doesn't work at all, so it's even worse: we pre-install an app that we know won't work for that device. To fix this, a user has to manually replace it.
I think at the very least, we should remove megapixels from pmb_recommends in UI packages. Devices that need megapixels can depend on it in some $device-$ui
subpackage (e.g. device-pinephone-phosh
). This is one way to solve the problem... but it has some downsides, mainly that the dependency on the camera app is pushed to the device packages. But this seems like the "correct" way to handle this... thoughts?
I submitted millipixels to aports, but the question was raised about using "provides" (@psykose isn't wrong to object, technically they aren't the "same"...
I'm filing hoping someone else has some better ideas on how to handle this in pmaports/pmOS, let me know!