Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
update: check package abi if available
Dmitry Mikhirev committed 8 years ago
commit 91d55eca71c3a201ebad480b670cf12a3a5fb1d7
parent 4ce15a3
1 file changed +4 -2
modified libpkg/repo/binary/update.c
@@ -374,6 +374,7 @@ pkg_repo_binary_add_from_manifest(char *buf, sqlite3 *sqlite, size_t len,
{
	int rc = EPKG_OK;
	struct pkg *pkg;
+
	const char *abi;

	rc = pkg_new(&pkg, PKG_REMOTE);
	if (rc != EPKG_OK)
@@ -387,10 +388,11 @@ pkg_repo_binary_add_from_manifest(char *buf, sqlite3 *sqlite, size_t len,

	if (pkg->digest == NULL || !pkg_checksum_is_valid(pkg->digest, strlen(pkg->digest)))
		pkg_checksum_calculate(pkg, NULL);
-
	if (pkg->arch == NULL || !is_valid_abi(pkg->arch, true)) {
+
	abi = pkg->abi != NULL ? pkg->abi : pkg->arch;
+
	if (abi == NULL || !is_valid_abi(abi, true)) {
		rc = EPKG_FATAL;
		pkg_emit_error("repository %s contains packages with wrong ABI: %s",
-
			repo->name, pkg->arch);
+
			repo->name, abi);
		goto cleanup;
	}