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
Task Type Feature Request
Category PKGBUILD Parser
Status Closed
Assigned To Lukas Fleischer (lfleischer)
Architecture All
Severity Medium
Priority Normal
Reported Version 1.5.6
Due in Version 4.1.0
Due Date Undecided
Percent Complete 100%
Votes 8
Private No

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.
Comment by Dan Vratil (progdan) - Sunday, 03 May 2009, 22:04 GMT
But how it should be displaid? If I take you examples and the package depends on lash>=0.6.0 and if there were a package called "lash" in AUR in version "0.6.1" and also there was "lash-git" providing "lash=0.6.0" what should AUR display in depends=() ? Both? And what would be use of it - it always depends on PKGBUILD what is written in depends=(). 'Cause if there is just "lash", makepkg will use "lash" and will not care if there is some "lash" providing "lash-git" 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.
Comment by Dan Vratil (progdan) - Sunday, 03 May 2009, 22:08 GMT
Ok, I wrote a nonsense up there and I'm really sorry. This should be in english:

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.
Comment by Philipp (hollunder) - Monday, 04 May 2009, 11:34 GMT
If AUR could take provides into account it could list these as alternative dependencies.
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.
Comment by Johannes Dewender (JonnyJD) - Wednesday, 24 June 2015, 09:33 GMT
Hm, this does sound similar to what I request in https://bugs.archlinux.org/task/45443

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)
Comment by Johannes Dewender (JonnyJD) - Wednesday, 22 July 2015, 14:28 GMT
FYI:
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)

Loading...