Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Fix more issues with shlibs.
Vsevolod Stakhov committed 12 years ago
commit 9f180b1b80b643bc6eef8b878e992b826d2213a8
parent d66191f
2 files changed +13 -7
modified libpkg/pkg_jobs.c
@@ -719,14 +719,21 @@ pkg_jobs_add_universe(struct pkg_jobs *j, struct pkg *pkg,
					/* Skip seen packages */
					pkg_get(npkg, PKG_DIGEST, &digest);
					HASH_FIND_STR(j->seen, digest, seen);
-
					if (seen != NULL)
-
						continue;
+
					if (seen == NULL) {
+
						pkg_jobs_add_universe(j, npkg, recursive, false,
+
								&unit);
+

+
						/* Reset package to avoid freeing */
+
						npkg = NULL;
+
					}
+
					else {
+
						unit = seen->un;
+
					}

-
					if (pkg_jobs_add_universe(j, npkg, recursive, false, &unit) != EPKG_OK)
-
						return (EPKG_FATAL);
					pr = calloc (1, sizeof (*pr));
					if (pr == NULL) {
-
						pkg_emit_errno("pkg_jobs_add_universe", "calloc: struct pkg_job_provide");
+
						pkg_emit_errno("pkg_jobs_add_universe", "calloc: "
+
								"struct pkg_job_provide");
						return (EPKG_FATAL);
					}
					pr->un = unit;
@@ -739,7 +746,6 @@ pkg_jobs_add_universe(struct pkg_jobs *j, struct pkg *pkg,
					else {
						DL_APPEND(prhead, pr);
					}
-
					npkg = NULL;
				}
				pkgdb_it_free(it);
				if (prhead == NULL) {
modified libpkg/pkgdb.c
@@ -3826,7 +3826,7 @@ pkgdb_integrity_check(struct pkgdb *db, conflict_func_cb cb, void *cbdata)
	sbuf_delete(conflictmsg);
	sbuf_delete(origin);

-
	sql_exec(db->sqlite, "DROP TABLE IF EXISTS integritycheck");
+
	assert (sql_exec(db->sqlite, "DROP TABLE IF EXISTS integritycheck") == EPKG_OK);

	return (retcode);
}