From 9c3b6aabdb4d1f7196eea5c4d3a60999b09a1d55 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 6 Sep 2021 16:23:52 +0200 Subject: Add pkg-status --all|-a and --link options --- bpkg/pkg-status.cxx | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) (limited to 'bpkg/pkg-status.cxx') diff --git a/bpkg/pkg-status.cxx b/bpkg/pkg-status.cxx index a376d38..2b05086 100644 --- a/bpkg/pkg-status.cxx +++ b/bpkg/pkg-status.cxx @@ -338,14 +338,19 @@ namespace bpkg } else { - // Find all held packages in this and all the dependency - // configurations. + // Find held/all packages in this and, if --link specified, all the + // dependency configurations. // + query q; + + if (!o.all ()) + q = query::hold_package; + for (database& ldb: db.dependency_configs ()) { for (shared_ptr s: pointer_result ( - ldb.query (query::hold_package))) + ldb.query (q))) { pkgs.push_back (package {ldb, s->hold_package ? ldb : db, @@ -354,11 +359,19 @@ namespace bpkg move (s), nullopt /* constraint */}); } + + if (!o.link ()) + break; } if (pkgs.empty ()) { - info << "no held packages in the configuration"; + if (o.all ()) + info << "no packages in the configuration"; + else + info << "no held packages in the configuration" << + info << "use --all|-a to see status of all packages"; + return 0; } } -- cgit v1.1