aboutsummaryrefslogtreecommitdiff
path: root/bpkg/package.cxx
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2022-02-21 22:54:05 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2022-02-22 18:06:12 +0300
commit309cccfffc15657dd8654aa6a14e444bb47417ae (patch)
tree887a16bb6faa467ee490b608f79c7a0de7e109ca /bpkg/package.cxx
parentd7a819061ea818cd69a7ab49182e407bec44b014 (diff)
Increment version iteration for external packages on buildfiles change
Diffstat (limited to 'bpkg/package.cxx')
-rw-r--r--bpkg/package.cxx31
1 files changed, 15 insertions, 16 deletions
diff --git a/bpkg/package.cxx b/bpkg/package.cxx
index c8ad9d6..da560f2 100644
--- a/bpkg/package.cxx
+++ b/bpkg/package.cxx
@@ -654,7 +654,21 @@ namespace bpkg
bool changed (mc != *p->manifest_checksum);
- // If the manifest didn't changed but the selected package points to an
+ // If the manifest hasn't changed and the package has buildfile clauses in
+ // the dependencies, then check if the buildfiles haven't changed either.
+ //
+ if (!changed && p->buildfiles_checksum)
+ {
+ // Always calculate the checksum over the buildfiles since the package
+ // is external.
+ //
+ changed = package_buildfiles_checksum (
+ nullopt /* bootstrap_build */,
+ nullopt /* root_build */,
+ d) != *p->buildfiles_checksum;
+ }
+
+ // If the manifest hasn't changed but the selected package points to an
// external source directory, then we also check if the directory have
// moved.
//
@@ -840,19 +854,4 @@ namespace bpkg
return false;
}
-
- bool
- evaluate_enabled (const dependency_alternative& da,
- const string& /* bootstrap_build */,
- const optional<string>& /* root_build */,
- const package_name& pkg)
- {
- // @@ DEP TMP
- //
- if (da.enable)
- fail << "conditional dependency for package " << pkg <<
- info << "conditional dependencies are not yet supported";
-
- return true;
- }
}