Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Do not add the same packages to the universe
Vsevolod Stakhov committed 9 years ago
commit ca244b84a98b5c6f9c15d7d7bb40dcdeb03f60c4
parent 9c2a5df
1 file changed +15 -4
modified libpkg/pkg_jobs_universe.c
@@ -170,12 +170,23 @@ pkg_jobs_universe_add_pkg(struct pkg_jobs_universe *universe, struct pkg *pkg,
	}

	kh_find(pkg_jobs_seen, universe->seen, pkg->digest, seen);
-
	if (seen && !force && pkg->type == PKG_INSTALLED) {
-
		if (found != NULL) {
-
			*found = seen;
+
	if (seen) {
+
		bool same_package = false;
+

+
		DL_FOREACH(seen, tmp) {
+
			if (tmp->pkg == pkg) {
+
				same_package = true;
+
				break;
+
			}
		}

-
		return (EPKG_END);
+
		if (same_package) {
+
			if (found != NULL) {
+
				*found = seen;
+
			}
+

+
			return (EPKG_END);
+
		}
	}

	if (pkg_is_locked(pkg)) {