Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Do not break upgrade chains when changing uid.
Vsevolod Stakhov committed 11 years ago
commit 89a8dafe44749d4eb00a73c8f14c6e64cfe1db14
parent bb6d091
1 file changed +5 -1
modified libpkg/pkg_jobs.c
@@ -1034,7 +1034,11 @@ pkg_jobs_change_uid(struct pkg_jobs *j, struct pkg_job_universe_item *unit,

	HASH_DELETE(hh, j->universe, unit);
	pkg_set(unit->pkg, PKG_UNIQUEID, new_uid);
-
	HASH_ADD_KEYPTR(hh, j->universe, new_uid, uidlen, unit);
+
	HASH_FIND(hh, j->universe, new_uid, uidlen, found);
+
	if (found != NULL)
+
		DL_APPEND(found, unit);
+
	else
+
		HASH_ADD_KEYPTR(hh, j->universe, new_uid, uidlen, unit);
}

static int