aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bpkg/pkg-build.cxx16
1 files changed, 15 insertions, 1 deletions
diff --git a/bpkg/pkg-build.cxx b/bpkg/pkg-build.cxx
index 78a843e..0d663bd 100644
--- a/bpkg/pkg-build.cxx
+++ b/bpkg/pkg-build.cxx
@@ -1072,8 +1072,22 @@ namespace bpkg
// Even if we already have this package selected, we have to
// make sure it is configured and updated.
//
- if (sp == nullptr || sp->version == ap->version)
+ if (sp == nullptr)
+ act = "build ";
+ else if (sp->version == ap->version)
+ {
+ // If this package is already configured and is not part of the
+ // user selection, then there is nothing we will be explicitly
+ // doing with it (it might still get updated indirectly as part
+ // of the user selection update).
+ //
+ if (!p.reconfigure () &&
+ sp->state == package_state::configured &&
+ find (names.begin (), names.end (), sp->name) == names.end ())
+ continue;
+
act = p.reconfigure () ? "reconfigure/build " : "build ";
+ }
else
act = sp->version < ap->version ? "upgrade " : "downgrade ";