From 5ade2f37c71ebc5248a95a3ffce4c41a37c34dc2 Mon Sep 17 00:00:00 2001
From: Juan RP <xtraeme@gmail.com>
Date: Thu, 20 Oct 2011 16:13:16 +0200
Subject: [PATCH] libxbps: xbps_configure_pkg: ignore pkgs in config-files
 state.

---
 include/xbps_api.h      |  2 +-
 lib/package_configure.c | 11 ++++++++++-
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/include/xbps_api.h b/include/xbps_api.h
index 74b5d9ea..a1ceff2f 100644
--- a/include/xbps_api.h
+++ b/include/xbps_api.h
@@ -55,7 +55,7 @@
  */
 #define XBPS_PKGINDEX_VERSION	"1.2"
 
-#define XBPS_API_VERSION	"20111020"
+#define XBPS_API_VERSION	"20111020-1"
 #define XBPS_VERSION		"0.10.0"
 
 /**
diff --git a/lib/package_configure.c b/lib/package_configure.c
index 6e39d48b..4fc3afb5 100644
--- a/lib/package_configure.c
+++ b/lib/package_configure.c
@@ -91,8 +91,17 @@ xbps_configure_pkg(const char *pkgname,
 
 	if (check_state) {
 		rv = xbps_pkg_state_installed(pkgname, &state);
-		if (rv != 0)
+		if (rv == ENOENT) {
+			/*
+			 * package not installed or has been removed
+			 * (must be purged) so ignore it.
+			 */
+			return 0;
+		} else if (rv != 0) {
+			xbps_dbg_printf("%s: [configure] failed to get "
+			    "pkg state: %s\n", pkgname, strerror(rv));
 			return EINVAL;
+		}
 
 		if (state == XBPS_PKG_STATE_INSTALLED) {
 			if ((xhp->flags & XBPS_FLAG_FORCE) == 0)