aboutsummaryrefslogtreecommitdiff
path: root/bpkg/pkg-build.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2021-08-18 08:35:18 +0200
committerKaren Arutyunov <karen@codesynthesis.com>2021-08-18 11:54:44 +0300
commit4e9e142a6564b2a73848e735f9a1b5bb744d6a83 (patch)
tree940d36bf1136ddcecec7318032ae6d59b07e50f6 /bpkg/pkg-build.cxx
parentcd315fecaf4c7473950c1610e06417634b416954 (diff)
Also consider subproject directory names when calculating manifest checksums
Diffstat (limited to 'bpkg/pkg-build.cxx')
-rw-r--r--bpkg/pkg-build.cxx14
1 files changed, 11 insertions, 3 deletions
diff --git a/bpkg/pkg-build.cxx b/bpkg/pkg-build.cxx
index f59c2c0..60bdb08 100644
--- a/bpkg/pkg-build.cxx
+++ b/bpkg/pkg-build.cxx
@@ -4171,14 +4171,21 @@ namespace bpkg
info << "'" << package << "' does not appear to be a valid "
<< "package directory: ";
+ // For better diagnostics, let's obtain the package info after
+ // pkg_verify() verifies that this is a package directory.
+ //
+ package_version_info pvi;
+
package_manifest m (
pkg_verify (
d,
true /* ignore_unknown */,
- [&o, &d] (version& v)
+ [&o, &d, &pvi] (version& v)
{
- if (optional<version> pv = package_version (o, d))
- v = move (*pv);
+ pvi = package_version (o, d);
+
+ if (pvi.version)
+ v = move (*pvi.version);
},
diag));
@@ -4208,6 +4215,7 @@ namespace bpkg
d,
m.name,
m.version,
+ &pvi.info,
true /* check_external */))
m.version = move (*v);