Spyhawk/pacaur — Issue #48: add dependency version check to 1st level dependency solver (carchmagic)
Author: Spyhawk
Created: 2011-12-10 17:11:58+00:00
State: open
Labels: bug, todo

When carchmagic switch is enabled ($CARCH compatibility), first level of dependency solving is done on the bash side rather than on the RPC interface. The simplistic solver included in pacaur does not support dependency version yet:

Real life exemple: cower-legacy requires pacman<4.

carchmagic: false

```
pacaur -S cower-legacy
:: Package(s) cower-legacy not found in repositories, trying AUR...
:: pacman is available in core

AUR Targets (1): cower-legacy

Proceed with installation? [Y/n] n
```

carchmagic: true

```
pacaur -S cower-legacy
:: Package(s) cower-legacy not found in repositories, trying AUR...

AUR Targets (1): cower-legacy

Proceed with installation? [Y/n] n
```

This does *not* apply to second and following dependencies level, as those are successfully handled by cower. Example: Installing "pacaur" succeed as expected, as cower-git is the first level dependency while pacman<4 is the second.

carchmagic: true/false
```
pac -S pacaur
:: Package(s) pacaur not found in repositories, trying AUR...
:: pacman is available in core
:: pacaur-2.4.3-1 is up to date -- reinstalling

AUR Targets (2): pacaur cower-legacy

Proceed with installation? [Y/n] n
```

Add dependency version support to the bash side (carchmagic enabled only). Looking at yaourt code might be useful. Both packer and pbfetch (and probably aurget) suffer from the same flaw as they use a similar simple dependency solver.