Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrew Gregory <andrew.gregory.8@gmail.com>2014-05-05 22:34:15 -0400
committerAllan McRae <allan@archlinux.org>2014-05-07 14:14:41 +1000
commit060d06d2f7f93ebc2d3af6a0846f06b2f7d38c3a (patch)
tree0ad03db69d906fad3ee62fbfb01679cfdbd0cd34 /src
parent00fbdabc55c1de28f65eef27cb6448608c3d4e1f (diff)
remove.c: downgrade TRANS_DUP_TARGET to warning
Matches the behavior for sync packages. Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
Diffstat (limited to 'src')
-rw-r--r--src/pacman/remove.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/pacman/remove.c b/src/pacman/remove.c
index 933e6f72..38ad2a29 100644
--- a/src/pacman/remove.c
+++ b/src/pacman/remove.c
@@ -43,9 +43,15 @@ static int remove_target(const char *target)
if((pkg = alpm_db_get_pkg(db_local, target)) != NULL) {
if(alpm_remove_pkg(config->handle, pkg) == -1) {
- pm_printf(ALPM_LOG_ERROR, "'%s': %s\n", target,
- alpm_strerror(alpm_errno(config->handle)));
- return -1;
+ alpm_errno_t err = alpm_errno(config->handle);
+ if(err == ALPM_ERR_TRANS_DUP_TARGET) {
+ /* just skip duplicate targets */
+ pm_printf(ALPM_LOG_WARNING, _("skipping target: %s\n"), target);
+ return 0;
+ } else {
+ pm_printf(ALPM_LOG_ERROR, "'%s': %s\n", target, alpm_strerror(err));
+ return -1;
+ }
}
config->explicit_removes = alpm_list_add(config->explicit_removes, pkg);
return 0;