aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2023-09-02 22:54:21 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2023-09-25 11:35:25 +0300
commit8226c7c7a2bffc96d70f297e792f3c0afbce67f0 (patch)
tree8ab25697081b67b79586405d60b48ec6d3facd52
parentf660e1c80e3d44d922705ce2a3bcd0b16f67fcac (diff)
Scratch plan on refinement caused by dependency up/down-grade/drop if any configuration negotiation has been performed
-rw-r--r--bpkg/pkg-build-collect.cxx143
-rw-r--r--bpkg/pkg-build-collect.hxx14
-rw-r--r--bpkg/pkg-build.cxx13
-rw-r--r--tests/common/dependency-alternatives/t11a/tez-0.1.0.tar.gzbin0 -> 465 bytes
-rw-r--r--tests/common/dependency-alternatives/t11a/tuz-1.0.0.tar.gzbin0 -> 440 bytes
-rw-r--r--tests/pkg-build.testscript1143
6 files changed, 1185 insertions, 128 deletions
diff --git a/bpkg/pkg-build-collect.cxx b/bpkg/pkg-build-collect.cxx
index ec95e7c..47c5344 100644
--- a/bpkg/pkg-build-collect.cxx
+++ b/bpkg/pkg-build-collect.cxx
@@ -248,11 +248,6 @@ namespace bpkg
//
assert ((flags & build_repoint) == 0 || (p.flags & build_repoint) == 0);
- // We never merge two existing dependent re-evaluations.
- //
- assert ((flags & build_reevaluate) == 0 ||
- (p.flags & build_reevaluate) == 0);
-
// Copy the user-specified options/variables.
//
if (p.user_selection ())
@@ -324,14 +319,19 @@ namespace bpkg
if (!hold_version || (p.hold_version && *p.hold_version > *hold_version))
hold_version = p.hold_version;
- // Copy state flags.
+ // Copy state flags and upgrade dependent repointments and re-evaluations
+ // to the full builds. But in contrast to the repointed dependents we may
+ // merge two dependent re-evaluations.
//
- flags |= p.flags;
+ flags |= (p.flags & ~build_reevaluate);
- // Upgrade dependent repointments and re-evaluations to the full builds.
- //
if (*action == build)
- flags &= ~(build_repoint | build_reevaluate);
+ {
+ flags &= ~build_repoint;
+
+ if ((p.flags & build_reevaluate) == 0)
+ flags &= ~build_reevaluate;
+ }
// Note that we don't copy the build_package::system flag. If it was
// set from the command line ("strong system") then we will also have
@@ -1422,32 +1422,6 @@ namespace bpkg
}
else
{
- // Treat the replacement of the existing dependent that is participating
- // in the configuration negotiation also as a version replacement. This
- // way we will not be treating the dependent as an existing on the
- // re-collection (see query_existing_dependents() for details).
- //
- // Note: an existing dependent may not be configured as system.
- //
- if (pkg.selected != nullptr &&
- (pkg.selected->version != pkg.available_version () ||
- pkg.system))
- {
- for (const postponed_configuration& cfg: postponed_cfgs)
- {
- auto i (cfg.dependents.find (pk));
-
- if (i != cfg.dependents.end () && i->second.existing)
- {
- l5 ([&]{trace << "existing dependent " << *pkg.selected << pkg.db
- << " needs to be replaced with "
- << pkg.available_name_version_db ();});
-
- replace_ver (pkg);
- }
- }
- }
-
// This is the first time we are adding this package name to the map.
//
l4 ([&]{trace << "add " << pkg.available_name_version_db ();});
@@ -1646,6 +1620,12 @@ namespace bpkg
<< ed.db << " due to dependency "
<< pkg.available_name_version_db ();});
+ collect_existing_dependent (options,
+ ed,
+ {pk},
+ replaced_vers,
+ postponed_cfgs);
+
// Only add this dependent/dependency to the newly created cluster
// if this dependency doesn't belong to any cluster yet, which may
// not be the case if there are multiple existing dependents with
@@ -4950,13 +4930,6 @@ namespace bpkg
if (ed.reevaluated)
continue;
- const package_key& pk (d.first);
- packages& ds (ed.dependencies);
-
- pair<shared_ptr<available_package>,
- lazy_shared_ptr<repository_fragment>> rp (
- find_available_fragment (o, pk.db, ed.selected));
-
// Note that a re-evaluated package doesn't necessarily needs to
// be reconfigured and thus we don't add the
// build_package::adjust_reconfigure flag here.
@@ -4967,38 +4940,13 @@ namespace bpkg
// build_package::adjust_reconfigure flag will be added normally
// by collect_order_dependents().
//
- build_package p {
- build_package::build,
- pk.db,
- move (ed.selected),
- move (rp.first),
- move (rp.second),
- nullopt, // Dependencies.
- nullopt, // Dependencies alternatives.
- nullopt, // Package skeleton.
- nullopt, // Postponed dependency alternatives.
- false, // Recursive collection.
- nullopt, // Hold package.
- nullopt, // Hold version.
- {}, // Constraints.
- false, // System.
- false, // Keep output directory.
- false, // Disfigure (from-scratch reconf).
- false, // Configure-only.
- nullopt, // Checkout root.
- false, // Checkout purge.
- strings (), // Configuration variables.
- set<package_key> ( // Required by (dependency).
- make_move_iterator (ds.begin ()),
- make_move_iterator (ds.end ())),
- false, // Required by dependents.
- build_package::build_reevaluate};
-
- // Note: not recursive.
- //
- collect_build (o, move (p), replaced_vers, postponed_cfgs);
+ collect_existing_dependent (o,
+ ed,
+ move (ed.dependencies),
+ replaced_vers,
+ postponed_cfgs);
- build_package* b (entered_build (pk));
+ build_package* b (entered_build (d.first));
assert (b != nullptr);
// Re-evaluate up to the earliest position.
@@ -6706,7 +6654,7 @@ namespace bpkg
strings (), // Configuration variables.
{dpt}, // Required by (dependent).
true, // Required by dependents.
- 0};
+ 0}; // State flags.
// Add constraints, if present.
//
@@ -6728,6 +6676,51 @@ namespace bpkg
}
void build_packages::
+ collect_existing_dependent (const pkg_build_options& o,
+ const existing_dependent& ed,
+ postponed_configuration::packages&& ds,
+ replaced_versions& replaced_vers,
+ postponed_configurations& postponed_cfgs)
+ {
+ assert (ed.dependency); // May not be a deviated existing dependent.
+
+ pair<shared_ptr<available_package>,
+ lazy_shared_ptr<repository_fragment>> rp (
+ find_available_fragment (o, ed.db, ed.selected));
+
+ build_package p {
+ build_package::build,
+ ed.db,
+ ed.selected,
+ move (rp.first),
+ move (rp.second),
+ nullopt, // Dependencies.
+ nullopt, // Dependencies alternatives.
+ nullopt, // Package skeleton.
+ nullopt, // Postponed dependency alternatives.
+ false, // Recursive collection.
+ nullopt, // Hold package.
+ nullopt, // Hold version.
+ {}, // Constraints.
+ false, // System.
+ false, // Keep output directory.
+ false, // Disfigure (from-scratch reconf).
+ false, // Configure-only.
+ nullopt, // Checkout root.
+ false, // Checkout purge.
+ strings (), // Configuration variables.
+ set<package_key> ( // Required by (dependency).
+ make_move_iterator (ds.begin ()),
+ make_move_iterator (ds.end ())),
+ false, // Required by dependents.
+ build_package::build_reevaluate};
+
+ // Note: not recursive.
+ //
+ collect_build (o, move (p), replaced_vers, postponed_cfgs);
+ }
+
+ void build_packages::
collect_deviated_dependent (const pkg_build_options& o,
const existing_dependent& ed,
package_key orig_dep,
diff --git a/bpkg/pkg-build-collect.hxx b/bpkg/pkg-build-collect.hxx
index 3621732..1ce6962 100644
--- a/bpkg/pkg-build-collect.hxx
+++ b/bpkg/pkg-build-collect.hxx
@@ -1090,8 +1090,6 @@ namespace bpkg
// instead. Add entry to replaced_vers and throw replace_version if the
// existing version needs to be replaced but the new version cannot be
// re-collected recursively in-place (see replaced_versions for details).
- // Also add an entry and throw if the existing dependent needs to be
- // replaced.
//
// Optionally, pass the function which verifies the chosen package
// version. It is called before replace_version is potentially thrown or
@@ -1470,6 +1468,18 @@ namespace bpkg
replaced_versions&,
postponed_configurations&);
+ // Non-recursively collect an existing non-deviated dependent previously
+ // returned by the query_existing_dependents() function call for the
+ // subsequent re-evaluation.
+ //
+ void
+ collect_existing_dependent (
+ const pkg_build_options&,
+ const existing_dependent&,
+ postponed_configuration::packages&& dependencies,
+ replaced_versions&,
+ postponed_configurations&);
+
// Non-recursively collect the deviated existing dependent previously
// returned by the query_existing_dependents() function call and add it to
// the postponed package recollections list.
diff --git a/bpkg/pkg-build.cxx b/bpkg/pkg-build.cxx
index 1554f01..e2dea9d 100644
--- a/bpkg/pkg-build.cxx
+++ b/bpkg/pkg-build.cxx
@@ -3867,6 +3867,11 @@ namespace bpkg
// grade order where any subsequent entry does not affect the decision of
// the previous ones.
//
+ // Note that we also need to rebuild the plan from scratch on adding a new
+ // up/down-grade/drop if any dependency configuration negotiation has been
+ // performed, since any package replacement may affect the already
+ // negotiated configurations.
+ //
// Package managers are an easy, already solved problem, right?
//
build_packages pkgs;
@@ -4916,8 +4921,16 @@ namespace bpkg
refine = need_refinement ();
+ // If no further refinement is necessary, then perform the
+ // diagnostics run. Otherwise, if any dependency configuration
+ // negotiation has been performed during the current plan refinement
+ // iteration, then rebuild the plan from scratch (see above for
+ // details).
+ //
if (!refine)
need_refinement (true /* diag */);
+ else if (!postponed_cfgs.empty ())
+ scratch_exe = true;
}
// Note that we prevent building multiple instances of the same
diff --git a/tests/common/dependency-alternatives/t11a/tez-0.1.0.tar.gz b/tests/common/dependency-alternatives/t11a/tez-0.1.0.tar.gz
new file mode 100644
index 0000000..208acfe
--- /dev/null
+++ b/tests/common/dependency-alternatives/t11a/tez-0.1.0.tar.gz
Binary files differ
diff --git a/tests/common/dependency-alternatives/t11a/tuz-1.0.0.tar.gz b/tests/common/dependency-alternatives/t11a/tuz-1.0.0.tar.gz
new file mode 100644
index 0000000..d4a8cdf
--- /dev/null
+++ b/tests/common/dependency-alternatives/t11a/tuz-1.0.0.tar.gz
Binary files differ
diff --git a/tests/pkg-build.testscript b/tests/pkg-build.testscript
index de37b1e..f323f33 100644
--- a/tests/pkg-build.testscript
+++ b/tests/pkg-build.testscript
@@ -260,9 +260,12 @@
# | |-- toz-1.0.0.tar.gz -> libbaz {require {config.libbaz.extras=true}},
# | | libfoo {require {config.libfoo.extras=true}},
# | | libbar {require {config.libbar.extras=true}}
+# | |-- tez-0.1.0.tar.gz -> libbox {require {config.libbox.extras=true}},
+# | | toz == 0.1.0 {require {config.toz.extras=true}}
# | |-- tez-1.0.0.tar.gz -> libbox {require {config.libbox.extras=true}},
# | | toz == 0.1.0 {require {config.toz.extras=true}},
# | | libbar {require {config.libbar.extras=true}}
+# | |-- tuz-1.0.0.tar.gz -> toz {require {config.toz.extras=true}}
# | |-- tux-1.0.0.tar.gz -> libbox {require {config.libbox.extras=true}},
# | | tix == 0.1.0
# | |-- dex-1.0.0.tar.gz -> bar {require {config.bar.extras=true}},
@@ -6316,6 +6319,7 @@ test.arguments += --sys-no-query
%.*
trace: collect_build_prerequisites: pre-reevaluated foo/1.0.0: 1,1
trace: collect_build_prerequisites: cfg-postpone dependency libfoo/0.1.0 of existing dependent foo/1.0.0 due to dependency libfoo/0.1.0
+ trace: collect_build: add foo/1.0.0
trace: postponed_configurations::add: create {foo^ | libfoo->{foo/1,1}}
trace: collect_build_postponed (0): begin
trace: collect_build_postponed (1): begin {foo^ | libfoo->{foo/1,1}}
@@ -6324,7 +6328,6 @@ test.arguments += --sys-no-query
%.*
trace: collect_build_prerequisites: pre-reevaluated foo/1.0.0: 1,1
trace: collect_build_postponed (1): re-evaluate existing dependents for {foo^ | libfoo->{foo/1,1}}
- trace: collect_build: add foo/1.0.0
trace: collect_build_prerequisites: reeval foo/1.0.0
%.*
trace: collect_build: pick libfoo/0.1.0 over libfoo/1.0.0
@@ -6384,6 +6387,7 @@ test.arguments += --sys-no-query
%.*
trace: collect_build_prerequisites: pre-reevaluated foo/1.0.0: 1,1
trace: collect_build_prerequisites: cfg-postpone dependency libfoo/0.1.0 of existing dependent foo/1.0.0 due to dependency libfoo/0.1.0
+ trace: collect_build: add foo/1.0.0
trace: postponed_configurations::add: create {foo^ | libfoo->{foo/1,1}}
trace: collect_build_postponed (0): begin
trace: collect_build_postponed (1): begin {foo^ | libfoo->{foo/1,1}}
@@ -6392,7 +6396,6 @@ test.arguments += --sys-no-query
%.*
trace: collect_build_prerequisites: pre-reevaluated foo/1.0.0: 1,1
trace: collect_build_postponed (1): re-evaluate existing dependents for {foo^ | libfoo->{foo/1,1}}
- trace: collect_build: add foo/1.0.0
trace: collect_build_prerequisites: reeval foo/1.0.0
%.*
trace: postponed_configurations::add: add {foo^ 1,1: libfoo} to {foo^ | libfoo->{foo/1,1}}
@@ -6480,8 +6483,15 @@ test.arguments += --sys-no-query
%.*
trace: evaluate_dependency: foo/1.0.0: unused
%.*
- trace: pkg_build: refine package collection/plan execution
+ trace: pkg_build: refine package collection/plan execution from scratch
%.*
+ trace: collect_build: add libfoo/1.0.0
+ %.*
+ trace: collect_build_prerequisites: pre-reeval foo/1.0.0
+ %.*
+ trace: collect_build_prerequisites: pre-reevaluated foo/1.0.0: 1,1
+ trace: collect_build_prerequisites: cfg-postpone dependency libfoo/1.0.0 of existing dependent foo/1.0.0 due to dependency libfoo/1.0.0
+ trace: postponed_configurations::add: create {foo^ | libfoo->{foo/1,1}}
trace: collect_drop: foo/1.0.0 package version needs to be replaced with drop
trace: pkg_build: collection failed due to package version replacement, retry from scratch
%.*
@@ -6557,8 +6567,10 @@ test.arguments += --sys-no-query
%.*
trace: collect_build_prerequisites: pre-reevaluated fox/1.0.0: 1,1
trace: collect_build_prerequisites: cfg-postpone dependency libfoo/1.0.0 of existing dependent foo/1.0.0 due to dependency libfoo/1.0.0
+ trace: collect_build: add foo/1.0.0
trace: postponed_configurations::add: create {foo^ | libfoo->{foo/1,1}}
trace: collect_build_prerequisites: cfg-postpone dependency libfoo/1.0.0 of existing dependent fox/1.0.0 due to dependency libfoo/1.0.0
+ trace: collect_build: add fox/1.0.0
trace: collect_build_postponed (0): begin
trace: collect_build_postponed (1): begin {foo^ | libfoo->{foo/1,1}}
%.*
@@ -6569,14 +6581,12 @@ test.arguments += --sys-no-query
%.*
trace: collect_build_prerequisites: pre-reevaluated fox/1.0.0: 1,1
trace: collect_build_postponed (1): re-evaluate existing dependents for {foo^ | libfoo->{foo/1,1}}
- trace: collect_build: add foo/1.0.0
trace: collect_build_prerequisites: reeval foo/1.0.0
%.*
trace: collect_build: pick libfoo/1.0.0 over libfoo/0.1.0
trace: postponed_configurations::add: add {foo^ 1,1: libfoo} to {foo^ | libfoo->{foo/1,1}}
trace: collect_build_prerequisites: re-evaluating dependent foo/1.0.0 results in {foo^ | libfoo->{foo/1,1}}
trace: collect_build_prerequisites: re-evaluated foo/1.0.0
- trace: collect_build: add fox/1.0.0
trace: collect_build_prerequisites: reeval fox/1.0.0
%.*
trace: collect_build: pick libfoo/1.0.0 over libfoo/0.1.0
@@ -6683,6 +6693,7 @@ test.arguments += --sys-no-query
%.*
trace: collect_build_prerequisites: pre-reevaluated bus/0.1.0: 1,1
trace: collect_build_prerequisites: cfg-postpone dependency foo/0.1.0 of existing dependent bus/0.1.0 due to dependency foo/0.1.0
+ trace: collect_build: add bus/0.1.0
trace: postponed_configurations::add: create {bus^ | foo->{bus/1,1}}
trace: collect_build_prerequisites: end fix/0.1.0
trace: collect_build_prerequisites: begin libbiz/1.0.0
@@ -6715,6 +6726,7 @@ test.arguments += --sys-no-query
%.*
trace: collect_build_prerequisites: pre-reevaluated bus/0.1.0: 1,1
trace: collect_build_prerequisites: cfg-postpone dependency foo/0.1.0 of existing dependent bus/0.1.0 due to dependency foo/0.1.0
+ trace: collect_build: add bus/0.1.0
trace: postponed_configurations::add: create {bus^ | foo->{bus/1,1}}
trace: collect_build_prerequisites: end fix/0.1.0
trace: collect_build_prerequisites: begin libbiz/0.1.0
@@ -6730,7 +6742,6 @@ test.arguments += --sys-no-query
%.*
trace: collect_build_prerequisites: pre-reevaluated bus/0.1.0: 1,1
trace: collect_build_postponed (1): re-evaluate existing dependents for {bus^ | foo->{bus/1,1}}
- trace: collect_build: add bus/0.1.0
trace: collect_build_prerequisites: reeval bus/0.1.0
%.*
trace: collect_build: pick foo/0.1.0 over foo/1.0.0
@@ -6821,17 +6832,43 @@ test.arguments += --sys-no-query
%.*
trace: collect_build_prerequisites: pre-reevaluated foo/1.0.0: 1,1
trace: collect_build_prerequisites: cfg-postpone dependency libfoo/0.1.0 of existing dependent foo/1.0.0 due to dependency libfoo/0.1.0
+ trace: collect_build: add foo/1.0.0
trace: postponed_configurations::add: create {foo^ | libfoo->{foo/1,1}}
%.*
trace: collect_build_prerequisites: begin fix/0.1.0
%.*
- trace: collect_build: existing dependent foo/1.0.0 needs to be replaced with foo/0.1.0
+ trace: collect_build: pick foo/0.1.0 over foo/1.0.0
+ trace: collect_build: foo/1.0.0 package version needs to be replaced with foo/0.1.0
trace: pkg_build: collection failed due to package version replacement, retry from scratch
%.*
trace: pkg_build: refine package collection/plan execution from scratch
%.*
trace: collect_build: add libfoo/0.1.0
trace: collect_build: add fix/0.1.0
+ %.*
+ trace: collect_build_prerequisites: skip expected to be built existing dependent foo of dependency libfoo
+ trace: collect_build_prerequisites: begin libfoo/0.1.0
+ trace: collect_build_prerequisites: end libfoo/0.1.0
+ %.*
+ trace: collect_build_prerequisites: begin fix/0.1.0
+ %.*
+ trace: collect_build: apply version replacement for foo/0.1.0
+ trace: collect_build: replacement: foo/0.1.0
+ trace: collect_build: add foo/0.1.0
+ info: package fix dependency on (foo == 0.1.0) is forcing downgrade of foo/1.0.0 to 0.1.0
+ trace: collect_build_prerequisites: no cfg-clause for dependency foo/0.1.0 of dependent fix/0.1.0
+ %.*
+ trace: collect_build_prerequisites: skip being built existing dependent fix of dependency foo
+ trace: collect_build_prerequisites: begin foo/0.1.0
+ %.*
+ trace: collect_build: pick libfoo/0.1.0 over libfoo/1.0.0
+ trace: collect_build_prerequisites: cannot cfg-postpone dependency libfoo/0.1.0 of dependent foo/0.1.0 (collected prematurely), throwing postpone_dependency
+ trace: pkg_build: collection failed due to prematurely collected dependency (libfoo), retry from scratch
+ %.*
+ trace: pkg_build: refine package collection/plan execution from scratch
+ %.*
+ trace: collect_build: add libfoo/0.1.0
+ trace: collect_build: add fix/0.1.0
trace: pkg_build: dep-postpone user-specified libfoo
%.*
trace: collect_build_prerequisites: begin fix/0.1.0
@@ -6918,6 +6955,7 @@ test.arguments += --sys-no-query
trace: collect_build_prerequisites: pre-reevaluated tex/1.0.0: 1,1
trace: collect_build: pick libbar/0.1.0 over libbar/1.0.0
trace: collect_build_prerequisites: cfg-postpone dependency libbar/0.1.0 of existing dependent tex/1.0.0 due to dependency libfoo/0.1.0
+ trace: collect_build: add tex/1.0.0
trace: postponed_configurations::add: create {tex^ | libbar->{tex/1,1}}
trace: pkg_build: dep-postpone user-specified libbar since already in cluster {tex^ | libbar->{tex/1,1}}
trace: collect_build_postponed (0): begin
@@ -6927,7 +6965,6 @@ test.arguments += --sys-no-query
%.*
trace: collect_build_prerequisites: pre-reevaluated tex/1.0.0: 1,1
trace: collect_build_postponed (1): re-evaluate existing dependents for {tex^ | libbar->{tex/1,1}}
- trace: collect_build: add tex/1.0.0
trace: collect_build_prerequisites: reeval tex/1.0.0
%.*
trace: collect_build: pick libbar/0.1.0 over libbar/1.0.0
@@ -6972,7 +7009,7 @@ test.arguments += --sys-no-query
config.libfoo.extras=true (set by tex)
downgrade libbar/0.1.0
config.libbar.extras=true (set by tex)
- reconfigure tex/1.0.0 (dependent of libbar)
+ reconfigure tex/1.0.0 (dependent of libbar, libfoo)
trace: execute_plan: simulate: no
%.*
EOE
@@ -7014,6 +7051,7 @@ test.arguments += --sys-no-query
trace: collect_build_prerequisites: pre-reevaluated tex/1.0.0: 1,1
trace: collect_build: add libbar/1.0.0
trace: collect_build_prerequisites: cfg-postpone dependency libbar/1.0.0 of existing dependent tex/1.0.0 due to dependency libfoo/0.1.0
+ trace: collect_build: add tex/1.0.0
trace: postponed_configurations::add: create {tex^ | libbar->{tex/1,1}}
trace: collect_build_prerequisites: begin bar/0.1.0
%.*
@@ -7033,6 +7071,7 @@ test.arguments += --sys-no-query
trace: collect_build: replacement: libbar/0.1.0
trace: collect_build: add libbar/0.1.0
trace: collect_build_prerequisites: cfg-postpone dependency libbar/0.1.0 of existing dependent tex/1.0.0 due to dependency libfoo/0.1.0
+ trace: collect_build: add tex/1.0.0
trace: postponed_configurations::add: create {tex^ | libbar->{tex/1,1}}
trace: collect_build_prerequisites: begin bar/0.1.0
%.*
@@ -7046,7 +7085,6 @@ test.arguments += --sys-no-query
%.*
trace: collect_build_prerequisites: pre-reevaluated tex/1.0.0: 1,1
trace: collect_build_postponed (1): re-evaluate existing dependents for {bar tex^ | libbar->{bar/1,1 tex/1,1}}
- trace: collect_build: add tex/1.0.0
trace: collect_build_prerequisites: reeval tex/1.0.0
%.*
trace: collect_build: pick libbar/0.1.0 over libbar/1.0.0
@@ -7094,7 +7132,7 @@ test.arguments += --sys-no-query
config.libfoo.extras=true (set by tex)
downgrade libbar/0.1.0 (required by bar, tex)
config.libbar.extras=true (set by bar)
- reconfigure tex/1.0.0 (dependent of libbar)
+ reconfigure tex/1.0.0 (dependent of libbar, libfoo)
new bar/0.1.0
trace: execute_plan: simulate: no
%.*
@@ -7223,6 +7261,7 @@ test.arguments += --sys-no-query
trace: collect_build_prerequisites: pre-reevaluated bax/1.0.0: 1,1
trace: collect_build: add libfoo/1.0.0
trace: collect_build_prerequisites: cfg-postpone dependency libfoo/1.0.0 of existing dependent bax/1.0.0 due to dependency libbox/0.1.0
+ trace: collect_build: add bax/1.0.0
trace: postponed_configurations::add: create {bax^ | libfoo->{bax/1,1}}
trace: collect_build_postponed (0): begin
trace: collect_build_postponed (1): begin {bax^ | libfoo->{bax/1,1}}
@@ -7235,7 +7274,6 @@ test.arguments += --sys-no-query
%.*
trace: collect_build_prerequisites: pre-reevaluated baz/1.0.0: 1,1
trace: collect_build_postponed (1): re-evaluate existing dependents for {bax^ | libfoo->{bax/1,1}}
- trace: collect_build: add bax/1.0.0
trace: collect_build_prerequisites: reeval bax/1.0.0
%.*
trace: postponed_configurations::add: add {bax^ 1,1: libfoo} to {bax^ | libfoo->{bax/1,1}}
@@ -7276,7 +7314,6 @@ test.arguments += --sys-no-query
%.*
trace: collect_build_prerequisites: pre-reevaluated baz/1.0.0: 1,1
trace: collect_build_postponed (1): re-evaluate existing dependents for {bax^ | libfoo->{bax/1,1}}
- trace: collect_build: add bax/1.0.0
trace: collect_build_prerequisites: reeval bax/1.0.0
%.*
trace: postponed_configurations::add: add {bax^ 1,1: libfoo} to {bax^ | libfoo->{bax/1,1}}
@@ -7322,7 +7359,7 @@ test.arguments += --sys-no-query
build plan:
downgrade libbox/0.1.0
config.libbox.extras=true (set by bax)
- reconfigure bax/1.0.0 (dependent of libfoo)
+ reconfigure bax/1.0.0 (dependent of libbox, libfoo)
trace: execute_plan: simulate: no
%.*
EOE
@@ -7545,6 +7582,7 @@ test.arguments += --sys-no-query
trace: collect_build_prerequisites: pre-reevaluated bax/1.0.0: 1,1
trace: collect_build: add libfoo/1.0.0
trace: collect_build_prerequisites: cfg-postpone dependency libfoo/1.0.0 of existing dependent bax/1.0.0 due to dependency libbox/0.1.0
+ trace: collect_build: add bax/1.0.0
trace: postponed_configurations::add: create {bax^ | libfoo->{bax/1,1}}
trace: collect_build_postponed (0): begin
trace: collect_build_postponed (1): begin {bax^ | libfoo->{bax/1,1}}
@@ -7556,7 +7594,6 @@ test.arguments += --sys-no-query
%.*
trace: collect_build_prerequisites: pre-reevaluated baz/1.0.0: 1,1
trace: collect_build_postponed (1): re-evaluate existing dependents for {bax^ | libfoo->{bax/1,1}}
- trace: collect_build: add bax/1.0.0
trace: collect_build_prerequisites: reeval bax/1.0.0
%.*
trace: postponed_configurations::add: add {bax^ 1,1: libfoo} to {bax^ | libfoo->{bax/1,1}}
@@ -7596,7 +7633,6 @@ test.arguments += --sys-no-query
%.*
trace: collect_build_prerequisites: pre-reevaluated baz/1.0.0: 1,1
trace: collect_build_postponed (1): re-evaluate existing dependents for {bax^ | libfoo->{bax/1,1}}
- trace: collect_build: add bax/1.0.0
trace: collect_build_prerequisites: reeval bax/1.0.0
%.*
trace: postponed_configurations::add: add {bax^ 1,1: libfoo} to {bax^ | libfoo->{bax/1,1}}
@@ -7640,11 +7676,6 @@ test.arguments += --sys-no-query
%.*
trace: evaluate_dependency: baz/1.0.0: unused
%.*
- trace: pkg_build: refine package collection/plan execution
- %.*
- trace: collect_drop: baz/1.0.0 package version needs to be replaced with drop
- trace: pkg_build: collection failed due to package version replacement, retry from scratch
- %.*
trace: pkg_build: refine package collection/plan execution from scratch
%.*
trace: collect_build: add libbox/0.1.0
@@ -7654,6 +7685,7 @@ test.arguments += --sys-no-query
trace: collect_build_prerequisites: pre-reevaluated bax/1.0.0: 1,1
trace: collect_build: add libfoo/1.0.0
trace: collect_build_prerequisites: cfg-postpone dependency libfoo/1.0.0 of existing dependent bax/1.0.0 due to dependency libbox/0.1.0
+ trace: collect_build: add bax/1.0.0
trace: postponed_configurations::add: create {bax^ | libfoo->{bax/1,1}}
trace: collect_drop: overwrite baz
trace: collect_build_postponed (0): begin
@@ -7664,7 +7696,6 @@ test.arguments += --sys-no-query
trace: collect_build_prerequisites: pre-reevaluated bax/1.0.0: 1,1
trace: collect_build_postponed (1): skip being dropped existing dependent baz of dependency libfoo
trace: collect_build_postponed (1): re-evaluate existing dependents for {bax^ | libfoo->{bax/1,1}}
- trace: collect_build: add bax/1.0.0
trace: collect_build_prerequisites: reeval bax/1.0.0
%.*
trace: postponed_configurations::add: add {bax^ 1,1: libfoo} to {bax^ | libfoo->{bax/1,1}}
@@ -7709,7 +7740,7 @@ test.arguments += --sys-no-query
build plan:
downgrade libbox/0.1.0
config.libbox.extras=true (set by bax)
- reconfigure bax/1.0.0 (dependent of libfoo)
+ reconfigure bax/1.0.0 (dependent of libbox, libfoo)
drop baz/1.0.0 (unused)
trace: execute_plan: simulate: no
%.*
@@ -10361,6 +10392,7 @@ test.arguments += --sys-no-query
trace: collect_build_prerequisites: pre-reevaluated tix/1.0.0: 1,1
trace: collect_build: add libbar/1.0.0
trace: collect_build_prerequisites: cfg-postpone dependency libbar/1.0.0 of existing dependent tix/1.0.0 due to dependency tex/0.3.0
+ trace: collect_build: add tix/1.0.0
trace: postponed_configurations::add: create {tix^ | libbar->{tix/1,1}}
trace: collect_build_postponed (0): begin
trace: collect_build_postponed (1): begin {tix^ | libbar->{tix/1,1}}
@@ -10370,7 +10402,6 @@ test.arguments += --sys-no-query
%.*
trace: collect_build_prerequisites: pre-reevaluated tix/1.0.0: 1,1
trace: collect_build_postponed (1): re-evaluate existing dependents for {tix^ | libbar->{tix/1,1}}
- trace: collect_build: add tix/1.0.0
trace: collect_build_prerequisites: reeval tix/1.0.0
%.*
trace: postponed_configurations::add: add {tix^ 1,1: libbar} to {tix^ | libbar->{tix/1,1}}
@@ -10433,7 +10464,7 @@ test.arguments += --sys-no-query
build plan:
downgrade tex/0.3.0
config.tex.extras=true (set by tix)
- reconfigure tix/1.0.0 (dependent of libbar)
+ reconfigure tix/1.0.0 (dependent of libbar, tex)
trace: execute_plan: simulate: no
%.*
EOE
@@ -12897,6 +12928,7 @@ test.arguments += --sys-no-query
trace: collect_build_prerequisites: pre-reevaluated tex/1.0.0: 1,1
trace: collect_build: add libbar/1.0.0
trace: collect_build_prerequisites: cfg-postpone dependency libbar/1.0.0 of existing dependent tex/1.0.0 due to dependency libfoo/1.0.0
+ trace: collect_build: add tex/1.0.0
trace: postponed_configurations::add: create {tex^ | libbar->{tex/1,1}}
trace: collect_build_postponed (0): begin
trace: collect_build_postponed (1): begin {tex^ | libbar->{tex/1,1}}
@@ -12908,7 +12940,6 @@ test.arguments += --sys-no-query
%.*
trace: collect_build_prerequisites: pre-reevaluated tix/1.0.0: 1,1
trace: collect_build_postponed (1): re-evaluate existing dependents for {tex^ | libbar->{tex/1,1}}
- trace: collect_build: add tex/1.0.0
trace: collect_build_prerequisites: reeval tex/1.0.0
%.*
trace: postponed_configurations::add: add {tex^ 1,1: libbar} to {tex^ | libbar->{tex/1,1}}
@@ -12948,6 +12979,7 @@ test.arguments += --sys-no-query
trace: collect_build_prerequisites: pre-reevaluated tex/1.0.0: 1,1
trace: collect_build: add libbar/1.0.0
trace: collect_build_prerequisites: cfg-postpone dependency libbar/1.0.0 of existing dependent tex/1.0.0 due to dependency libfoo/1.0.0
+ trace: collect_build: add tex/1.0.0
trace: postponed_configurations::add: create {tex^ | libbar->{tex/1,1}}
trace: collect_build_postponed (0): begin
trace: collect_build_postponed (1): begin {tex^ | libbar->{tex/1,1}}
@@ -12975,7 +13007,6 @@ test.arguments += --sys-no-query
trace: collect_build_postponed (1): select cfg-negotiated dependency alternative for dependent tix/1.0.0
trace: collect_build_prerequisites: resume tix/1.0.0
%.*
- trace: collect_build: add tex/1.0.0
trace: collect_build_prerequisites: cfg-postpone dependency tex/1.0.0 of dependent tix/1.0.0
trace: postponed_configurations::add: create {tix | tex->{tix/2,1}}
trace: collect_build_prerequisites: postpone tix/1.0.0
@@ -13024,7 +13055,7 @@ test.arguments += --sys-no-query
build plan:
upgrade libfoo/1.0.0
config.libfoo.extras=true (set by tex)
- reconfigure/update tex/1.0.0 (required by tix)
+ reconfigure/update tex/1.0.0 (dependent of libfoo)
config.tex.extras=true (set by tix)
reconfigure/update tix/1.0.0
trace: execute_plan: simulate: no
@@ -13087,6 +13118,7 @@ test.arguments += --sys-no-query
trace: collect_build_prerequisites: pre-reevaluated tex/1.0.0: 1,1
trace: collect_build: add libbar/1.0.0
trace: collect_build_prerequisites: cfg-postpone dependency libbar/1.0.0 of existing dependent tex/1.0.0 due to dependency libfoo/1.0.0
+ trace: collect_build: add tex/1.0.0
trace: postponed_configurations::add: create {tex^ | libbar->{tex/1,1}}
trace: collect_build_postponed (0): begin
trace: collect_build_postponed (1): begin {tex^ | libbar->{tex/1,1}}
@@ -13097,7 +13129,6 @@ test.arguments += --sys-no-query
trace: collect_build_prerequisites: pre-reeval tiz/1.0.0
%.*
trace: collect_build_prerequisites: pre-reevaluated tiz/1.0.0: 1,1
- trace: collect_build: add tex/1.0.0
trace: collect_build_postponed (1): re-evaluate existing dependents for {tex^ | libbar->{tex/1,1}}
trace: collect_build_prerequisites: reeval tex/1.0.0
%.*
@@ -13120,6 +13151,7 @@ test.arguments += --sys-no-query
trace: collect_build_prerequisites: pre-reevaluated tex/1.0.0: 1,1
trace: collect_build: add libbar/1.0.0
trace: collect_build_prerequisites: cfg-postpone dependency libbar/1.0.0 of existing dependent tex/1.0.0 due to dependency libfoo/1.0.0
+ trace: collect_build: add tex/1.0.0
trace: postponed_configurations::add: create {tex^ | libbar->{tex/1,1}}
trace: collect_build_postponed (0): begin
trace: collect_build_postponed (1): begin {tex^ | libbar->{tex/1,1}}
@@ -13131,7 +13163,6 @@ test.arguments += --sys-no-query
%.*
trace: collect_build_prerequisites: pre-reevaluated tiz/1.0.0: 1,1
trace: collect_build_postponed (1): skip dep-postponed existing dependent tex of dependency libbar
- trace: collect_build: add tex/1.0.0
trace: collect_build_postponed (1): re-evaluate existing dependents for {tex^ | libbar->{tex/1,1}}
trace: collect_build_prerequisites: reeval tiz/1.0.0
%.*
@@ -13167,7 +13198,6 @@ test.arguments += --sys-no-query
%.*
trace: collect_build_prerequisites: pre-reevaluated tiz/1.0.0: 1,1
trace: collect_build_postponed (1): skip dep-postponed existing dependent tex of dependency libbar
- trace: collect_build: add tex/1.0.0
trace: collect_build_postponed (1): re-evaluate existing dependents for {tex^ | libbar->{tex/1,1}}
trace: collect_build_prerequisites: reeval tiz/1.0.0
%.*
@@ -13230,7 +13260,7 @@ test.arguments += --sys-no-query
build plan:
upgrade libfoo/1.0.0
config.libfoo.extras=true (set by tex)
- reconfigure/update tex/1.0.0 (required by tiz)
+ reconfigure/update tex/1.0.0 (dependent of libfoo)
config.tex.extras=true (set by tiz)
reconfigure/update tiz/1.0.0
trace: execute_plan: simulate: no
@@ -13299,6 +13329,7 @@ test.arguments += --sys-no-query
%.*
trace: collect_build_prerequisites: pre-reevaluated diz/1.0.0: 1,1
trace: collect_build_prerequisites: cfg-postpone dependency libbar/1.0.0 of existing dependent bar/1.0.0 due to dependency libbar/1.0.0
+ trace: collect_build: add bar/1.0.0
trace: postponed_configurations::add: create {bar^ | libbar->{bar/1,1}}
trace: collect_build: add dox/1.0.0
trace: collect_build_prerequisites: cfg-postpone dependency dox/1.0.0 of existing dependent diz/1.0.0 due to dependency libbar/1.0.0
@@ -13314,7 +13345,6 @@ test.arguments += --sys-no-query
%.*
trace: collect_build_prerequisites: pre-reevaluated diz/1.0.0: 1,1
trace: collect_build_postponed (1): re-evaluate existing dependents for {bar^ | libbar->{bar/1,1}}
- trace: collect_build: add bar/1.0.0
trace: collect_build_prerequisites: reeval bar/1.0.0
%.*
trace: collect_build: pick libbar/1.0.0 over libbar/0.1.0
@@ -13380,6 +13410,7 @@ test.arguments += --sys-no-query
%.*
trace: collect_build_prerequisites: pre-reevaluated diz/1.0.0: 1,1
trace: collect_build_prerequisites: cfg-postpone dependency libbar/1.0.0 of existing dependent bar/1.0.0 due to dependency libbar/1.0.0
+ trace: collect_build: add bar/1.0.0
trace: postponed_configurations::add: create {bar^ | libbar->{bar/1,1}}
trace: collect_build: add dox/1.0.0
trace: collect_build_prerequisites: cfg-postpone dependency dox/1.0.0 of existing dependent diz/1.0.0 due to dependency libbar/1.0.0
@@ -13436,7 +13467,6 @@ test.arguments += --sys-no-query
trace: collect_build_postponed (3): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin dex/1.0.0
%.*
- trace: collect_build: add bar/1.0.0
trace: collect_build_prerequisites: cfg-postpone dependency bar/1.0.0 of dependent dex/1.0.0
trace: postponed_configurations::add: create {dex | bar->{dex/1,1}}
trace: collect_build_prerequisites: postpone dex/1.0.0
@@ -13511,7 +13541,6 @@ test.arguments += --sys-no-query
trace: collect_build_postponed (3): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin dex/1.0.0
%.*
- trace: collect_build: add bar/1.0.0
trace: collect_build_prerequisites: cfg-postpone dependency bar/1.0.0 of dependent dex/1.0.0
trace: postponed_configurations::add: create {dex | bar->{dex/1,1}}
trace: collect_build_prerequisites: postpone dex/1.0.0
@@ -13583,11 +13612,89 @@ test.arguments += --sys-no-query
%.*
trace: evaluate_dependency: libbox/0.1.0: update to libbox/1.0.0
%.*
- trace: pkg_build: refine package collection/plan execution
+ trace: pkg_build: refine package collection/plan execution from scratch
+ %.*
+ trace: collect_build: add libbar/1.0.0
+ trace: collect_build: add diz/1.0.0
+ %.*
+ trace: collect_build_prerequisites: pre-reeval bar/1.0.0
+ %.*
+ trace: collect_build_prerequisites: pre-reevaluated bar/1.0.0: 1,1
+ trace: collect_build_prerequisites: pre-reeval diz/1.0.0
+ %.*
+ trace: collect_build_prerequisites: pre-reevaluated diz/1.0.0: 1,1
+ trace: collect_build_prerequisites: cfg-postpone dependency libbar/1.0.0 of existing dependent bar/1.0.0 due to dependency libbar/1.0.0
+ trace: collect_build: add bar/1.0.0
+ trace: postponed_configurations::add: create {bar^ | libbar->{bar/1,1}}
+ trace: collect_build: add dox/1.0.0
+ trace: collect_build_prerequisites: cfg-postpone dependency dox/1.0.0 of existing dependent diz/1.0.0 due to dependency libbar/1.0.0
+ trace: postponed_configurations::add: create {diz^ | dox->{diz/1,1}}
+ trace: collect_build_prerequisites: skip configured diz/1.0.0
+ trace: collect_build: add libbox/1.0.0
+ %.*
+ trace: collect_build_prerequisites: pre-reeval diz/1.0.0
+ %.*
+ trace: collect_build_prerequisites: pre-reevaluated diz/1.0.0: 1,1
+ trace: collect_build_prerequisites: cfg-postpone dependency dox/1.0.0 of existing dependent diz/1.0.0 due to dependency libbox/1.0.0
+ trace: collect_build_postponed (0): begin
+ trace: collect_build_postponed (1): begin {bar^ | libbar->{bar/1,1}}
+ %.*
+ trace: collect_build_prerequisites: pre-reeval bar/1.0.0
+ %.*
+ trace: collect_build_prerequisites: pre-reevaluated bar/1.0.0: 1,1
+ trace: collect_build_prerequisites: pre-reeval diz/1.0.0
+ %.*
+ trace: collect_build_prerequisites: pre-reevaluated diz/1.0.0: 1,1
+ trace: collect_build_postponed (1): re-evaluate existing dependents for {bar^ | libbar->{bar/1,1}}
+ trace: collect_build_prerequisites: reeval bar/1.0.0
+ %.*
+ trace: collect_build: pick libbar/1.0.0 over libbar/0.1.0
+ trace: postponed_configurations::add: add {bar^ 1,1: libbar} to {bar^ | libbar->{bar/1,1}}
+ trace: collect_build_prerequisites: re-evaluating dependent bar/1.0.0 results in {bar^ | libbar->{bar/1,1}}
+ trace: collect_build_prerequisites: re-evaluated bar/1.0.0
+ trace: collect_build_prerequisites: reeval diz/1.0.0
+ %.*
+ trace: postponed_configurations::add: add {diz^ 1,1: dox} to {diz^ | dox->{diz/1,1}}
+ trace: collect_build_prerequisites: re-evaluating dependent diz/1.0.0 results in {diz^ | dox->{diz/1,1}}
+ trace: collect_build_prerequisites: re-evaluated diz/1.0.0
+ trace: collect_build_postponed (1): cfg-negotiate begin {bar^ | libbar->{bar/1,1}}
+ trace: collect_build_postponed (1): recursively collect cfg-negotiated dependencies
+ trace: collect_build_prerequisites: begin libbar/1.0.0
+ trace: collect_build_prerequisites: end libbar/1.0.0
+ trace: collect_build_postponed (1): recursively collect cfg-negotiated dependents
+ trace: collect_build_postponed (1): select cfg-negotiated dependency alternative for dependent bar/1.0.0
+ trace: collect_build_prerequisites: resume bar/1.0.0
+ trace: collect_build_prerequisites: end bar/1.0.0
+ trace: collect_build_postponed (1): cfg-negotiate end {bar^ | libbar->{bar/1,1}}!
+ trace: collect_build_postponed (2): begin {diz^ | dox->{diz/1,1}}
+ %.*
+ trace: collect_build_postponed (2): skip being built existing dependent diz of dependency dox
+ trace: collect_build_postponed (2): cfg-negotiate begin {diz^ | dox->{diz/1,1}}
+ trace: collect_build_postponed (2): recursively collect cfg-negotiated dependencies
+ trace: collect_build_prerequisites: begin dox/1.0.0
+ %.*
+ trace: collect_build: add dex/1.0.0
+ trace: collect_build_prerequisites: cfg-postpone dependency dex/1.0.0 of dependent dox/1.0.0
+ trace: postponed_configurations::add: create {dox | dex->{dox/1,1}}
+ trace: collect_build_prerequisites: postpone dox/1.0.0
+ trace: collect_build_postponed (2): recursively collect cfg-negotiated dependents
+ trace: collect_build_postponed (2): select cfg-negotiated dependency alternative for dependent diz/1.0.0
+ trace: collect_build_prerequisites: resume diz/1.0.0
%.*
trace: collect_build: pick libbox/1.0.0 over libbox/0.1.0
- trace: collect_build: libbox/0.1.0 package version needs to be replaced with libbox/1.0.0
- trace: pkg_build: collection failed due to package version replacement, retry from scratch
+ trace: collect_build_prerequisites: cfg-postpone dependency libbox/1.0.0 of dependent diz/1.0.0
+ trace: postponed_configurations::add: create {diz | libbox->{diz/2,1}}
+ trace: collect_build_prerequisites: postpone diz/1.0.0
+ trace: collect_build_postponed (2): cfg-negotiate end {diz^ | dox->{diz/1,1}}!
+ trace: collect_build_postponed (3): begin {dox | dex->{dox/1,1}}
+ %.*
+ trace: collect_build_postponed (3): skip being built existing dependent dox of dependency dex
+ trace: collect_build_postponed (3): cfg-negotiate begin {dox | dex->{dox/1,1}}
+ trace: collect_build_postponed (3): recursively collect cfg-negotiated dependencies
+ trace: collect_build_prerequisites: begin dex/1.0.0
+ %.*
+ trace: collect_build_prerequisites: cannot cfg-postpone dependency bar/1.0.0 of dependent dex/1.0.0 (collected prematurely), throwing postpone_dependency
+ trace: pkg_build: collection failed due to prematurely collected dependency (bar), retry from scratch
%.*
trace: pkg_build: refine package collection/plan execution from scratch
%.*
@@ -13601,13 +13708,12 @@ test.arguments += --sys-no-query
%.*
trace: collect_build_prerequisites: pre-reevaluated diz/1.0.0: 1,1
trace: collect_build_prerequisites: cfg-postpone dependency libbar/1.0.0 of existing dependent bar/1.0.0 due to dependency libbar/1.0.0
+ trace: collect_build: add bar/1.0.0
trace: postponed_configurations::add: create {bar^ | libbar->{bar/1,1}}
trace: collect_build: add dox/1.0.0
trace: collect_build_prerequisites: cfg-postpone dependency dox/1.0.0 of existing dependent diz/1.0.0 due to dependency libbar/1.0.0
trace: postponed_configurations::add: create {diz^ | dox->{diz/1,1}}
trace: collect_build_prerequisites: skip configured diz/1.0.0
- trace: collect_build: apply version replacement for libbox/1.0.0
- trace: collect_build: replacement: libbox/1.0.0
trace: collect_build: add libbox/1.0.0
%.*
trace: collect_build_prerequisites: pre-reeval diz/1.0.0
@@ -13665,7 +13771,6 @@ test.arguments += --sys-no-query
trace: collect_build_postponed (3): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin dex/1.0.0
%.*
- trace: collect_build: add bar/1.0.0
trace: collect_build_prerequisites: cfg-postpone dependency bar/1.0.0 of dependent dex/1.0.0
trace: postponed_configurations::add: create {dex | bar->{dex/1,1}}
trace: collect_build_prerequisites: postpone dex/1.0.0
@@ -13741,7 +13846,6 @@ test.arguments += --sys-no-query
trace: collect_build_postponed (3): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin dex/1.0.0
%.*
- trace: collect_build: add bar/1.0.0
trace: collect_build_prerequisites: cfg-postpone dependency bar/1.0.0 of dependent dex/1.0.0
trace: postponed_configurations::add: create {dex | bar->{dex/1,1}}
trace: collect_build_prerequisites: postpone dex/1.0.0
@@ -13814,7 +13918,7 @@ test.arguments += --sys-no-query
build plan:
upgrade libbar/1.0.0
config.libbar.extras=true (set by diz)
- reconfigure/update bar/1.0.0 (required by dex)
+ reconfigure/update bar/1.0.0 (dependent of libbar)
config.bar.extras=true (set by dex)
reconfigure/update dex/1.0.0 (required by dox)
config.dex.extras=true (set by dox)
@@ -13898,6 +14002,7 @@ test.arguments += --sys-no-query
%.*
trace: collect_build_prerequisites: pre-reevaluated diz/1.0.0: 1,1
trace: collect_build_prerequisites: cfg-postpone dependency libbar/1.0.0 of existing dependent bar/1.0.0 due to dependency libbar/1.0.0
+ trace: collect_build: add bar/1.0.0
trace: postponed_configurations::add: create {bar^ | libbar->{bar/1,1}}
trace: collect_build: add dox/1.0.0
trace: collect_build_prerequisites: cfg-postpone dependency dox/1.0.0 of existing dependent diz/1.0.0 due to dependency libbar/1.0.0
@@ -13914,7 +14019,6 @@ test.arguments += --sys-no-query
%.*
trace: collect_build_prerequisites: pre-reevaluated diz/1.0.0: 1,1
trace: collect_build_postponed (1): re-evaluate existing dependents for {bar^ | libbar->{bar/1,1}}
- trace: collect_build: add bar/1.0.0
trace: collect_build_prerequisites: reeval bar/1.0.0
%.*
trace: collect_build: pick libbar/1.0.0 over libbar/0.1.0
@@ -13960,6 +14064,7 @@ test.arguments += --sys-no-query
%.*
trace: collect_build_prerequisites: pre-reevaluated diz/1.0.0: 1,1
trace: collect_build_prerequisites: cfg-postpone dependency libbar/1.0.0 of existing dependent bar/1.0.0 due to dependency libbar/1.0.0
+ trace: collect_build: add bar/1.0.0
trace: postponed_configurations::add: create {bar^ | libbar->{bar/1,1}}
trace: collect_build: add dox/1.0.0
trace: collect_build_prerequisites: cfg-postpone dependency dox/1.0.0 of existing dependent diz/1.0.0 due to dependency libbar/1.0.0
@@ -13976,7 +14081,6 @@ test.arguments += --sys-no-query
%.*
trace: collect_build_prerequisites: pre-reevaluated diz/1.0.0: 1,1
trace: collect_build_postponed (1): re-evaluate existing dependents for {bar^ | libbar->{bar/1,1}}
- trace: collect_build: add bar/1.0.0
trace: collect_build_prerequisites: reeval bar/1.0.0
%.*
trace: collect_build: pick libbar/1.0.0 over libbar/0.1.0
@@ -14040,6 +14144,7 @@ test.arguments += --sys-no-query
%.*
trace: collect_build_prerequisites: pre-reevaluated diz/1.0.0: 1,1
trace: collect_build_prerequisites: cfg-postpone dependency libbar/1.0.0 of existing dependent bar/1.0.0 due to dependency libbar/1.0.0
+ trace: collect_build: add bar/1.0.0
trace: postponed_configurations::add: create {bar^ | libbar->{bar/1,1}}
trace: collect_build: add dox/1.0.0
trace: collect_build_prerequisites: cfg-postpone dependency dox/1.0.0 of existing dependent diz/1.0.0 due to dependency libbar/1.0.0
@@ -14096,7 +14201,6 @@ test.arguments += --sys-no-query
trace: collect_build_postponed (3): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin dex/1.0.0
%.*
- trace: collect_build: add bar/1.0.0
trace: collect_build_prerequisites: cfg-postpone dependency bar/1.0.0 of dependent dex/1.0.0
trace: postponed_configurations::add: create {dex | bar->{dex/1,1}}
trace: collect_build_prerequisites: postpone dex/1.0.0
@@ -14170,7 +14274,6 @@ test.arguments += --sys-no-query
trace: collect_build_postponed (3): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin dex/1.0.0
%.*
- trace: collect_build: add bar/1.0.0
trace: collect_build_prerequisites: cfg-postpone dependency bar/1.0.0 of dependent dex/1.0.0
trace: postponed_configurations::add: create {dex | bar->{dex/1,1}}
trace: collect_build_prerequisites: postpone dex/1.0.0
@@ -14243,7 +14346,7 @@ test.arguments += --sys-no-query
build plan:
upgrade libbar/1.0.0
config.libbar.extras=true (set by diz)
- reconfigure/update bar/1.0.0 (required by dex)
+ reconfigure/update bar/1.0.0 (dependent of libbar)
config.bar.extras=true (set by dex)
reconfigure/update dex/1.0.0
config.dex.extras=true (set by dox)
@@ -14311,8 +14414,8 @@ test.arguments += --sys-no-query
%.*
trace: collect_build_prerequisites: pre-reevaluated tiz/1.0.0: 1,1
trace: collect_build_prerequisites: cfg-postpone dependency libbar/1.0.0 of existing dependent tex/1.0.0 due to dependency libbar/1.0.0
- trace: postponed_configurations::add: create {tex^ | libbar->{tex/1,1}}
trace: collect_build: add tex/1.0.0
+ trace: postponed_configurations::add: create {tex^ | libbar->{tex/1,1}}
trace: collect_build_prerequisites: cfg-postpone dependency tex/1.0.0 of existing dependent tiz/1.0.0 due to dependency libbar/1.0.0
trace: postponed_configurations::add: create {tiz^ | tex->{tiz/1,1}}
trace: collect_build_prerequisites: skip configured tiz/1.0.0
@@ -14349,8 +14452,8 @@ test.arguments += --sys-no-query
%.*
trace: collect_build_prerequisites: pre-reevaluated tiz/1.0.0: 1,1
trace: collect_build_prerequisites: cfg-postpone dependency libbar/1.0.0 of existing dependent tex/1.0.0 due to dependency libbar/1.0.0
- trace: postponed_configurations::add: create {tex^ | libbar->{tex/1,1}}
trace: collect_build: add tex/1.0.0
+ trace: postponed_configurations::add: create {tex^ | libbar->{tex/1,1}}
trace: collect_build_prerequisites: cfg-postpone dependency tex/1.0.0 of existing dependent tiz/1.0.0 due to dependency libbar/1.0.0
trace: postponed_configurations::add: create {tiz^ | tex->{tiz/1,1}}
trace: collect_build_prerequisites: skip configured tiz/1.0.0
@@ -14465,7 +14568,7 @@ test.arguments += --sys-no-query
build plan:
upgrade libbar/1.0.0
config.libbar.extras=true (set by tex)
- reconfigure/update tex/1.0.0 (required by tiz)
+ reconfigure/update tex/1.0.0 (dependent of libbar)
config.tex.extras=true (set by tiz)
reconfigure/update tiz/1.0.0
trace: execute_plan: simulate: no
@@ -14484,6 +14587,944 @@ test.arguments += --sys-no-query
$pkg_drop tiz libbar --drop-dependent
}
+ : from-scratch-refinement-drop
+ :
+ {
+ $clone_cfg;
+
+ # Dependencies:
+ #
+ # tiz: depends: tex(c)
+ # depends: libbar(c)
+ #
+ # tex: depends: libbar(c)
+ # depends: libfoo(c)
+ #
+ # toz: depends: libbaz(c)
+ # depends: libfoo(c)
+ # depends: libbar(c)
+ #
+ # tez: depends: libbox(c)
+ # depends: toz == 0.1.0 (c)
+ # depends: libbar
+ #
+ # toz/0.1.0:
+ #
+ $* tiz toz 2>!;
+
+ $pkg_status -r >>EOO;
+ !tiz configured 1.0.0
+ libbar configured 1.0.0
+ tex configured 1.0.0
+ libbar configured 1.0.0
+ libfoo configured 1.0.0
+ !toz configured 1.0.0
+ libbar configured 1.0.0
+ libbaz configured 1.0.0
+ libfoo configured 1.0.0
+ EOO
+
+ $* tez 2>>~%EOE%;
+ %.*
+ trace: pkg_build: refine package collection/plan execution from scratch
+ %.*
+ trace: collect_build: add tez/1.0.0
+ trace: collect_build_prerequisites: begin tez/1.0.0
+ %.*
+ trace: collect_build: add libbox/1.0.0
+ trace: collect_build_prerequisites: cfg-postpone dependency libbox/1.0.0 of dependent tez/1.0.0
+ trace: postponed_configurations::add: create {tez | libbox->{tez/1,1}}
+ trace: collect_build_prerequisites: postpone tez/1.0.0
+ trace: collect_build_postponed (0): begin
+ trace: collect_build_postponed (1): begin {tez | libbox->{tez/1,1}}
+ %.*
+ trace: collect_build_postponed (1): cfg-negotiate begin {tez | libbox->{tez/1,1}}
+ %.*
+ trace: collect_build_postponed (1): recursively collect cfg-negotiated dependencies
+ trace: collect_build_prerequisites: begin libbox/1.0.0
+ trace: collect_build_prerequisites: end libbox/1.0.0
+ trace: collect_build_postponed (1): recursively collect cfg-negotiated dependents
+ trace: collect_build_postponed (1): select cfg-negotiated dependency alternative for dependent tez/1.0.0
+ trace: collect_build_prerequisites: resume tez/1.0.0
+ %.*
+ trace: collect_build: add toz/0.1.0
+ warning: package tez dependency on (toz == 0.1.0) is forcing downgrade of toz/1.0.0 to 0.1.0
+ trace: collect_build_prerequisites: cfg-postpone dependency toz/0.1.0 of dependent tez/1.0.0
+ trace: postponed_configurations::add: create {tez | toz->{tez/2,1}}
+ trace: collect_build_prerequisites: postpone tez/1.0.0
+ trace: collect_build_postponed (1): cfg-negotiate end {tez | libbox->{tez/1,1}}!
+ trace: collect_build_postponed (2): begin {tez | toz->{tez/2,1}}
+ %.*
+ trace: collect_build_postponed (2): cfg-negotiate begin {tez | toz->{tez/2,1}}
+ %.*
+ trace: collect_build_postponed (2): recursively collect cfg-negotiated dependencies
+ trace: collect_build_prerequisites: begin toz/0.1.0
+ trace: collect_build_prerequisites: end toz/0.1.0
+ trace: collect_build_postponed (2): recursively collect cfg-negotiated dependents
+ trace: collect_build_postponed (2): select cfg-negotiated dependency alternative for dependent tez/1.0.0
+ trace: collect_build_prerequisites: resume tez/1.0.0
+ %.*
+ trace: collect_build: add libbar/1.0.0
+ trace: collect_build_prerequisites: cfg-postpone dependency libbar/1.0.0 of dependent tez/1.0.0
+ trace: postponed_configurations::add: create {tez | libbar->{tez/3,1}}
+ trace: collect_build_prerequisites: postpone tez/1.0.0
+ trace: collect_build_postponed (2): cfg-negotiate end {tez | toz->{tez/2,1}}!
+ trace: collect_build_postponed (3): begin {tez | libbar->{tez/3,1}}
+ %.*
+ trace: collect_build_prerequisites: pre-reeval tex/1.0.0
+ %.*
+ trace: collect_build_prerequisites: pre-reevaluated tex/1.0.0: 1,1
+ %.*
+ trace: collect_build_prerequisites: pre-reeval tiz/1.0.0
+ %.*
+ trace: collect_build_prerequisites: pre-reevaluated tiz/1.0.0: 1,1
+ trace: collect_build_postponed (3): skip being built existing dependent toz of dependency libbar
+ trace: collect_build: add tex/1.0.0
+ trace: collect_build_postponed (3): re-evaluate existing dependents for {tez | libbar->{tez/3,1}}
+ trace: collect_build_prerequisites: reeval tex/1.0.0
+ %.*
+ trace: postponed_configurations::add: add {tex^ 1,1: libbar} to {tez | libbar->{tez/3,1}}
+ trace: collect_build_prerequisites: re-evaluating dependent tex/1.0.0 results in {tex^ tez | libbar->{tex/1,1 tez/3,1}}
+ trace: collect_build_prerequisites: re-evaluated tex/1.0.0
+ trace: collect_build: add tiz/1.0.0
+ trace: collect_build_prerequisites: reeval tiz/1.0.0
+ %.*
+ trace: collect_build_prerequisites: cannot re-evaluate existing dependent tiz/1.0.0 due to dependency tex/1.0.0 (collected prematurely), throwing postpone_dependency
+ trace: pkg_build: collection failed due to prematurely collected dependency (tex), retry from scratch
+ %.*
+ trace: pkg_build: refine package collection/plan execution from scratch
+ %.*
+ trace: collect_build: add tez/1.0.0
+ trace: collect_build_prerequisites: begin tez/1.0.0
+ %.*
+ trace: collect_build: add libbox/1.0.0
+ trace: collect_build_prerequisites: cfg-postpone dependency libbox/1.0.0 of dependent tez/1.0.0
+ trace: postponed_configurations::add: create {tez | libbox->{tez/1,1}}
+ trace: collect_build_prerequisites: postpone tez/1.0.0
+ trace: collect_build_postponed (0): begin
+ trace: collect_build_postponed (1): begin {tez | libbox->{tez/1,1}}
+ %.*
+ trace: collect_build_postponed (1): cfg-negotiate begin {tez | libbox->{tez/1,1}}
+ trace: collect_build_postponed (1): recursively collect cfg-negotiated dependencies
+ trace: collect_build_prerequisites: begin libbox/1.0.0
+ trace: collect_build_prerequisites: end libbox/1.0.0
+ trace: collect_build_postponed (1): recursively collect cfg-negotiated dependents
+ trace: collect_build_postponed (1): select cfg-negotiated dependency alternative for dependent tez/1.0.0
+ trace: collect_build_prerequisites: resume tez/1.0.0
+ %.*
+ trace: collect_build: add toz/0.1.0
+ warning: package tez dependency on (toz == 0.1.0) is forcing downgrade of toz/1.0.0 to 0.1.0
+ trace: collect_build_prerequisites: cfg-postpone dependency toz/0.1.0 of dependent tez/1.0.0
+ trace: postponed_configurations::add: create {tez | toz->{tez/2,1}}
+ trace: collect_build_prerequisites: postpone tez/1.0.0
+ trace: collect_build_postponed (1): cfg-negotiate end {tez | libbox->{tez/1,1}}!
+ trace: collect_build_postponed (2): begin {tez | toz->{tez/2,1}}
+ %.*
+ trace: collect_build_postponed (2): cfg-negotiate begin {tez | toz->{tez/2,1}}
+ trace: collect_build_postponed (2): recursively collect cfg-negotiated dependencies
+ trace: collect_build_prerequisites: begin toz/0.1.0
+ trace: collect_build_prerequisites: end toz/0.1.0
+ trace: collect_build_postponed (2): recursively collect cfg-negotiated dependents
+ trace: collect_build_postponed (2): select cfg-negotiated dependency alternative for dependent tez/1.0.0
+ trace: collect_build_prerequisites: resume tez/1.0.0
+ %.*
+ trace: collect_build: add libbar/1.0.0
+ trace: collect_build_prerequisites: cfg-postpone dependency libbar/1.0.0 of dependent tez/1.0.0
+ trace: postponed_configurations::add: create {tez | libbar->{tez/3,1}}
+ trace: collect_build_prerequisites: postpone tez/1.0.0
+ trace: collect_build_postponed (2): cfg-negotiate end {tez | toz->{tez/2,1}}!
+ trace: collect_build_postponed (3): begin {tez | libbar->{tez/3,1}}
+ %.*
+ trace: collect_build_prerequisites: pre-reeval tex/1.0.0
+ %.*
+ trace: collect_build_prerequisites: pre-reevaluated tex/1.0.0: 1,1
+ trace: collect_build_prerequisites: pre-reeval tiz/1.0.0
+ %.*
+ trace: collect_build_prerequisites: pre-reevaluated tiz/1.0.0: 1,1
+ trace: collect_build_postponed (3): skip being built existing dependent toz of dependency libbar
+ trace: collect_build_postponed (3): skip dep-postponed existing dependent tex of dependency libbar
+ trace: collect_build: add tex/1.0.0
+ trace: collect_build_postponed (3): re-evaluate existing dependents for {tez | libbar->{tez/3,1}}
+ trace: collect_build: add tiz/1.0.0
+ trace: collect_build_prerequisites: reeval tiz/1.0.0
+ %.*
+ trace: postponed_configurations::add: create {tiz^ | tex->{tiz/1,1}}
+ trace: collect_build_prerequisites: re-evaluating dependent tiz/1.0.0 results in {tiz^ | tex->{tiz/1,1}}
+ trace: collect_build_prerequisites: re-evaluated tiz/1.0.0
+ trace: collect_build_postponed (3): cfg-negotiate begin {tez | libbar->{tez/3,1}}
+ %.*
+ trace: collect_build_postponed (3): recursively collect cfg-negotiated dependencies
+ trace: collect_build_prerequisites: skip configured libbar/1.0.0
+ trace: collect_build_postponed (3): recursively collect cfg-negotiated dependents
+ trace: collect_build_postponed (3): select cfg-negotiated dependency alternative for dependent tez/1.0.0
+ trace: collect_build_prerequisites: resume tez/1.0.0
+ trace: collect_build_prerequisites: end tez/1.0.0
+ trace: collect_build_postponed (3): cfg-negotiate end {tez | libbar->{tez/3,1}}!
+ trace: collect_build_postponed (4): begin {tiz^ | tex->{tiz/1,1}}
+ %.*
+ trace: collect_build_postponed (4): skip being built existing dependent tiz of dependency tex
+ trace: collect_build_postponed (4): cfg-negotiate begin {tiz^ | tex->{tiz/1,1}}
+ %.*
+ trace: collect_build_postponed (4): recursively collect cfg-negotiated dependencies
+ trace: collect_build_prerequisites: begin tex/1.0.0
+ %.*
+ trace: collect_build_prerequisites: cfg-postpone dependency libbar/1.0.0 of dependent tex/1.0.0
+ trace: postponed_configurations::add: add {tex 1,1: libbar} to {tez | libbar->{tez/3,1}}!
+ trace: collect_build_prerequisites: configuration for cfg-postponed dependencies of dependent tex/1.0.0 is negotiated
+ trace: collect_build_prerequisites: dependency libbar/1.0.0 of dependent tex/1.0.0 is already (being) recursively collected, skipping
+ %.*
+ trace: collect_build: add libfoo/1.0.0
+ trace: collect_build_prerequisites: cfg-postpone dependency libfoo/1.0.0 of dependent tex/1.0.0
+ trace: postponed_configurations::add: create {tex | libfoo->{tex/2,1}}
+ trace: collect_build_prerequisites: postpone tex/1.0.0
+ trace: collect_build_postponed (4): recursively collect cfg-negotiated dependents
+ trace: collect_build_postponed (4): select cfg-negotiated dependency alternative for dependent tiz/1.0.0
+ trace: collect_build_prerequisites: resume tiz/1.0.0
+ %.*
+ trace: collect_build_prerequisites: cfg-postpone dependency libbar/1.0.0 of dependent tiz/1.0.0
+ trace: postponed_configurations::add: add {tiz 2,1: libbar} to {tex tez | libbar->{tex/1,1 tez/3,1}}!
+ trace: collect_build_prerequisites: configuration for cfg-postponed dependencies of dependent tiz/1.0.0 is negotiated
+ trace: collect_build_prerequisites: dependency libbar/1.0.0 of dependent tiz/1.0.0 is already (being) recursively collected, skipping
+ trace: collect_build_prerequisites: end tiz/1.0.0
+ trace: collect_build_postponed (4): cfg-negotiate end {tiz^ | tex->{tiz/1,1}}!
+ trace: collect_build_postponed (5): begin {tex | libfoo->{tex/2,1}}
+ %.*
+ trace: collect_build_postponed (5): skip being built existing dependent tex of dependency libfoo
+ trace: collect_build_postponed (5): skip being built existing dependent toz of dependency libfoo
+ trace: collect_build_postponed (5): cfg-negotiate begin {tex | libfoo->{tex/2,1}}
+ %.*
+ trace: collect_build_postponed (5): recursively collect cfg-negotiated dependencies
+ trace: collect_build_prerequisites: skip configured libfoo/1.0.0
+ trace: collect_build_postponed (5): recursively collect cfg-negotiated dependents
+ trace: collect_build_postponed (5): select cfg-negotiated dependency alternative for dependent tex/1.0.0
+ trace: collect_build_prerequisites: resume tex/1.0.0
+ trace: collect_build_prerequisites: end tex/1.0.0
+ trace: collect_build_postponed (5): cfg-negotiate end {tex | libfoo->{tex/2,1}}!
+ trace: collect_build_postponed (5): end {tex | libfoo->{tex/2,1}}
+ trace: collect_build_postponed (4): end {tiz^ | tex->{tiz/1,1}}
+ trace: collect_build_postponed (3): end {tez | libbar->{tez/3,1}}
+ trace: collect_build_postponed (2): end {tez | toz->{tez/2,1}}
+ trace: collect_build_postponed (1): end {tez | libbox->{tez/1,1}}
+ trace: collect_build_postponed (0): end
+ %.*
+ trace: execute_plan: simulate: yes
+ %.*
+ trace: evaluate_dependency: libbaz/1.0.0: unused
+ %.*
+ trace: pkg_build: refine package collection/plan execution from scratch
+ %.*
+ trace: collect_build: add tez/1.0.0
+ trace: collect_build_prerequisites: begin tez/1.0.0
+ %.*
+ trace: collect_build: add libbox/1.0.0
+ trace: collect_build_prerequisites: cfg-postpone dependency libbox/1.0.0 of dependent tez/1.0.0
+ trace: postponed_configurations::add: create {tez | libbox->{tez/1,1}}
+ trace: collect_build_prerequisites: postpone tez/1.0.0
+ trace: collect_drop: add libbaz
+ trace: collect_build_postponed (0): begin
+ trace: collect_build_postponed (1): begin {tez | libbox->{tez/1,1}}
+ %.*
+ trace: collect_build_postponed (1): cfg-negotiate begin {tez | libbox->{tez/1,1}}
+ trace: collect_build_postponed (1): recursively collect cfg-negotiated dependencies
+ trace: collect_build_prerequisites: begin libbox/1.0.0
+ trace: collect_build_prerequisites: end libbox/1.0.0
+ trace: collect_build_postponed (1): recursively collect cfg-negotiated dependents
+ trace: collect_build_postponed (1): select cfg-negotiated dependency alternative for dependent tez/1.0.0
+ trace: collect_build_prerequisites: resume tez/1.0.0
+ %.*
+ trace: collect_build: add toz/0.1.0
+ warning: package tez dependency on (toz == 0.1.0) is forcing downgrade of toz/1.0.0 to 0.1.0
+ trace: collect_build_prerequisites: cfg-postpone dependency toz/0.1.0 of dependent tez/1.0.0
+ trace: postponed_configurations::add: create {tez | toz->{tez/2,1}}
+ trace: collect_build_prerequisites: postpone tez/1.0.0
+ trace: collect_build_postponed (1): cfg-negotiate end {tez | libbox->{tez/1,1}}!
+ trace: collect_build_postponed (2): begin {tez | toz->{tez/2,1}}
+ %.*
+ trace: collect_build_postponed (2): cfg-negotiate begin {tez | toz->{tez/2,1}}
+ trace: collect_build_postponed (2): recursively collect cfg-negotiated dependencies
+ trace: collect_build_prerequisites: begin toz/0.1.0
+ trace: collect_build_prerequisites: end toz/0.1.0
+ trace: collect_build_postponed (2): recursively collect cfg-negotiated dependents
+ trace: collect_build_postponed (2): select cfg-negotiated dependency alternative for dependent tez/1.0.0
+ trace: collect_build_prerequisites: resume tez/1.0.0
+ %.*
+ trace: collect_build: add libbar/1.0.0
+ trace: collect_build_prerequisites: cfg-postpone dependency libbar/1.0.0 of dependent tez/1.0.0
+ trace: postponed_configurations::add: create {tez | libbar->{tez/3,1}}
+ trace: collect_build_prerequisites: postpone tez/1.0.0
+ trace: collect_build_postponed (2): cfg-negotiate end {tez | toz->{tez/2,1}}!
+ trace: collect_build_postponed (3): begin {tez | libbar->{tez/3,1}}
+ %.*
+ trace: collect_build_prerequisites: pre-reeval tex/1.0.0
+ %.*
+ trace: collect_build_prerequisites: pre-reevaluated tex/1.0.0: 1,1
+ trace: collect_build_prerequisites: pre-reeval tiz/1.0.0
+ %.*
+ trace: collect_build_prerequisites: pre-reevaluated tiz/1.0.0: 1,1
+ trace: collect_build_postponed (3): skip being built existing dependent toz of dependency libbar
+ trace: collect_build: add tex/1.0.0
+ trace: collect_build_postponed (3): re-evaluate existing dependents for {tez | libbar->{tez/3,1}}
+ trace: collect_build_prerequisites: reeval tex/1.0.0
+ %.*
+ trace: postponed_configurations::add: add {tex^ 1,1: libbar} to {tez | libbar->{tez/3,1}}
+ trace: collect_build_prerequisites: re-evaluating dependent tex/1.0.0 results in {tex^ tez | libbar->{tex/1,1 tez/3,1}}
+ trace: collect_build_prerequisites: re-evaluated tex/1.0.0
+ trace: collect_build: add tiz/1.0.0
+ trace: collect_build_prerequisites: reeval tiz/1.0.0
+ %.*
+ trace: collect_build_prerequisites: cannot re-evaluate existing dependent tiz/1.0.0 due to dependency tex/1.0.0 (collected prematurely), throwing postpone_dependency
+ trace: pkg_build: collection failed due to prematurely collected dependency (tex), retry from scratch
+ %.*
+ trace: pkg_build: refine package collection/plan execution from scratch
+ %.*
+ trace: collect_build: add tez/1.0.0
+ trace: collect_build_prerequisites: begin tez/1.0.0
+ %.*
+ trace: collect_build: add libbox/1.0.0
+ trace: collect_build_prerequisites: cfg-postpone dependency libbox/1.0.0 of dependent tez/1.0.0
+ trace: postponed_configurations::add: create {tez | libbox->{tez/1,1}}
+ trace: collect_build_prerequisites: postpone tez/1.0.0
+ trace: collect_drop: add libbaz
+ trace: collect_build_postponed (0): begin
+ trace: collect_build_postponed (1): begin {tez | libbox->{tez/1,1}}
+ %.*
+ trace: collect_build_postponed (1): cfg-negotiate begin {tez | libbox->{tez/1,1}}
+ trace: collect_build_postponed (1): recursively collect cfg-negotiated dependencies
+ trace: collect_build_prerequisites: begin libbox/1.0.0
+ trace: collect_build_prerequisites: end libbox/1.0.0
+ trace: collect_build_postponed (1): recursively collect cfg-negotiated dependents
+ trace: collect_build_postponed (1): select cfg-negotiated dependency alternative for dependent tez/1.0.0
+ trace: collect_build_prerequisites: resume tez/1.0.0
+ %.*
+ trace: collect_build: add toz/0.1.0
+ warning: package tez dependency on (toz == 0.1.0) is forcing downgrade of toz/1.0.0 to 0.1.0
+ trace: collect_build_prerequisites: cfg-postpone dependency toz/0.1.0 of dependent tez/1.0.0
+ trace: postponed_configurations::add: create {tez | toz->{tez/2,1}}
+ trace: collect_build_prerequisites: postpone tez/1.0.0
+ trace: collect_build_postponed (1): cfg-negotiate end {tez | libbox->{tez/1,1}}!
+ trace: collect_build_postponed (2): begin {tez | toz->{tez/2,1}}
+ %.*
+ trace: collect_build_postponed (2): cfg-negotiate begin {tez | toz->{tez/2,1}}
+ trace: collect_build_postponed (2): recursively collect cfg-negotiated dependencies
+ trace: collect_build_prerequisites: begin toz/0.1.0
+ trace: collect_build_prerequisites: end toz/0.1.0
+ trace: collect_build_postponed (2): recursively collect cfg-negotiated dependents
+ trace: collect_build_postponed (2): select cfg-negotiated dependency alternative for dependent tez/1.0.0
+ trace: collect_build_prerequisites: resume tez/1.0.0
+ %.*
+ trace: collect_build: add libbar/1.0.0
+ trace: collect_build_prerequisites: cfg-postpone dependency libbar/1.0.0 of dependent tez/1.0.0
+ trace: postponed_configurations::add: create {tez | libbar->{tez/3,1}}
+ trace: collect_build_prerequisites: postpone tez/1.0.0
+ trace: collect_build_postponed (2): cfg-negotiate end {tez | toz->{tez/2,1}}!
+ trace: collect_build_postponed (3): begin {tez | libbar->{tez/3,1}}
+ %.*
+ trace: collect_build_prerequisites: pre-reeval tex/1.0.0
+ %.*
+ trace: collect_build_prerequisites: pre-reevaluated tex/1.0.0: 1,1
+ trace: collect_build_prerequisites: pre-reeval tiz/1.0.0
+ %.*
+ trace: collect_build_prerequisites: pre-reevaluated tiz/1.0.0: 1,1
+ trace: collect_build_postponed (3): skip being built existing dependent toz of dependency libbar
+ trace: collect_build_postponed (3): skip dep-postponed existing dependent tex of dependency libbar
+ trace: collect_build: add tex/1.0.0
+ trace: collect_build_postponed (3): re-evaluate existing dependents for {tez | libbar->{tez/3,1}}
+ trace: collect_build: add tiz/1.0.0
+ trace: collect_build_prerequisites: reeval tiz/1.0.0
+ %.*
+ trace: postponed_configurations::add: create {tiz^ | tex->{tiz/1,1}}
+ trace: collect_build_prerequisites: re-evaluating dependent tiz/1.0.0 results in {tiz^ | tex->{tiz/1,1}}
+ trace: collect_build_prerequisites: re-evaluated tiz/1.0.0
+ trace: collect_build_postponed (3): cfg-negotiate begin {tez | libbar->{tez/3,1}}
+ trace: collect_build_postponed (3): recursively collect cfg-negotiated dependencies
+ trace: collect_build_prerequisites: skip configured libbar/1.0.0
+ trace: collect_build_postponed (3): recursively collect cfg-negotiated dependents
+ trace: collect_build_postponed (3): select cfg-negotiated dependency alternative for dependent tez/1.0.0
+ trace: collect_build_prerequisites: resume tez/1.0.0
+ trace: collect_build_prerequisites: end tez/1.0.0
+ trace: collect_build_postponed (3): cfg-negotiate end {tez | libbar->{tez/3,1}}!
+ trace: collect_build_postponed (4): begin {tiz^ | tex->{tiz/1,1}}
+ %.*
+ trace: collect_build_postponed (4): skip being built existing dependent tiz of dependency tex
+ trace: collect_build_postponed (4): cfg-negotiate begin {tiz^ | tex->{tiz/1,1}}
+ trace: collect_build_postponed (4): recursively collect cfg-negotiated dependencies
+ trace: collect_build_prerequisites: begin tex/1.0.0
+ %.*
+ trace: collect_build_prerequisites: cfg-postpone dependency libbar/1.0.0 of dependent tex/1.0.0
+ trace: postponed_configurations::add: add {tex 1,1: libbar} to {tez | libbar->{tez/3,1}}!
+ trace: collect_build_prerequisites: configuration for cfg-postponed dependencies of dependent tex/1.0.0 is negotiated
+ trace: collect_build_prerequisites: dependency libbar/1.0.0 of dependent tex/1.0.0 is already (being) recursively collected, skipping
+ %.*
+ trace: collect_build: add libfoo/1.0.0
+ trace: collect_build_prerequisites: cfg-postpone dependency libfoo/1.0.0 of dependent tex/1.0.0
+ trace: postponed_configurations::add: create {tex | libfoo->{tex/2,1}}
+ trace: collect_build_prerequisites: postpone tex/1.0.0
+ trace: collect_build_postponed (4): recursively collect cfg-negotiated dependents
+ trace: collect_build_postponed (4): select cfg-negotiated dependency alternative for dependent tiz/1.0.0
+ trace: collect_build_prerequisites: resume tiz/1.0.0
+ %.*
+ trace: collect_build_prerequisites: cfg-postpone dependency libbar/1.0.0 of dependent tiz/1.0.0
+ trace: postponed_configurations::add: add {tiz 2,1: libbar} to {tex tez | libbar->{tex/1,1 tez/3,1}}!
+ trace: collect_build_prerequisites: configuration for cfg-postponed dependencies of dependent tiz/1.0.0 is negotiated
+ trace: collect_build_prerequisites: dependency libbar/1.0.0 of dependent tiz/1.0.0 is already (being) recursively collected, skipping
+ trace: collect_build_prerequisites: end tiz/1.0.0
+ trace: collect_build_postponed (4): cfg-negotiate end {tiz^ | tex->{tiz/1,1}}!
+ trace: collect_build_postponed (5): begin {tex | libfoo->{tex/2,1}}
+ %.*
+ trace: collect_build_postponed (5): skip being built existing dependent tex of dependency libfoo
+ trace: collect_build_postponed (5): skip being built existing dependent toz of dependency libfoo
+ trace: collect_build_postponed (5): cfg-negotiate begin {tex | libfoo->{tex/2,1}}
+ trace: collect_build_postponed (5): recursively collect cfg-negotiated dependencies
+ trace: collect_build_prerequisites: skip configured libfoo/1.0.0
+ trace: collect_build_postponed (5): recursively collect cfg-negotiated dependents
+ trace: collect_build_postponed (5): select cfg-negotiated dependency alternative for dependent tex/1.0.0
+ trace: collect_build_prerequisites: resume tex/1.0.0
+ trace: collect_build_prerequisites: end tex/1.0.0
+ trace: collect_build_postponed (5): cfg-negotiate end {tex | libfoo->{tex/2,1}}!
+ trace: collect_build_postponed (5): end {tex | libfoo->{tex/2,1}}
+ trace: collect_build_postponed (4): end {tiz^ | tex->{tiz/1,1}}
+ trace: collect_build_postponed (3): end {tez | libbar->{tez/3,1}}
+ trace: collect_build_postponed (2): end {tez | toz->{tez/2,1}}
+ trace: collect_build_postponed (1): end {tez | libbox->{tez/1,1}}
+ trace: collect_build_postponed (0): end
+ %.*
+ trace: execute_plan: simulate: yes
+ %.*
+ build plan:
+ new libbox/1.0.0 (required by tez)
+ config.libbox.extras=true (set by tez)
+ drop libbaz/1.0.0 (unused)
+ downgrade toz/0.1.0 (required by tez)
+ config.toz.extras=true (set by tez)
+ new tez/1.0.0
+ trace: execute_plan: simulate: no
+ %.*
+ EOE
+
+ $pkg_status -r >>EOO;
+ !tiz configured 1.0.0
+ libbar configured 1.0.0
+ tex configured 1.0.0
+ libbar configured 1.0.0
+ libfoo configured 1.0.0
+ !toz configured 0.1.0 available 1.0.0 0.2.0
+ !tez configured 1.0.0
+ libbar configured 1.0.0
+ libbox configured 1.0.0
+ !toz configured 0.1.0 available 1.0.0 0.2.0
+ EOO
+
+ $pkg_drop tiz toz tez
+ }
+
+ : from-scratch-refinement-upgrade
+ :
+ {
+ $clone_cfg;
+
+ # Dependencies:
+ #
+ # tiz: depends: tex(c)
+ # depends: libbar(c)
+ #
+ # tex: depends: libbar(c)
+ # depends: libfoo(c)
+ #
+ # tez: depends: libbox(c)
+ # depends: toz == 0.1.0 (c)
+ #
+ # toz/0.1.0:
+ #
+ # tuz: depends: toz (c)
+ #
+ # tix: depends: libbar(c)
+ # depends: tex(c)
+ #
+ # toz/1.0.0: depends: libbaz(c)
+ # depends: libfoo(c)
+ # depends: libbar(c)
+ #
+ $* tiz tez/0.1.0 tuz 2>!;
+
+ $pkg_status -r >>EOO;
+ !tiz configured 1.0.0
+ libbar configured 1.0.0
+ tex configured 1.0.0
+ libbar configured 1.0.0
+ libfoo configured 1.0.0
+ !tez configured !0.1.0 available 1.0.0
+ libbox configured 1.0.0
+ toz configured 0.1.0 available 1.0.0 0.2.0
+ !tuz configured 1.0.0
+ toz configured 0.1.0 available 1.0.0 0.2.0
+ EOO
+
+ $* tix ?tez ?toz 2>>~%EOE%;
+ %.*
+ trace: pkg_build: refine package collection/plan execution from scratch
+ %.*
+ trace: collect_build: add tix/1.0.0
+ trace: collect_build_prerequisites: begin tix/1.0.0
+ %.*
+ trace: collect_build: add libbar/1.0.0
+ trace: collect_build_prerequisites: cfg-postpone dependency libbar/1.0.0 of dependent tix/1.0.0
+ trace: postponed_configurations::add: create {tix | libbar->{tix/1,1}}
+ trace: collect_build_prerequisites: postpone tix/1.0.0
+ trace: collect_build_postponed (0): begin
+ trace: collect_build_postponed (1): begin {tix | libbar->{tix/1,1}}
+ %.*
+ trace: collect_build_prerequisites: pre-reeval tex/1.0.0
+ %.*
+ trace: collect_build_prerequisites: pre-reevaluated tex/1.0.0: 1,1
+ %.*
+ trace: collect_build_prerequisites: pre-reeval tiz/1.0.0
+ %.*
+ trace: collect_build_prerequisites: pre-reevaluated tiz/1.0.0: 1,1
+ trace: collect_build: add tex/1.0.0
+ trace: collect_build_postponed (1): re-evaluate existing dependents for {tix | libbar->{tix/1,1}}
+ trace: collect_build_prerequisites: reeval tex/1.0.0
+ %.*
+ trace: postponed_configurations::add: add {tex^ 1,1: libbar} to {tix | libbar->{tix/1,1}}
+ trace: collect_build_prerequisites: re-evaluating dependent tex/1.0.0 results in {tex^ tix | libbar->{tex/1,1 tix/1,1}}
+ trace: collect_build_prerequisites: re-evaluated tex/1.0.0
+ trace: collect_build: add tiz/1.0.0
+ trace: collect_build_prerequisites: reeval tiz/1.0.0
+ %.*
+ trace: collect_build_prerequisites: cannot re-evaluate existing dependent tiz/1.0.0 due to dependency tex/1.0.0 (collected prematurely), throwing postpone_dependency
+ trace: pkg_build: collection failed due to prematurely collected dependency (tex), retry from scratch
+ %.*
+ trace: pkg_build: refine package collection/plan execution from scratch
+ %.*
+ trace: collect_build: add tix/1.0.0
+ trace: collect_build_prerequisites: begin tix/1.0.0
+ %.*
+ trace: collect_build: add libbar/1.0.0
+ trace: collect_build_prerequisites: cfg-postpone dependency libbar/1.0.0 of dependent tix/1.0.0
+ trace: postponed_configurations::add: create {tix | libbar->{tix/1,1}}
+ trace: collect_build_prerequisites: postpone tix/1.0.0
+ trace: collect_build_postponed (0): begin
+ trace: collect_build_postponed (1): begin {tix | libbar->{tix/1,1}}
+ %.*
+ trace: collect_build_prerequisites: pre-reeval tex/1.0.0
+ %.*
+ trace: collect_build_prerequisites: pre-reevaluated tex/1.0.0: 1,1
+ trace: collect_build_prerequisites: pre-reeval tiz/1.0.0
+ %.*
+ trace: collect_build_prerequisites: pre-reevaluated tiz/1.0.0: 1,1
+ trace: collect_build_postponed (1): skip dep-postponed existing dependent tex of dependency libbar
+ trace: collect_build: add tex/1.0.0
+ trace: collect_build_postponed (1): re-evaluate existing dependents for {tix | libbar->{tix/1,1}}
+ trace: collect_build: add tiz/1.0.0
+ trace: collect_build_prerequisites: reeval tiz/1.0.0
+ %.*
+ trace: postponed_configurations::add: create {tiz^ | tex->{tiz/1,1}}
+ trace: collect_build_prerequisites: re-evaluating dependent tiz/1.0.0 results in {tiz^ | tex->{tiz/1,1}}
+ trace: collect_build_prerequisites: re-evaluated tiz/1.0.0
+ trace: collect_build_postponed (1): cfg-negotiate begin {tix | libbar->{tix/1,1}}
+ %.*
+ trace: collect_build_postponed (1): recursively collect cfg-negotiated dependencies
+ trace: collect_build_prerequisites: skip configured libbar/1.0.0
+ trace: collect_build_postponed (1): recursively collect cfg-negotiated dependents
+ trace: collect_build_postponed (1): select cfg-negotiated dependency alternative for dependent tix/1.0.0
+ trace: collect_build_prerequisites: resume tix/1.0.0
+ %.*
+ trace: collect_build_prerequisites: cfg-postpone dependency tex/1.0.0 of dependent tix/1.0.0
+ trace: postponed_configurations::add: add {tix 2,1: tex} to {tiz^ | tex->{tiz/1,1}}
+ trace: collect_build_prerequisites: postpone tix/1.0.0
+ trace: collect_build_postponed (1): cfg-negotiate end {tix | libbar->{tix/1,1}}!
+ trace: collect_build_postponed (2): begin {tix tiz^ | tex->{tix/2,1 tiz/1,1}}
+ %.*
+ trace: collect_build_postponed (2): skip being built existing dependent tiz of dependency tex
+ trace: collect_build_postponed (2): cfg-negotiate begin {tix tiz^ | tex->{tix/2,1 tiz/1,1}}
+ %.*
+ trace: collect_build_postponed (2): recursively collect cfg-negotiated dependencies
+ trace: collect_build_prerequisites: begin tex/1.0.0
+ %.*
+ trace: collect_build_prerequisites: cfg-postpone dependency libbar/1.0.0 of dependent tex/1.0.0
+ trace: postponed_configurations::add: add {tex 1,1: libbar} to {tix | libbar->{tix/1,1}}!
+ trace: collect_build_prerequisites: configuration for cfg-postponed dependencies of dependent tex/1.0.0 is negotiated
+ trace: collect_build_prerequisites: dependency libbar/1.0.0 of dependent tex/1.0.0 is already (being) recursively collected, skipping
+ %.*
+ trace: collect_build: add libfoo/1.0.0
+ trace: collect_build_prerequisites: cfg-postpone dependency libfoo/1.0.0 of dependent tex/1.0.0
+ trace: postponed_configurations::add: create {tex | libfoo->{tex/2,1}}
+ trace: collect_build_prerequisites: postpone tex/1.0.0
+ trace: collect_build_postponed (2): recursively collect cfg-negotiated dependents
+ trace: collect_build_postponed (2): select cfg-negotiated dependency alternative for dependent tix/1.0.0
+ trace: collect_build_prerequisites: resume tix/1.0.0
+ trace: collect_build_prerequisites: end tix/1.0.0
+ trace: collect_build_postponed (2): select cfg-negotiated dependency alternative for dependent tiz/1.0.0
+ trace: collect_build_prerequisites: resume tiz/1.0.0
+ %.*
+ trace: collect_build_prerequisites: cfg-postpone dependency libbar/1.0.0 of dependent tiz/1.0.0
+ trace: postponed_configurations::add: add {tiz 2,1: libbar} to {tex tix | libbar->{tex/1,1 tix/1,1}}!
+ trace: collect_build_prerequisites: configuration for cfg-postponed dependencies of dependent tiz/1.0.0 is negotiated
+ trace: collect_build_prerequisites: dependency libbar/1.0.0 of dependent tiz/1.0.0 is already (being) recursively collected, skipping
+ trace: collect_build_prerequisites: end tiz/1.0.0
+ trace: collect_build_postponed (2): cfg-negotiate end {tix tiz^ | tex->{tix/2,1 tiz/1,1}}!
+ trace: collect_build_postponed (3): begin {tex | libfoo->{tex/2,1}}
+ %.*
+ trace: collect_build_postponed (3): skip being built existing dependent tex of dependency libfoo
+ trace: collect_build_postponed (3): cfg-negotiate begin {tex | libfoo->{tex/2,1}}
+ %.*
+ trace: collect_build_postponed (3): recursively collect cfg-negotiated dependencies
+ trace: collect_build_prerequisites: skip configured libfoo/1.0.0
+ trace: collect_build_postponed (3): recursively collect cfg-negotiated dependents
+ trace: collect_build_postponed (3): select cfg-negotiated dependency alternative for dependent tex/1.0.0
+ trace: collect_build_prerequisites: resume tex/1.0.0
+ trace: collect_build_prerequisites: end tex/1.0.0
+ trace: collect_build_postponed (3): cfg-negotiate end {tex | libfoo->{tex/2,1}}!
+ trace: collect_build_postponed (3): end {tex | libfoo->{tex/2,1}}
+ trace: collect_build_postponed (2): end {tix tiz^ | tex->{tix/2,1 tiz/1,1}}
+ trace: collect_build_postponed (1): end {tix | libbar->{tix/1,1}}
+ trace: collect_build_postponed (0): end
+ trace: execute_plan: simulate: yes
+ %.*
+ trace: evaluate_dependency: tez/0.1.0: unused
+ %.*
+ trace: pkg_build: refine package collection/plan execution from scratch
+ %.*
+ trace: collect_build: add tix/1.0.0
+ trace: collect_build_prerequisites: begin tix/1.0.0
+ %.*
+ trace: collect_build: add libbar/1.0.0
+ trace: collect_build_prerequisites: cfg-postpone dependency libbar/1.0.0 of dependent tix/1.0.0
+ trace: postponed_configurations::add: create {tix | libbar->{tix/1,1}}
+ trace: collect_build_prerequisites: postpone tix/1.0.0
+ trace: collect_drop: overwrite tez
+ trace: collect_build_postponed (0): begin
+ trace: collect_build_postponed (1): begin {tix | libbar->{tix/1,1}}
+ %.*
+ trace: collect_build_prerequisites: pre-reeval tex/1.0.0
+ %.*
+ trace: collect_build_prerequisites: pre-reevaluated tex/1.0.0: 1,1
+ trace: collect_build_prerequisites: pre-reeval tiz/1.0.0
+ %.*
+ trace: collect_build_prerequisites: pre-reevaluated tiz/1.0.0: 1,1
+ trace: collect_build: add tex/1.0.0
+ trace: collect_build_postponed (1): re-evaluate existing dependents for {tix | libbar->{tix/1,1}}
+ trace: collect_build_prerequisites: reeval tex/1.0.0
+ %.*
+ trace: postponed_configurations::add: add {tex^ 1,1: libbar} to {tix | libbar->{tix/1,1}}
+ trace: collect_build_prerequisites: re-evaluating dependent tex/1.0.0 results in {tex^ tix | libbar->{tex/1,1 tix/1,1}}
+ trace: collect_build_prerequisites: re-evaluated tex/1.0.0
+ trace: collect_build: add tiz/1.0.0
+ trace: collect_build_prerequisites: reeval tiz/1.0.0
+ %.*
+ trace: collect_build_prerequisites: cannot re-evaluate existing dependent tiz/1.0.0 due to dependency tex/1.0.0 (collected prematurely), throwing postpone_dependency
+ trace: pkg_build: collection failed due to prematurely collected dependency (tex), retry from scratch
+ %.*
+ trace: pkg_build: refine package collection/plan execution from scratch
+ %.*
+ trace: collect_build: add tix/1.0.0
+ trace: collect_build_prerequisites: begin tix/1.0.0
+ %.*
+ trace: collect_build: add libbar/1.0.0
+ trace: collect_build_prerequisites: cfg-postpone dependency libbar/1.0.0 of dependent tix/1.0.0
+ trace: postponed_configurations::add: create {tix | libbar->{tix/1,1}}
+ trace: collect_build_prerequisites: postpone tix/1.0.0
+ trace: collect_drop: overwrite tez
+ trace: collect_build_postponed (0): begin
+ trace: collect_build_postponed (1): begin {tix | libbar->{tix/1,1}}
+ %.*
+ trace: collect_build_prerequisites: pre-reeval tex/1.0.0
+ %.*
+ trace: collect_build_prerequisites: pre-reevaluated tex/1.0.0: 1,1
+ trace: collect_build_prerequisites: pre-reeval tiz/1.0.0
+ %.*
+ trace: collect_build_prerequisites: pre-reevaluated tiz/1.0.0: 1,1
+ trace: collect_build_postponed (1): skip dep-postponed existing dependent tex of dependency libbar
+ trace: collect_build: add tex/1.0.0
+ trace: collect_build_postponed (1): re-evaluate existing dependents for {tix | libbar->{tix/1,1}}
+ trace: collect_build: add tiz/1.0.0
+ trace: collect_build_prerequisites: reeval tiz/1.0.0
+ %.*
+ trace: postponed_configurations::add: create {tiz^ | tex->{tiz/1,1}}
+ trace: collect_build_prerequisites: re-evaluating dependent tiz/1.0.0 results in {tiz^ | tex->{tiz/1,1}}
+ trace: collect_build_prerequisites: re-evaluated tiz/1.0.0
+ trace: collect_build_postponed (1): cfg-negotiate begin {tix | libbar->{tix/1,1}}
+ trace: collect_build_postponed (1): recursively collect cfg-negotiated dependencies
+ trace: collect_build_prerequisites: skip configured libbar/1.0.0
+ trace: collect_build_postponed (1): recursively collect cfg-negotiated dependents
+ trace: collect_build_postponed (1): select cfg-negotiated dependency alternative for dependent tix/1.0.0
+ trace: collect_build_prerequisites: resume tix/1.0.0
+ %.*
+ trace: collect_build_prerequisites: cfg-postpone dependency tex/1.0.0 of dependent tix/1.0.0
+ trace: postponed_configurations::add: add {tix 2,1: tex} to {tiz^ | tex->{tiz/1,1}}
+ trace: collect_build_prerequisites: postpone tix/1.0.0
+ trace: collect_build_postponed (1): cfg-negotiate end {tix | libbar->{tix/1,1}}!
+ trace: collect_build_postponed (2): begin {tix tiz^ | tex->{tix/2,1 tiz/1,1}}
+ %.*
+ trace: collect_build_postponed (2): skip being built existing dependent tiz of dependency tex
+ trace: collect_build_postponed (2): cfg-negotiate begin {tix tiz^ | tex->{tix/2,1 tiz/1,1}}
+ trace: collect_build_postponed (2): recursively collect cfg-negotiated dependencies
+ trace: collect_build_prerequisites: begin tex/1.0.0
+ %.*
+ trace: collect_build_prerequisites: cfg-postpone dependency libbar/1.0.0 of dependent tex/1.0.0
+ trace: postponed_configurations::add: add {tex 1,1: libbar} to {tix | libbar->{tix/1,1}}!
+ trace: collect_build_prerequisites: configuration for cfg-postponed dependencies of dependent tex/1.0.0 is negotiated
+ trace: collect_build_prerequisites: dependency libbar/1.0.0 of dependent tex/1.0.0 is already (being) recursively collected, skipping
+ %.*
+ trace: collect_build: add libfoo/1.0.0
+ trace: collect_build_prerequisites: cfg-postpone dependency libfoo/1.0.0 of dependent tex/1.0.0
+ trace: postponed_configurations::add: create {tex | libfoo->{tex/2,1}}
+ trace: collect_build_prerequisites: postpone tex/1.0.0
+ trace: collect_build_postponed (2): recursively collect cfg-negotiated dependents
+ trace: collect_build_postponed (2): select cfg-negotiated dependency alternative for dependent tix/1.0.0
+ trace: collect_build_prerequisites: resume tix/1.0.0
+ trace: collect_build_prerequisites: end tix/1.0.0
+ trace: collect_build_postponed (2): select cfg-negotiated dependency alternative for dependent tiz/1.0.0
+ trace: collect_build_prerequisites: resume tiz/1.0.0
+ %.*
+ trace: collect_build_prerequisites: cfg-postpone dependency libbar/1.0.0 of dependent tiz/1.0.0
+ trace: postponed_configurations::add: add {tiz 2,1: libbar} to {tex tix | libbar->{tex/1,1 tix/1,1}}!
+ trace: collect_build_prerequisites: configuration for cfg-postponed dependencies of dependent tiz/1.0.0 is negotiated
+ trace: collect_build_prerequisites: dependency libbar/1.0.0 of dependent tiz/1.0.0 is already (being) recursively collected, skipping
+ trace: collect_build_prerequisites: end tiz/1.0.0
+ trace: collect_build_postponed (2): cfg-negotiate end {tix tiz^ | tex->{tix/2,1 tiz/1,1}}!
+ trace: collect_build_postponed (3): begin {tex | libfoo->{tex/2,1}}
+ %.*
+ trace: collect_build_postponed (3): skip being built existing dependent tex of dependency libfoo
+ trace: collect_build_postponed (3): cfg-negotiate begin {tex | libfoo->{tex/2,1}}
+ trace: collect_build_postponed (3): recursively collect cfg-negotiated dependencies
+ trace: collect_build_prerequisites: skip configured libfoo/1.0.0
+ trace: collect_build_postponed (3): recursively collect cfg-negotiated dependents
+ trace: collect_build_postponed (3): select cfg-negotiated dependency alternative for dependent tex/1.0.0
+ trace: collect_build_prerequisites: resume tex/1.0.0
+ trace: collect_build_prerequisites: end tex/1.0.0
+ trace: collect_build_postponed (3): cfg-negotiate end {tex | libfoo->{tex/2,1}}!
+ trace: collect_build_postponed (3): end {tex | libfoo->{tex/2,1}}
+ trace: collect_build_postponed (2): end {tix tiz^ | tex->{tix/2,1 tiz/1,1}}
+ trace: collect_build_postponed (1): end {tix | libbar->{tix/1,1}}
+ trace: collect_build_postponed (0): end
+ trace: execute_plan: simulate: yes
+ %.*
+ trace: evaluate_dependency: libbox/1.0.0: unused
+ %.*
+ trace: evaluate_dependency: toz/0.1.0: update to toz/1.0.0
+ %.*
+ trace: pkg_build: refine package collection/plan execution from scratch
+ %.*
+ trace: collect_build: add tix/1.0.0
+ trace: collect_build_prerequisites: begin tix/1.0.0
+ %.*
+ trace: collect_build: add libbar/1.0.0
+ trace: collect_build_prerequisites: cfg-postpone dependency libbar/1.0.0 of dependent tix/1.0.0
+ trace: postponed_configurations::add: create {tix | libbar->{tix/1,1}}
+ trace: collect_build_prerequisites: postpone tix/1.0.0
+ trace: collect_drop: overwrite tez
+ trace: collect_drop: add libbox
+ %.*
+ trace: collect_build_prerequisites: skip being dropped existing dependent tez of dependency toz
+ trace: collect_build_prerequisites: pre-reeval tuz/1.0.0
+ %.*
+ trace: collect_build_prerequisites: pre-reevaluated tuz/1.0.0: 1,1
+ trace: collect_build_prerequisites: cfg-postpone dependency toz/1.0.0 of existing dependent tuz/1.0.0 due to dependency toz/1.0.0
+ trace: collect_build: add tuz/1.0.0
+ trace: postponed_configurations::add: create {tuz^ | toz->{tuz/1,1}}
+ trace: collect_build_postponed (0): begin
+ trace: collect_build_postponed (1): begin {tix | libbar->{tix/1,1}}
+ %.*
+ trace: collect_build_prerequisites: pre-reeval tex/1.0.0
+ %.*
+ trace: collect_build_prerequisites: pre-reevaluated tex/1.0.0: 1,1
+ trace: collect_build_prerequisites: pre-reeval tiz/1.0.0
+ %.*
+ trace: collect_build_prerequisites: pre-reevaluated tiz/1.0.0: 1,1
+ trace: collect_build: add tex/1.0.0
+ trace: collect_build_postponed (1): re-evaluate existing dependents for {tix | libbar->{tix/1,1}}
+ trace: collect_build_prerequisites: reeval tex/1.0.0
+ %.*
+ trace: postponed_configurations::add: add {tex^ 1,1: libbar} to {tix | libbar->{tix/1,1}}
+ trace: collect_build_prerequisites: re-evaluating dependent tex/1.0.0 results in {tex^ tix | libbar->{tex/1,1 tix/1,1}}
+ trace: collect_build_prerequisites: re-evaluated tex/1.0.0
+ trace: collect_build: add tiz/1.0.0
+ trace: collect_build_prerequisites: reeval tiz/1.0.0
+ %.*
+ trace: collect_build_prerequisites: cannot re-evaluate existing dependent tiz/1.0.0 due to dependency tex/1.0.0 (collected prematurely), throwing postpone_dependency
+ trace: pkg_build: collection failed due to prematurely collected dependency (tex), retry from scratch
+ %.*
+ trace: pkg_build: refine package collection/plan execution from scratch
+ %.*
+ trace: collect_build: add tix/1.0.0
+ trace: collect_build_prerequisites: begin tix/1.0.0
+ %.*
+ trace: collect_build: add libbar/1.0.0
+ trace: collect_build_prerequisites: cfg-postpone dependency libbar/1.0.0 of dependent tix/1.0.0
+ trace: postponed_configurations::add: create {tix | libbar->{tix/1,1}}
+ trace: collect_build_prerequisites: postpone tix/1.0.0
+ trace: collect_drop: overwrite tez
+ trace: collect_drop: add libbox
+ %.*
+ trace: collect_build_prerequisites: skip being dropped existing dependent tez of dependency toz
+ trace: collect_build_prerequisites: pre-reeval tuz/1.0.0
+ %.*
+ trace: collect_build_prerequisites: pre-reevaluated tuz/1.0.0: 1,1
+ trace: collect_build_prerequisites: cfg-postpone dependency toz/1.0.0 of existing dependent tuz/1.0.0 due to dependency toz/1.0.0
+ trace: collect_build: add tuz/1.0.0
+ trace: postponed_configurations::add: create {tuz^ | toz->{tuz/1,1}}
+ trace: collect_build_postponed (0): begin
+ trace: collect_build_postponed (1): begin {tix | libbar->{tix/1,1}}
+ %.*
+ trace: collect_build_prerequisites: pre-reeval tex/1.0.0
+ %.*
+ trace: collect_build_prerequisites: pre-reevaluated tex/1.0.0: 1,1
+ trace: collect_build_prerequisites: pre-reeval tiz/1.0.0
+ %.*
+ trace: collect_build_prerequisites: pre-reevaluated tiz/1.0.0: 1,1
+ trace: collect_build_postponed (1): skip dep-postponed existing dependent tex of dependency libbar
+ trace: collect_build: add tex/1.0.0
+ trace: collect_build_postponed (1): re-evaluate existing dependents for {tix | libbar->{tix/1,1}}
+ trace: collect_build: add tiz/1.0.0
+ trace: collect_build_prerequisites: reeval tiz/1.0.0
+ %.*
+ trace: postponed_configurations::add: create {tiz^ | tex->{tiz/1,1}}
+ trace: collect_build_prerequisites: re-evaluating dependent tiz/1.0.0 results in {tiz^ | tex->{tiz/1,1}}
+ trace: collect_build_prerequisites: re-evaluated tiz/1.0.0
+ trace: collect_build_postponed (1): cfg-negotiate begin {tix | libbar->{tix/1,1}}
+ trace: collect_build_postponed (1): recursively collect cfg-negotiated dependencies
+ trace: collect_build_prerequisites: skip configured libbar/1.0.0
+ trace: collect_build_postponed (1): recursively collect cfg-negotiated dependents
+ trace: collect_build_postponed (1): select cfg-negotiated dependency alternative for dependent tix/1.0.0
+ trace: collect_build_prerequisites: resume tix/1.0.0
+ %.*
+ trace: collect_build_prerequisites: cfg-postpone dependency tex/1.0.0 of dependent tix/1.0.0
+ trace: postponed_configurations::add: add {tix 2,1: tex} to {tiz^ | tex->{tiz/1,1}}
+ trace: collect_build_prerequisites: postpone tix/1.0.0
+ trace: collect_build_postponed (1): cfg-negotiate end {tix | libbar->{tix/1,1}}!
+ trace: collect_build_postponed (2): begin {tuz^ | toz->{tuz/1,1}}
+ %.*
+ trace: collect_build_postponed (2): skip being dropped existing dependent tez of dependency toz
+ trace: collect_build_prerequisites: pre-reeval tuz/1.0.0
+ %.*
+ trace: collect_build_prerequisites: pre-reevaluated tuz/1.0.0: 1,1
+ trace: collect_build_postponed (2): re-evaluate existing dependents for {tuz^ | toz->{tuz/1,1}}
+ trace: collect_build_prerequisites: reeval tuz/1.0.0
+ %.*
+ trace: collect_build: pick toz/1.0.0 over toz/0.1.0
+ trace: postponed_configurations::add: add {tuz^ 1,1: toz} to {tuz^ | toz->{tuz/1,1}}
+ trace: collect_build_prerequisites: re-evaluating dependent tuz/1.0.0 results in {tuz^ | toz->{tuz/1,1}}
+ trace: collect_build_prerequisites: re-evaluated tuz/1.0.0
+ trace: collect_build_postponed (2): cfg-negotiate begin {tuz^ | toz->{tuz/1,1}}
+ %.*
+ trace: collect_build_postponed (2): recursively collect cfg-negotiated dependencies
+ trace: collect_build_prerequisites: begin toz/1.0.0
+ %.*
+ trace: collect_build: add libbaz/1.0.0
+ trace: collect_build_prerequisites: cfg-postpone dependency libbaz/1.0.0 of dependent toz/1.0.0
+ trace: postponed_configurations::add: create {toz | libbaz->{toz/1,1}}
+ trace: collect_build_prerequisites: postpone toz/1.0.0
+ trace: collect_build_postponed (2): recursively collect cfg-negotiated dependents
+ trace: collect_build_postponed (2): select cfg-negotiated dependency alternative for dependent tuz/1.0.0
+ trace: collect_build_prerequisites: resume tuz/1.0.0
+ trace: collect_build_prerequisites: end tuz/1.0.0
+ trace: collect_build_postponed (2): cfg-negotiate end {tuz^ | toz->{tuz/1,1}}!
+ trace: collect_build_postponed (3): begin {tix tiz^ | tex->{tix/2,1 tiz/1,1}}
+ %.*
+ trace: collect_build_postponed (3): skip being built existing dependent tiz of dependency tex
+ trace: collect_build_postponed (3): cfg-negotiate begin {tix tiz^ | tex->{tix/2,1 tiz/1,1}}
+ trace: collect_build_postponed (3): recursively collect cfg-negotiated dependencies
+ trace: collect_build_prerequisites: begin tex/1.0.0
+ %.*
+ trace: collect_build_prerequisites: cfg-postpone dependency libbar/1.0.0 of dependent tex/1.0.0
+ trace: postponed_configurations::add: add {tex 1,1: libbar} to {tix | libbar->{tix/1,1}}!
+ trace: collect_build_prerequisites: configuration for cfg-postponed dependencies of dependent tex/1.0.0 is negotiated
+ trace: collect_build_prerequisites: dependency libbar/1.0.0 of dependent tex/1.0.0 is already (being) recursively collected, skipping
+ %.*
+ trace: collect_build: add libfoo/1.0.0
+ trace: collect_build_prerequisites: cfg-postpone dependency libfoo/1.0.0 of dependent tex/1.0.0
+ trace: postponed_configurations::add: create {tex | libfoo->{tex/2,1}}
+ trace: collect_build_prerequisites: postpone tex/1.0.0
+ trace: collect_build_postponed (3): recursively collect cfg-negotiated dependents
+ trace: collect_build_postponed (3): select cfg-negotiated dependency alternative for dependent tix/1.0.0
+ trace: collect_build_prerequisites: resume tix/1.0.0
+ trace: collect_build_prerequisites: end tix/1.0.0
+ trace: collect_build_postponed (3): select cfg-negotiated dependency alternative for dependent tiz/1.0.0
+ trace: collect_build_prerequisites: resume tiz/1.0.0
+ %.*
+ trace: collect_build_prerequisites: cfg-postpone dependency libbar/1.0.0 of dependent tiz/1.0.0
+ trace: postponed_configurations::add: add {tiz 2,1: libbar} to {tex tix | libbar->{tex/1,1 tix/1,1}}!
+ trace: collect_build_prerequisites: configuration for cfg-postponed dependencies of dependent tiz/1.0.0 is negotiated
+ trace: collect_build_prerequisites: dependency libbar/1.0.0 of dependent tiz/1.0.0 is already (being) recursively collected, skipping
+ trace: collect_build_prerequisites: end tiz/1.0.0
+ trace: collect_build_postponed (3): cfg-negotiate end {tix tiz^ | tex->{tix/2,1 tiz/1,1}}!
+ trace: collect_build_postponed (4): begin {toz | libbaz->{toz/1,1}}
+ %.*
+ trace: collect_build_postponed (4): cfg-negotiate begin {toz | libbaz->{toz/1,1}}
+ %.*
+ trace: collect_build_postponed (4): recursively collect cfg-negotiated dependencies
+ trace: collect_build_prerequisites: begin libbaz/1.0.0
+ trace: collect_build_prerequisites: end libbaz/1.0.0
+ trace: collect_build_postponed (4): recursively collect cfg-negotiated dependents
+ trace: collect_build_postponed (4): select cfg-negotiated dependency alternative for dependent toz/1.0.0
+ trace: collect_build_prerequisites: resume toz/1.0.0
+ %.*
+ trace: collect_build_prerequisites: cfg-postpone dependency libfoo/1.0.0 of dependent toz/1.0.0
+ trace: postponed_configurations::add: add {toz 2,1: libfoo} to {tex | libfoo->{tex/2,1}}
+ trace: collect_build_prerequisites: postpone toz/1.0.0
+ trace: collect_build_postponed (4): cfg-negotiate end {toz | libbaz->{toz/1,1}}!
+ trace: collect_build_postponed (5): begin {tex toz | libfoo->{tex/2,1 toz/2,1}}
+ %.*
+ trace: collect_build_postponed (5): skip being built existing dependent tex of dependency libfoo
+ trace: collect_build_postponed (5): cfg-negotiate begin {tex toz | libfoo->{tex/2,1 toz/2,1}}
+ trace: collect_build_postponed (5): recursively collect cfg-negotiated dependencies
+ trace: collect_build_prerequisites: skip configured libfoo/1.0.0
+ trace: collect_build_postponed (5): recursively collect cfg-negotiated dependents
+ trace: collect_build_postponed (5): select cfg-negotiated dependency alternative for dependent tex/1.0.0
+ trace: collect_build_prerequisites: resume tex/1.0.0
+ trace: collect_build_prerequisites: end tex/1.0.0
+ trace: collect_build_postponed (5): select cfg-negotiated dependency alternative for dependent toz/1.0.0
+ trace: collect_build_prerequisites: resume toz/1.0.0
+ %.*
+ trace: collect_build_prerequisites: cfg-postpone dependency libbar/1.0.0 of dependent toz/1.0.0
+ trace: postponed_configurations::add: add {toz 3,1: libbar} to {tex tix tiz | libbar->{tex/1,1 tix/1,1 tiz/2,1}}!
+ trace: collect_build_prerequisites: configuration for cfg-postponed dependencies of dependent toz/1.0.0 is negotiated
+ trace: collect_build_prerequisites: dependency libbar/1.0.0 of dependent toz/1.0.0 is already (being) recursively collected, skipping
+ trace: collect_build_prerequisites: end toz/1.0.0
+ trace: collect_build_postponed (5): cfg-negotiate end {tex toz | libfoo->{tex/2,1 toz/2,1}}!
+ trace: collect_build_postponed (5): end {tex toz | libfoo->{tex/2,1 toz/2,1}}
+ trace: collect_build_postponed (4): end {toz | libbaz->{toz/1,1}}
+ trace: collect_build_postponed (3): end {tix tiz^ | tex->{tix/2,1 tiz/1,1}}
+ trace: collect_build_postponed (2): end {tuz^ | toz->{tuz/1,1}}
+ trace: collect_build_postponed (1): end {tix | libbar->{tix/1,1}}
+ trace: collect_build_postponed (0): end
+ %.*
+ trace: execute_plan: simulate: yes
+ %.*
+ build plan:
+ new libbaz/1.0.0 (required by toz)
+ config.libbaz.extras=true (set by toz)
+ new tix/1.0.0
+ upgrade toz/1.0.0
+ config.toz.extras=true (set by tuz)
+ reconfigure tuz/1.0.0 (dependent of toz)
+ drop libbox/1.0.0 (unused)
+ drop tez/0.1.0 (unused)
+ trace: execute_plan: simulate: no
+ %.*
+ EOE
+
+ $pkg_status -r >>EOO;
+ !tiz configured 1.0.0
+ libbar configured 1.0.0
+ tex configured 1.0.0
+ libbar configured 1.0.0
+ libfoo configured 1.0.0
+ !tuz configured 1.0.0
+ toz configured 1.0.0
+ libbar configured 1.0.0
+ libbaz configured 1.0.0
+ libfoo configured 1.0.0
+ !tix configured 1.0.0
+ libbar configured 1.0.0
+ tex configured 1.0.0
+ libbar configured 1.0.0
+ libfoo configured 1.0.0
+ EOO
+
+ $pkg_drop tiz tuz tix
+ }
+
: all-repo-packages
:
: Don't match the tracing but just make sure that pkg-build doesn't crash