mirror of
https://github.com/moparisthebest/pacman
synced 2024-12-24 08:48:50 -05:00
72bc947cbb
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>
19 lines
432 B
Python
19 lines
432 B
Python
self.description = "Install a sync package conflicting with two local ones (-d)"
|
|
|
|
sp = pmpkg("pkg1")
|
|
sp.conflicts = ["pkg2", "pkg3"]
|
|
self.addpkg2db("sync", sp);
|
|
|
|
lp1 = pmpkg("pkg2")
|
|
self.addpkg2db("local", lp1);
|
|
|
|
lp2 = pmpkg("pkg3")
|
|
self.addpkg2db("local", lp2);
|
|
|
|
self.args = "-Sd %s --ask=4" % sp.name
|
|
|
|
self.addrule("PACMAN_RETCODE=0")
|
|
self.addrule("PKG_EXIST=pkg1")
|
|
self.addrule("!PKG_EXIST=pkg2")
|
|
self.addrule("!PKG_EXIST=pkg3")
|