paru
paru copied to clipboard
Manage interdependency/conflict between AUR and repo packages with versions restrictions
Affected Version
paru v1.9.2 - libalpm v13.0.1
Description
Some packages are interdependent, which the package manager should be able to tackle, but problem arise if it happens between an AUR package and a normal repo package. Here's an example with https://archlinux.org/packages/community/any/gajim/ and https://aur.archlinux.org/packages/gajim-plugin-omemo/
paru
refuse to upgrade gajim because it would break the plugin versions restrictions, but cannot upgrade the plugin due to versions restrictions on the gajim package.
Output
paru.conf
is unmodified and pacman.conf
is almost unmodified with nothing relevant.
$ paru -Syu
:: Synchronizing package databases...
core is up to date
extra 1565.2 KiB 8.84 MiB/s 00:00 [########################################################################################################################] 100%
community 5.8 MiB 19.3 MiB/s 00:00 [########################################################################################################################] 100%
multilib is up to date
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...
error: failed to prepare transaction (could not satisfy dependencies)
:: installing gajim (1.3.3-1) breaks dependency 'gajim<=1.2.90' required by gajim-plugin-omemo
The solution is to uninstall the aur package, update pacman, build the aur package aginst the new one.
That's a common thing but. It's possible a smarter algorithm could do this for you (ideally aur-depends could do this).
However chroot builds solve this problem anyway.
The solution is to uninstall the aur package, update pacman, build the aur package aginst the new one.
That's a common thing but. It's possible a smarter algorithm could do this for you (ideally aur-depends could do this).
However chroot builds solve this problem anyway.
What do you mean by "chroot builds" here? Imho, it should be possible for the package manager to know the plugin will be updated right after and update anyway, or to get rid of the plugin and then reinstall it, but that second case with other kind of packages could mean loss of data/configs, right?
What do you mean by "chroot builds"
See makechrootpkg
and paru's chroot option.
but that second case with other kind of packages could mean loss of data/configs, right?
Good point actually I forgot about that.