paru icon indicating copy to clipboard operation
paru copied to clipboard

Manage interdependency/conflict between AUR and repo packages with versions restrictions

Open Porkepix opened this issue 2 years ago • 3 comments

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

Porkepix avatar Dec 10 '21 11:12 Porkepix

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.

Morganamilo avatar Dec 10 '21 12:12 Morganamilo

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?

Porkepix avatar Dec 10 '21 12:12 Porkepix

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.

Morganamilo avatar Dec 10 '21 12:12 Morganamilo