[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