FS#14125 - Aur should handle interchangeable dependencies
Attached to Project:
AUR web interface
Opened by Philipp (hollunder) - Monday, 06 April 2009, 14:59 GMT
Last edited by Lukas Fleischer (lfleischer) - Saturday, 03 October 2015, 08:03 GMT
Opened by Philipp (hollunder) - Monday, 06 April 2009, 14:59 GMT
Last edited by Lukas Fleischer (lfleischer) - Saturday, 03 October 2015, 08:03 GMT
|
Details
Examples serve better than descriptions:
http://aur.archlinux.org/packages.php?ID=25311 Dependencies fluidsynth lash>=0.6.0 libglade http://aur.archlinux.org/packages.php?ID=25314 provides=('lash=0.6.0') Yet lash-git is not 'Required by' anything. There are many more packages that can use a number of different packages as dependencies, not just normal and git versions. AUR should be able to handle this using provides=() and depends=(), versioned as well as unversioned. |
This task depends upon
Closed by Lukas Fleischer (lfleischer)
Saturday, 03 October 2015, 08:03 GMT
Reason for closing: Implemented
Additional comments about closing: Implemented in 4.1.0.
Saturday, 03 October 2015, 08:03 GMT
Reason for closing: Implemented
Additional comments about closing: Implemented in 4.1.0.
But how it should be displaid? If I take your example: lets have package that depends on "lash". If there were packages called "lash" and "lash-git" providing "lash" what should AUR display in depends=() ? Both? And what would be use of this function - it always depends on what is written in depends=() in PKGBUILD. Because if there is just "lash", makepkg will use "lash" and will not care if there is some "lash-git" providing "lash" in AUR. It's up to the maintainer to decide which package exactly to use. So my PERSONAL opinion is NOT to implement this function.
And once more sorry for the previous nonsense.
Example:
depends=('lash')
altdepends=('lash-git')
I agree that it's not that important that AUR handles it, it's more important that makepkg works nevertheless (it does), namcap doesn't complain (it complains, feature request filed) and yaourt handles it (it doesn't, it tries to install lash even if lash-git is installed, bug filed).
In AUR this would mainly help to find alternative ways to provide dependencies, it's not crucial.
I have to mention that lash is actually kind of a bad example since there are API changes in progress in git.
Maybe jack-audio-connection-kit with it's variants (essentially it boils down to jack1, jack1-dbus and jack2 & svn versions) would serve better.
There is an answer about how we should display that now:
The official package repsitory does it like that:
https://www.archlinux.org/packages/extra/x86_64/ffmpeg/
libx264.so=144-64 (libx264, libx264-10bit)
So for lash it would be:
lash (lash-git)
We have the same problems for .so dependencies also on AUR:
https://aur4.archlinux.org/packages/lib32-ffmpeg/
(see the libx264.so dependency linking to an official package search and finding nothing)