Maintain a list of seen packages when installing a group
commitf8d7cd6b2623a864aa85fbdcdd629f3ff92a631c
authorDan McGee <dan@archlinux.org>
Mon, 26 Jul 2010 03:31:55 +0000 (25 22:31 -0500)
committerDan McGee <dan@archlinux.org>
Tue, 27 Jul 2010 15:10:55 +0000 (27 10:10 -0500)
tree5d32188274a1a57261f7fb9c4b4d17c00f421677
parente702f56ea671c6cd1154a0ddb41fa63e97587c85
Maintain a list of seen packages when installing a group

As reported in FS#20221, we don't always do the right thing when installing
a group and using the --needed option. This was due to the code pulling
packages based on what was already in the transaction's add list, but
completely ignoring the fact that we may have already seen and skipped this
same package in an earlier repository.

Add a list to the private _alpm_sync_pkg() function that allows us to have
this extra information so we don't mistakenly downgrade a package when using
--needed.

Signed-off-by: Dan McGee <dan@archlinux.org>
lib/libalpm/sync.c
test/pacman/tests/sync023.py