Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Do not check for every deps every time.
jlaffaye committed 15 years ago
commit 6e47c6d1dca8aedf331b0bc1c06ba65f8c08600d
parent 29a62d3
1 file changed +8 -6
modified libpkg/pkg.c
@@ -163,14 +163,16 @@ pkg_resolvdeps(struct pkg *pkg, struct pkgdb *db) {
	deps = pkg_deps(pkg);
	pkg_new(&p);
	for (i = 0; deps[i] != NULL; i++) {
-
		it = pkgdb_query(db, pkg_get(deps[i], PKG_ORIGIN), MATCH_EXACT);
+
		if (deps[i]->type != PKG_INSTALLED) {
+
			it = pkgdb_query(db, pkg_get(deps[i], PKG_ORIGIN), MATCH_EXACT);

-
		if (pkgdb_it_next(it, &p, PKG_LOAD_BASIC) == 0) {
-
			deps[i]->type = PKG_INSTALLED;
-
		} else {
-
			deps[i]->type = PKG_NOTFOUND;
+
			if (pkgdb_it_next(it, &p, PKG_LOAD_BASIC) == 0) {
+
				deps[i]->type = PKG_INSTALLED;
+
			} else {
+
				deps[i]->type = PKG_NOTFOUND;
+
			}
+
			pkgdb_it_free(it);
		}
-
		pkgdb_it_free(it);
	}
	pkg_free(p);