]> wolfpit.net Git - tool/Arch-pacman/.git/commit
deps.c: check for indirect deps when ordering
authorAndrew Gregory <andrew.gregory.8@gmail.com>
Sat, 18 May 2013 19:53:32 +0000 (15:53 -0400)
committerAllan McRae <allan@archlinux.org>
Wed, 26 Jun 2013 05:32:15 +0000 (15:32 +1000)
commitec831e05f58e3db1c06aadb23a87b5b82ab3ebf3
tree038c95cdd849f1b434c1a75e79ca879754ad634d
parent00513823dc9e15c4de12c02f8faa4dd72ca4ee4e
deps.c: check for indirect deps when ordering

On upgrades, indirect dependencies were not being detected if there was
a dependency in between them that was not part of the transaction.  For
example, with the dependency chain: pkg1 -> pkg2 -> pkg3, if pkg1 and
pkg3 are being upgraded but not pkg2 pacman would not order pkg1 and
pkg3 properly.

This was particularly problematic when replacements were involved
because the replaced package(s) would be removed at the start of the
transaction.  If an install script required the replacer and lacked
a direct dependency, it could fail.

Fixes FS#32764.

Partially fixes FS#23011.

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
lib/libalpm/deps.c
test/pacman/tests/replace100.py
test/pacman/tests/upgrade100.py [new file with mode: 0644]