[aur-general] Are AUR VCS packages that depend on AUR VCS packages from other projects a good idea and who should decide on that ?
Eli Schwartz
eschwartz at archlinux.org
Fri May 3 14:04:39 UTC 2019
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 at 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*.
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 1601 bytes
Desc: OpenPGP digital signature
URL: <https://lists.archlinux.org/pipermail/aur-general/attachments/20190503/5b088f72/attachment.sig>
More information about the aur-general
mailing list