Fix "-Sd conflict_pkg" bug
commit72bc947cbb8ba752f021f28ec9e9a85c354918e3
authorNagy Gabor <ngaba@bibl.u-szeged.hu>
Sat, 12 Sep 2009 18:50:03 +0000 (12 20:50 +0200)
committerDan McGee <dan@archlinux.org>
Sun, 11 Oct 2009 20:30:52 +0000 (11 15:30 -0500)
treed26f3572ac04e75243ae119fce09cf16e1b508c8
parent3dc87851cc5990d358cf985d8e79dffeb2d91a21
Fix "-Sd conflict_pkg" bug

If the -d switch was invoked with -S (or -U), the removes list was simply
lost, because trans->remove was computed in an
"if(!(trans->flags & PM_TRANS_FLAG_NODEPS))" block.

I've added a new pactest file, sync045.py (derived from sync043.py) to test
this.

Additionally, I did some other minor cleanups in sync_prepare:
 * preferred list is not needed anymore
 * I removed a needless alpm_list_remove_dupes line (the target list should
   not contain dupes at all)
 * I moved alpm_list_free(remove); to cleanup part to eliminate a possible
   memleak

Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu>
Signed-off-by: Dan McGee <dan@archlinux.org>
lib/libalpm/sync.c
pactest/tests/sync045.py [new file with mode: 0644]