Yay: Unable to solve dependencies between repo and AUR packages is cases where all packages must be updated at the time

Created on 16 Nov 2018  ·  11Comments  ·  Source: Jguer/yay

Affected Version

yay v8.1173.0 - libalpm v11.0.1

Issue

Can't update when new repo package incompatible with an old AUR package.
And when the new AUR package isn't compatible with the old repo package.

Real example case:
gajim 1.10 is out
I have 1.0.3-3
gajim-plugin-omemo 2.6.23-1 is out https://aur.archlinux.org/packages/gajim-plugin-omemo/
I have 2.6.2-1

When trying to Syu, gajim can't update because gajim-plugin-omemo 2.6.2-1 isn't compatible.
When trying to Syua, gajim-plugin-omemo can't update because gajim 1.0.3-3 isn't compatible.

They would have to be updated at the same time. Which is fine when packages are all from repos or all from AUR.

Output

~ ❯❯❯ yay -Syu                                                                                                                                                                                                 ✘ 1 
[sudo] pasvorto por victor: 
:: Sinkronigado de pakaĵaj datumbazoj...
antergos estas ĝisdata
core estas ĝisdata
extra estas ĝisdata
 community                                                                                               4,7 MiB   923K/s 00:05 [#############################################################################] 100%
multilib estas ĝisdata
:: Komencado de kompleta promociado de sistemo...
solvado de dependecoj...
serĉado de konfliktaj pakaĵoj...
eraro:pretado de transakcio malsukcesis (ne eblis satigi dependencojn)
:: installing gajim (1.1.0-1) breaks dependency 'gajim<1.1.0' required by gajim-plugin-omemo
Error installing repo packages

Circumvention

  • Uninstall the AUR package
  • Syu (update the repo package)
  • Install the AUR package
Bug

Most helpful comment

I have the same issue with linux from the repo and zfs-linux from the AUR.

The current install of zfs-linux requires a certain version of linux. The new one requires a newer version. To circumvent:

  1. pacman -Syuu --nodeps (upgrade linux ignoring the zfs-linux dep)
  2. yay -Syuu

All 11 comments

I have the same issue with linux from the repo and zfs-linux from the AUR.

The current install of zfs-linux requires a certain version of linux. The new one requires a newer version. To circumvent:

  1. pacman -Syuu --nodeps (upgrade linux ignoring the zfs-linux dep)
  2. yay -Syuu

Yeah I've known this would be possible for a while, but it's never popped up so I've ignored it. Yay's dependency resolution does not account for that the repo upgrade and aur installations are going to be separate transactions.

Fixing this would probably just make yay warn you and bail out. The upgrade process would still reply on manual intervention.

Fixing this would probably just make yay warn you and bail out.

Like mentioning the circumvention of @msm595 ? Or maybe do a upgrade ignoring the problematic packages (or suggest it in the message) and then suggests pacman -Syuu --nodeps, else it could have bad consequences if there are other dependency problems.

Depending on how the dependencies are constructed there may be valid solutions like @msm595's but they would have to be manually resolved.

No way am I suggesting people start blindly using --nodeps.

Indeed. Maybe point them to here? After all here this is the "forum thread" to discuss such dependency issues, where we could share different cases.

even for dependencies within AUR this still happens, zfs-dkms requires the exact same version of spl-dkms, but they update together, I suggest yay to build all the package before installing them, instead of the current behaviour of installing one by one. One work around is using the -d flag but it's dangerous.

You're free to try out https://github.com/Jguer/yay/pull/778 it seems to be what exactly what you're asking for. If it does fix your problem then we have a valid use case and I'll merge it.

I've already used -d to forced the upgrade, maybe I will try it for the next upgrade.

btw, yay -Syu --batchinstall did not fix the issue of zfs upgrade

==> Sources are ready.
==> Cleaning up...
==> zfs-utils-0.8.2-1 already made -- skipping build
zfs-utils=0.8.2 not satisfied, flushing install queueloading packages...
resolving dependencies...
looking for conflicting packages...
error: failed to prepare transaction (could not satisfy dependencies)
:: installing zfs-utils (0.8.2-1) breaks dependency 'zfs-utils=0.8.1' required by zfs-dkms

this is the output in the end, it seems like it didn't work at all.

My current solution for this is doing it manually, for example:

cd ~/.cache/yay/zfs-dkms && makepkg 
cd ~/.cache/yay/zfs-utils && makepkg 
pacman -U ~/.cache/yay/zfs-dkms/zfs-dkms-0.8.5-1-any.pkg.tar ~/.cache/yay/zfs-utils/zfs-utils-0.8.5-1-x86_64.pkg.tar

same here with zfs
my solution, which I didn't enjoy typing:
yay -S --batchinstall --nodeps zfs-dkms zfs-utils
I'm not certain batchinstall did anything, nodeps was applied to ignore the dependency issue.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

bazeeel picture bazeeel  ·  4Comments

ricochet1k picture ricochet1k  ·  4Comments

drrlvn picture drrlvn  ·  4Comments

GhostKraft picture GhostKraft  ·  4Comments

torvic9 picture torvic9  ·  4Comments