diff options
author | Chantry Xavier <shiningxc@gmail.com> | 2007-09-23 17:07:13 +0200 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2007-09-24 02:50:11 +0200 |
commit | 105fd40a4a9b221df0186e7500fe491b3b96d823 (patch) | |
tree | 7bf5e564992b8915e9c0f6738c0521468204252f | |
parent | 6898bb0f9742e078f2c45609cf00d43438a14843 (diff) | |
download | pacman-105fd40a4a9b221df0186e7500fe491b3b96d823.tar.gz pacman-105fd40a4a9b221df0186e7500fe491b3b96d823.tar.xz |
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 <shiningxc@gmail.com>
-rw-r--r-- | pactest/tests/sync044.py | 20 |
1 files changed, 20 insertions, 0 deletions
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") |