On 5/1/19 10:53 AM, Doug Newgard via aur-general wrote: > On Wed, 1 May 2019 12:38:41 +0200 > Lone_Wolf <[email protected]> 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*. Furthermore, if one would host the resulting package in a prebuilt binary repository, I defy the idea that users failing to realize they need llvm-git specifically, is "user stupidity". Furthermore, I defy the idea that even users building it themselves constitute "user stupidity", because as Lone Wolf's explanation *explicitly* called out, it is awkward in the extreme to kludge around adding a *build-time* codegen dependency on llvm-git, inside a makechrootpkg compilation environment... without actually doing so via makepkg's "makedepends" technology. -- Eli Schwartz Bug Wrangler and Trusted User
signature.asc
Description: OpenPGP digital signature
