[pacman-dev] Alternatives system brainstorm

Allan McRae allan at archlinux.org
Thu Oct 24 00:10:29 UTC 2019


On 24/10/19 12:31 am, Daan van Rossum wrote:
> * on Wednesday, 2019-10-23 22:05 +1000, Allan McRae <allan at archlinux.org> wrote:
> 
>> Now, ignoring my comment about not commenting... My design principle for
>> additions to makepkg is an addition should be mostly straight forward to
>> a packager - i.e. if you can build the software manually, you can
>> package it.  Suggestions that look complex to package, are too complex.
>>  Looking at your suggestion (admittedly... bourbon), it did not pass my
>> "that seems obvious" threshold.
> 
> I think it looks less complex in a single-line summary:
> 
> Replace "virtual packages" (those specified with "provides=()" statements in other packages) with actual packages that can make use of links prepared by providers.
> 
> 
> The added complexity for a packager should be small:
> 1. packager will only work on provider packages, selector packages typically don't change
> 2. his/her package being a provider is optional; it will still work the same way as it does now without a provider() function
> 3. the provider() function can almost be copy-pasted (only paths need to be adjusted) from other providers or from the selector PKGBUILD
> 


Compare that to the complexity of the original proposal example for python2:


In the PKGBUILD:

alternatives=('python')


And then provide a file python.alternative containing:

/usr/bin/python -> python2
/usr/bin/idle -> idle2


Yes - this potentially results in more complexity in the backend (I'm
not sure it will), but is dead simple for a packager.

Allan


More information about the pacman-dev mailing list