[pacman-dev] [PATCH 5/5] pacman/sync.c : remove duplicated fallback on providers.

Chantry Xavier shiningxc at gmail.com
Sat Nov 17 08:51:47 EST 2007


The fallback on providers when a target is not found was already made in the backend :
libalpm/sync.c , _alpm_sync_addtarget .
So I removed it from the frontend.

The sync500 pactest proves this fallback still works correctly.

Signed-off-by: Chantry Xavier <shiningxc at gmail.com>
---
 src/pacman/sync.c |   23 +++--------------------
 1 files changed, 3 insertions(+), 20 deletions(-)

diff --git a/src/pacman/sync.c b/src/pacman/sync.c
index 6f3c5d5..bb48cf9 100644
--- a/src/pacman/sync.c
+++ b/src/pacman/sync.c
@@ -524,26 +524,9 @@ int sync_trans(alpm_list_t *targets, int sync_only)
 					}
 				}
 				if(!found) {
-					/* targ not found in sync db, searching for providers... */
-					const char *pname = NULL;
-					for(j = sync_dbs; j; j = alpm_list_next(j)) {
-						pmdb_t *db = alpm_list_getdata(j);
-						alpm_list_t *prov = alpm_db_whatprovides(db, targ);
-						if(prov) {
-							pmpkg_t *pkg = alpm_list_getdata(prov);
-							pname = alpm_pkg_get_name(pkg);
-							alpm_list_free(prov);
-							break;
-						}
-					}
-					if(pname != NULL) {
-						/* targ is provided by pname */
-						targets = alpm_list_add(targets, strdup(pname));
-					} else {
-						fprintf(stderr, _("error: '%s': not found in sync db\n"), targ);
-						retval = 1;
-						goto cleanup;
-					}
+					fprintf(stderr, _("error: '%s': not found in sync db\n"), targ);
+					retval = 1;
+					goto cleanup;
 				}
 			}
 		}
-- 
1.5.3.5





More information about the pacman-dev mailing list