On Fri, 3 May 2019 10:04:39 -0400 Eli Schwartz via aur-general <aur-general@archlinux.org> wrote:
On 5/1/19 10:53 AM, Doug Newgard via aur-general wrote:
On Wed, 1 May 2019 12:38:41 +0200 Lone_Wolf <lonewolf@xs4all.nl> wrote:
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.
I'm still not really seeing what the problem here is.
Lone Wolf's point here, is that mesa-git results in different codegen and different features, if the build-time compilation environment is llvm-git.
It's not unreasonable to want the resulting package to have technically correct dependency linkages when its compilation environment results in *different dependencies*.
No different than an soname bump.