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 . User stays happy with mesa-git built against llvm trunk and rebuilds every week. Then mesa-git maintainer adds a patch for a build error. User clones mesa-git again, re-edits PKGBUILD to keep building against llvm trunk. A week later mesa devs have solved the build error, mesa-git maintainer removes patch. User clones mesa-git PKGBUILD, re-edits PKGBUILD again. A while later User gets tired of having to edit PKGBUILD and decides to create a new AUR package : mesa-git-build-against-llvm-git that hard depends on llvm trunk. AUR now has 2 mesa-git packages. Maintainers talk and realise having one mesa-git package that allows building against llvm stable or llvm trunk is very likely to cause confusion and problems. Mesa-git maintainer will have mesa-git hard depend on specific llvm stable versions, while mesa-git-build-against-llvm-git will continue to hard depend on llvm git . <end-of-hypothetical-example> Is that a clear enough explanation why I want mesa-git packages to depend on llvm trunk OR llvm stable and not both ? Lone_Wolf