From f1d08308522bbcbc655f6e55b4b84af9253d8679 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 9 Feb 2023 09:00:55 +0200 Subject: Infrastructure work for binary distribution package generation --- bpkg/package-query.hxx | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'bpkg/package-query.hxx') diff --git a/bpkg/package-query.hxx b/bpkg/package-query.hxx index ee9b595..98bb7a0 100644 --- a/bpkg/package-query.hxx +++ b/bpkg/package-query.hxx @@ -154,7 +154,11 @@ namespace bpkg bool revision = false); // Try to find an available package corresponding to the specified selected - // package and, if not found, return a transient one. + // package and, if not found, return a transient one. The search is + // performed in the ultimate dependent configurations of the selected + // package (see dependent_repo_configs() for details). + // + // NOTE: repo_configs needs to be filled prior to the function call. // shared_ptr find_available (const common_options&, @@ -166,6 +170,8 @@ namespace bpkg // left empty and that the returned repository fragment could be NULL if the // package is an orphan. // + // NOTE: repo_configs needs to be filled prior to the function call. + // pair, lazy_shared_ptr> find_available_fragment (const common_options&, @@ -191,11 +197,17 @@ namespace bpkg // locations list is left empty and that the returned repository fragment // could be NULL if the package is an orphan. // - // Note also that in our model we assume that make_available_fragment() is + // Note that the repository fragment is searched in the ultimate dependent + // configurations of the selected package (see dependent_repo_configs() for + // details). + // + // Also note that in our model we assume that make_available_fragment() is // only called if there is no real available_package. This makes sure that // if the package moves (e.g., from testing to stable), then we will be // using stable to resolve its dependencies. // + // NOTE: repo_configs needs to be filled prior to the function call. + // pair, lazy_shared_ptr> make_available_fragment (const common_options&, @@ -230,6 +242,11 @@ namespace bpkg // Return the ultimate dependent configurations for packages in this // configuration. // + // Specifically, this is an intersection of all the dependent configurations + // for the specified configuration (see database::dependent_configs() for + // details) and configurations which contain repository information + // (repo_configs). + // linked_databases dependent_repo_configs (database&); } -- cgit v1.1