FS#62480 - allow setting a default provider for a virtual package
|
Details
When there are multiple packages providing the same virtual
package it should be possible to set a 'sane' default
for example having a dependency on a virtual package KODI-BIN by kodi and having 3 providers for the KODI-BIN virtual package: - kodi-gbm - kodi-wayland - kodi-x11 the 'sane' default would be to install kodi-x11 since that would work for 90% of the people (even if running on wayland) but now the default is: ``` :: There are 3 providers available for KODI-BIN: :: Repository blackeagle-pre-community 1) kodi-gbm 2) kodi-wayland 3) kodi-x11 Enter a number (default=1): ``` So if you go the 'next next next' approach you get a provider that will probably not work for 90% of the people. It would be nice to have a way to set a default provider for this virtual package like kodi-x11 something like ``` depends=('KODI-BIN:kodi-x11') ``` or maybe have a manual way to sort ``` provides=('KODI-BIN:1') ``` The above are just ideas for the packagers configuration in the PKGBUILD, I currently have no clue how to implement this in pacman itself to process |
This task depends upon
That group has both i3-gaps and i3-wm as part of the group. But both packages provide i3-wm. Since the ordering here seems to be alphabetical, i3-gaps is the default, instead of i3-wm.
Having the ability to set the default for a provides= probably can fix both cases. I'm not sure we have other cases like this, but I wouldn't be surprised if there were.
And then it's wrong for anyone who uses wayland, G-d have mercy on their souls.
...
Personally, my ideal solution would be to get rid of wayland. :p
Alternatively, what about this for an alternative system? Have the main provider (kodi-bin) actually be a real package, which should always be prioritized, since it is the preferred default, yes? And then other packages wishing to be a non-default provider of kodi-bin can advertise that they provide/conflict it. The only issue would be that in order to get this non-default provider you'd need to know what you need, since there is no provides selector if the primary target is a real package. But then, "you'd need to know what you need" seems like an insightful description of wayland...