Radish alpha
H
HardenedBSD Package Manager
Radicle
Git (anonymous pull)
Log in to clone via SSH
Always create 'arch' compat on package loading from db or file
Baptiste Daroussin committed 11 years ago
commit 818dd24f88bfd5db564cbe45b7209c762958fd78
parent bfd6e0814179085a93bf74dcf766f41db4a77e31
2 files changed +13 -0
modified libpkg/pkg.c
@@ -1479,6 +1479,8 @@ pkg_open2(struct pkg **pkg_p, struct archive **a, struct archive_entry **ae,
		if (!manifest && strcmp(fpath, "+MANIFEST") == 0) {
			manifest = true;
			char *buffer;
+
			char legacyarch[BUFSIZ];
+
			const char *abi;

			size_t len = archive_entry_size(*ae);
			buffer = malloc(len);
@@ -1493,6 +1495,11 @@ pkg_open2(struct pkg **pkg_p, struct archive **a, struct archive_entry **ae,
				retcode = EPKG_FATAL;
				goto cleanup;
			}
+

+
			pkg_get(pkg, PKG_ABI, &abi);
+
			pkg_arch_to_legacy(abi, legacyarch, BUFSIZ);
+
			pkg_set(pkg, PKG_ARCH, legacyarch);
+

			if (flags & PKG_OPEN_MANIFEST_ONLY)
				break;
		}
modified libpkg/pkgdb_iterator.c
@@ -688,6 +688,8 @@ static void
populate_pkg(sqlite3_stmt *stmt, struct pkg *pkg) {
	int		 icol = 0;
	const char	*colname;
+
	char legacyarch[BUFSIZ];
+
	const char *abi;

	assert(stmt != NULL);

@@ -738,6 +740,10 @@ populate_pkg(sqlite3_stmt *stmt, struct pkg *pkg) {
			break;
		}
	}
+

+
	pkg_get(pkg, PKG_ABI, &abi);
+
	pkg_arch_to_legacy(abi, legacyarch, BUFSIZ);
+
	pkg_set(pkg, PKG_ARCH, legacyarch);
}

static struct load_on_flag {