Yay: Is yay a "reliable solver" of complex depends

Created on 15 Feb 2017  Â·  11Comments  Â·  Source: Jguer/yay

Bug

Most helpful comment

The way I see it downloading the package files only makes up a small part of the whole build, so imo it doesn't weigh up against the advantages. You can also make it optional or some such.

All 11 comments

Not yet. Soonâ„¢.

https://wiki.archlinux.org/index.php/AUR_helpers#Comparison_table
The objective is to have it all green except git clone.

I'm curious as to why not git clone? There's many benefits over regular tarballs, like git log, git diff, etc.

I have a local branch experimenting git clone but I feel it is slower. Noticeably slower, even using --depth=1 on different machines, the tarball+untar approach ends up being faster.
So I've been sitting on it unsure if I should merge it or not.

err = exec.Command("git", "clone", "--depth=1", fmt.Sprintf("https://aur.archlinux.org/%s.git", a.PackageBase), dir).Run()

The way I see it downloading the package files only makes up a small part of the whole build, so imo it doesn't weigh up against the advantages. You can also make it optional or some such.

To bump the dependency issue, what's preventing yay from being able to solve dependencies reliably? Should be as simple as recursively querying the RPC and running the results through tsort. Example implementation: https://github.com/AladW/aurutils/blob/master/bin/aurchain

I just tried to install a package I am maintaining in the AUR and it fails to install with yay (also fails with yaourt btw). Works fine with pacaur though. Link to the package (can be used as a kind of benchmark 😉 if solver etc is working correctly): https://aur.archlinux.org/packages/openrazer-meta

I still can't install openrazer-daemon with yay:

==> Finished making: openrazer 2.2.1-1 (Tue Feb 27 16:57:41 UTC 2018)
==> Cleaning up...
loading packages...
resolving dependencies...
warning: cannot resolve "python-notify2", a dependency of "openrazer-daemon"
:: The following package cannot be upgraded due to unresolvable dependencies:
      openrazer-daemon

:: Do you want to skip the above package for this upgrade? [y/N] 
error: failed to prepare transaction (could not satisfy dependencies)
:: openrazer-daemon: requires python-notify2
exit status 1

Try the git version if you are not already.

After looking at is myself it does the same for me. It tries to install python-notify2 after openrazor-deamon even though python-notify2 is a dependency of openrazor-deamon so should install first.

It seems like I've found the issue, it comes from some dumb assumptions the install algorithm makes about split packages. Might require a bit of rework.

Cool, thanks! (was using yay v3.373)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

makeworld-the-better-one picture makeworld-the-better-one  Â·  3Comments

x70b1 picture x70b1  Â·  4Comments

mmirate picture mmirate  Â·  3Comments

bazeeel picture bazeeel  Â·  4Comments

parkerlreed picture parkerlreed  Â·  3Comments