summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAaron Griffin <aaron@archlinux.org>2007-04-04 06:43:24 +0200
committerAaron Griffin <aaron@archlinux.org>2007-04-04 06:43:24 +0200
commit10ba6369871c4301f3a976eef52c025098a1391a (patch)
tree229433a1f7b947861cfe88d2bbe7508d4c137027
parent1cd7567ff8af4bcc2813eb0f104fdab8ef0f7c53 (diff)
downloadpacman-10ba6369871c4301f3a976eef52c025098a1391a.tar.gz
pacman-10ba6369871c4301f3a976eef52c025098a1391a.tar.xz
* Fix FS#6798 - there is no reason to fail on a duplicate removal target
Added a pactest case for this ("-R foo foo foo foo foo" should do what is expected)
-rw-r--r--lib/libalpm/trans.c3
-rw-r--r--pactest/tests/remove001.py10
2 files changed, 12 insertions, 1 deletions
diff --git a/lib/libalpm/trans.c b/lib/libalpm/trans.c
index 1198292f..009ec7f1 100644
--- a/lib/libalpm/trans.c
+++ b/lib/libalpm/trans.c
@@ -135,7 +135,8 @@ int _alpm_trans_addtarget(pmtrans_t *trans, char *target)
ASSERT(target != NULL, RET_ERR(PM_ERR_WRONG_ARGS, -1));
if(alpm_list_find_str(trans->targets, target)) {
- RET_ERR(PM_ERR_TRANS_DUP_TARGET, -1);
+ return(0);
+ //RET_ERR(PM_ERR_TRANS_DUP_TARGET, -1);
}
switch(trans->type) {
diff --git a/pactest/tests/remove001.py b/pactest/tests/remove001.py
new file mode 100644
index 00000000..809bfdb7
--- /dev/null
+++ b/pactest/tests/remove001.py
@@ -0,0 +1,10 @@
+# If someone else can come up with a better name, please do so
+self.description = "Remove a package listed 5 times"
+
+p = pmpkg("foo")
+self.addpkg2db("local", p)
+
+self.args = "-R " + "foo "*5
+
+self.addrule("PACMAN_RETCODE=0")
+self.addrule("!PKG_EXISTS=foo")