On a removal operation, pacman currently reports an error for the
package that is not found in the database and then exists.  Adjust
so that all unknown packages are reported.

Before:
> pacman -R foo bar
error: 'foo': target not found

After:
> pacman -R foo bar
error: 'foo': target not found
error: 'bar': target not found

Signed-off-by: Allan McRae <[email protected]>
---
 src/pacman/remove.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/src/pacman/remove.c b/src/pacman/remove.c
index f56c1ec..b6da7c3 100644
--- a/src/pacman/remove.c
+++ b/src/pacman/remove.c
@@ -104,10 +104,13 @@ int pacman_remove(alpm_list_t *targets)
                }
                if(remove_target(targ) == -1) {
                        retval = 1;
-                       goto cleanup;
                }
        }
 
+       if(retval == 1) {
+               goto cleanup;
+       }
+
        /* Step 2: prepare the transaction based on its type, targets and flags 
*/
        if(alpm_trans_prepare(config->handle, &data) == -1) {
                alpm_errno_t err = alpm_errno(config->handle);
-- 
1.7.8


Reply via email to