From 105fd40a4a9b221df0186e7500fe491b3b96d823 Mon Sep 17 00:00:00 2001 From: Chantry Xavier Date: Sun, 23 Sep 2007 17:07:13 +0200 Subject: Add sync044 pactest : A dependency induces a replacement. That is the problem mentioned by Nagy there (with suggestions for fixing it) : http://www.archlinux.org/pipermail/pacman-dev/2007-August/009082.html If a dependency conflicts with a local package and has to replace it, the PM_SYNC_TYPE_DEPEND information is lost, and the resulting install reason is wrong (the package is marked as explictly installed). Signed-off-by: Chantry Xavier --- pactest/tests/sync044.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 pactest/tests/sync044.py diff --git a/pactest/tests/sync044.py b/pactest/tests/sync044.py new file mode 100644 index 00000000..c4ff1549 --- /dev/null +++ b/pactest/tests/sync044.py @@ -0,0 +1,20 @@ +self.description = "A dependency induces a replacement" + +lp1 = pmpkg("pkg1") +self.addpkg2db("local", lp1); + +sp2 = pmpkg("pkg2") +sp2.depends = ["pkg3"] +self.addpkg2db("sync", sp2); + +sp3 = pmpkg("pkg3") +sp3.conflicts = ["pkg1"] +self.addpkg2db("sync", sp3); + +self.args = "-S pkg2" + +self.addrule("PACMAN_RETCODE=0") +self.addrule("!PKG_EXIST=pkg1") +self.addrule("PKG_EXIST=pkg2") +self.addrule("PKG_EXIST=pkg3") +self.addrule("PKG_REASON=pkg3|1") -- cgit v1.2.3-70-g09d2