Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Implement ensure loaded for binary repo.
Vsevolod Stakhov committed 11 years ago
commit 48669d3bf3f546026970ab1da65d5e84050d09db
parent 13cf6a9
3 files changed +20 -1
modified libpkg/repo/binary/binary.c
@@ -35,5 +35,6 @@ struct pkg_repo_ops pkg_repo_binary_ops = {
	.shlib_provided = pkg_repo_binary_shlib_provide,
	.shlib_required = pkg_repo_binary_shlib_require,
	.search = pkg_repo_binary_search,
-
	.fetch_pkg = NULL
+
	.fetch_pkg = NULL,
+
	.ensure_loaded = pkg_repo_binary_ensure_loaded
};
modified libpkg/repo/binary/binary.h
@@ -47,5 +47,7 @@ struct pkg_repo_it *pkg_repo_binary_shlib_require(struct pkg_repo *repo,
struct pkg_repo_it *pkg_repo_binary_search(struct pkg_repo *repo,
	const char *pattern, match_t match,
    pkgdb_field field, pkgdb_field sort);
+
int pkg_repo_binary_ensure_loaded(struct pkg_repo *repo,
+
	struct pkg *pkg, unsigned flags);

#endif /* BINARY_H_ */
modified libpkg/repo/binary/query.c
@@ -353,3 +353,19 @@ pkg_repo_binary_search(struct pkg_repo *repo, const char *pattern, match_t match

	return (pkg_repo_binary_it_new(repo, stmt, PKGDB_IT_FLAG_ONCE));
}
+

+
int
+
pkg_repo_binary_ensure_loaded(struct pkg_repo *repo,
+
	struct pkg *pkg, unsigned flags)
+
{
+
	sqlite3 *sqlite = PRIV_GET(repo);
+

+
	if (flags & (PKG_LOAD_FILES|PKG_LOAD_DIRS|PKG_LOAD_ANNOTATIONS)) {
+
		/*
+
		 * At the moment, we have no such information in repo
+
		 */
+
		return (EPKG_FATAL);
+
	}
+

+
	return (pkgdb_ensure_loaded_sqlite(sqlite, pkg, flags));
+
}