diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2021-08-18 08:35:18 +0200 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2021-08-18 11:54:44 +0300 |
commit | 4e9e142a6564b2a73848e735f9a1b5bb744d6a83 (patch) | |
tree | 940d36bf1136ddcecec7318032ae6d59b07e50f6 /bpkg/package.hxx | |
parent | cd315fecaf4c7473950c1610e06417634b416954 (diff) |
Also consider subproject directory names when calculating manifest checksums
Diffstat (limited to 'bpkg/package.hxx')
-rw-r--r-- | bpkg/package.hxx | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/bpkg/package.hxx b/bpkg/package.hxx index da5c64a..cb1a401 100644 --- a/bpkg/package.hxx +++ b/bpkg/package.hxx @@ -1005,13 +1005,23 @@ namespace bpkg optional<dir_path> src_root; bool purge_src; - // The checksum of the manifest file located in the source directory. + // The checksum of the manifest file located in the source directory and + // the subproject set. Changes to this information should trigger the + // package version revision increment. In particular, new subprojects + // should trigger the package reconfiguration. // // Must be present if the source directory is present, unless the object // is created/updated during the package build simulation (see pkg-build // for details). Note that during the simulation the manifest may not be // available. // + // @@ Currently we don't consider subprojects recursively (would most + // likely require extension to b info, also could be a performance + // concern). + // + // @@ We should probably rename it if/when ODB add support for that for + // SQlite. + // optional<std::string> manifest_checksum; // Path to the output directory of this package, if any. It is @@ -1153,6 +1163,10 @@ namespace bpkg // considered its iteration. Return the version of this iteration if that's // the case and nullopt otherwise. // + // Pass the build2 project info for the package, if available, to speed up + // the call and NULL otherwise (in which case it will be queried by the + // implementation). + // // Notes: // // - The package directory is considered an iteration of the package if this @@ -1190,6 +1204,7 @@ namespace bpkg const dir_path&, const package_name&, const version&, + const package_info*, bool check_external); // certificate |