On Wed, 1 May 2019 12:38:41 +0200 Lone_Wolf <lonewolf@xs4all.nl> wrote:
On 01-05-2019 05:18, Doug Newgard via aur-general wrote:
You're still not getting it. The diff you gave shows that the only differences are in the depends and madedepends arrays. If that's the only difference, then there *IS NO DIFFERENCE*. A dep on "llvm-libs" is satisfied by llvm-libs-git, so it works in both cases, just as is intended. There is no editing the PKGBUILD needed by users of either option. That's how "provides" works.
Scimmia
I know how conflicts/provides/replaces work.
It seems I failed to make clear that the major problems I see occur at install and runtime, NOT at buildtime.
Here's another attempt to explain that.
Hypothetical example
Assumptions :
mesa-git depends on llvm and llvm-libs
AUR only has one mesa-git package
User builds in clean chroot with devtools
User wants mesa feature X, finds they need to run mesa-git for that.
User clones aur mesa-git and builds with extra-x86_64-build
makepkg sees llvm / llvm-libs dependencies are satisfied by extra/llvm and extra/llvm-libs.
mesa-git is build against those versions
user installs mesa-git, pacman sees llvm-libs is needed and finds extra/llvm-libs installed.
User runs mesa-git, realizes feature X is not working.
Investigation reveals feature X is not supported by stable llvm, user needs to built mesa-git against llvm-git.
User builds llvm-git + llvm-libs-git in clean chroot.
In order to use the llvm-git for mesa-git building they add the packages manually to extra-x86_64-build.
They now have a mesa-git build against llvm-git and install that.
pacman sees mesa-git depends on llvm-libs , and that's satisfied by extra/llvm-libs.
user tries again , mesa-git crashes.
User asks for help on forum.
Someone that understands how mesa and llvm interact, suggests they try installing llvm-libs-git .
User installs that, mesa-git works and feature X also works .
User is happy, tries to figure out how to avoid similar issues in future.
Someone points out that the mesa-git crash was caused by pacman being unaware which llvm-libs binary version was needed.
Simple solution : edit depends in PKGBUILD to have mesa-git depend on llvm-git / llvm-libs-git .
Full stop. Solution is not to edit the PKGBUILD, solution is for the theoretical user to not be replacing system libraries when they don't have a clue what they're doing. You're trying to overcomplicate the system to account for user stupidity. This is Arch, stop doing that. Scimmia