aboutsummaryrefslogtreecommitdiff
path: root/tests/pkg-build.testscript
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2022-04-27 16:08:09 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2022-04-29 15:11:25 +0300
commit114a809fbf1d36c3fc6a78aac27120ccb1d85064 (patch)
treec8402662e8b398aec9d83f01e398ee7c24581aed /tests/pkg-build.testscript
parent0d10817e8ddcbe91e0826f74a150894f03b8401c (diff)
Add initial support for negotiating dependency configuration with existing dependents
Diffstat (limited to 'tests/pkg-build.testscript')
-rw-r--r--tests/pkg-build.testscript423
1 files changed, 401 insertions, 22 deletions
diff --git a/tests/pkg-build.testscript b/tests/pkg-build.testscript
index 79cce38..fc41224 100644
--- a/tests/pkg-build.testscript
+++ b/tests/pkg-build.testscript
@@ -195,19 +195,27 @@
# | |-- buz-1.0.0.tar.gz -> bux {require {config.bux.extras=true}}
# | |-- tax-1.0.0.tar.gz -> libbar {require {config.libbar.extras=true}},
# | | libfoo
+# | |-- tex-0.1.0.tar.gz -> libfoo {require {config.libfoo.extras=true}}
+# | |-- tex-0.2.0.tar.gz -> libbar,
+# | | libfoo {require {config.libfoo.extras=true}}
+# | |-- tex-0.3.0.tar.gz -> libbar {require {config.libbar.extras=true}},
+# | | libfoo {require {config.libfoo.extras=true}}
# | |-- tex-1.0.0.tar.gz -> libbar {require {config.libbar.extras=true}},
# | | libfoo {require {config.libfoo.extras=true}}
+# | |-- tix-0.1.0.tar.gz
# | |-- tix-1.0.0.tar.gz -> libbar {require {config.libbar.extras=true}},
# | | tex {require {config.tex.extras=true}}
# | |-- tiz-1.0.0.tar.gz -> tex {require {config.tex.extras=true}},
# | | libbar {require {config.libbar.extras=true}}
+# | |-- toz-0.1.0.tar.gz
# | |-- toz-1.0.0.tar.gz -> libbaz {require {config.libbaz.extras=true}},
# | | libfoo {require {config.libfoo.extras=true}},
# | | libbar {require {config.libbar.extras=true}}
-# | |-- toz-0.1.0.tar.gz
# | |-- 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}}
+# | |-- 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}},
# | | libfoo {require {config.libfoo.extras=true}}
# | |-- dix-1.0.0.tar.gz -> libbar {require {config.libbar.extras=true}},
@@ -4671,6 +4679,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: end fux/1.0.0
trace: collect_build_postponed (0): begin
trace: collect_build_postponed (1): begin
+ %.*
trace: collect_build_postponed (1): cfg-negotiate begin {foo fox | libfoo->{foo/1 fox/1}}
trace: collect_build_postponed (1): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libfoo/1.0.0
@@ -5062,6 +5071,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: postpone fix/1.0.0
trace: collect_build_postponed (0): begin
trace: collect_build_postponed (1): begin
+ %.*
trace: collect_build_postponed (1): cfg-negotiate begin {fix | foo->{fix/1}}
trace: collect_build_postponed (1): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin foo/1.0.0
@@ -5113,6 +5123,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: postpone fix/1.0.0
trace: collect_build_postponed (0): begin
trace: collect_build_postponed (1): begin
+ %.*
trace: collect_build_postponed (1): cfg-negotiate begin {fix | foo->{fix/1}}
trace: collect_build_postponed (1): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin foo/1.0.0
@@ -5127,6 +5138,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: end fix/1.0.0
trace: collect_build_postponed (1): cfg-negotiate end {fix | foo->{fix/1}}
trace: collect_build_postponed (2): begin
+ %.*
trace: collect_build_postponed (2): cfg-negotiate begin {foo | libfoo->{foo/1}}
trace: collect_build_postponed (2): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libfoo/1.0.0
@@ -5214,22 +5226,21 @@ test.options += --no-progress
{
$clone_cfg;
- $* foo 2>!;
-#\
$* foo 2>>~%EOE%;
%.*
- trace: pkg_build: refine execution plan from scratch
+ trace: pkg_build: refine package collection/plan execution from scratch
%.*
trace: collect_build: add foo/1.0.0
trace: collect_build_prerequisites: begin foo/1.0.0
%.*
trace: collect_build: add libfoo/1.0.0
trace: collect_build_prerequisites: cfg-postpone dependency libfoo/1.0.0 of dependent foo/1.0.0
- trace: postponed_configurations::add: create {foo | libfoo}
+ trace: postponed_configurations::add: create {foo | libfoo->{foo/1}}
trace: collect_build_prerequisites: postpone foo/1.0.0
trace: collect_build_postponed (0): begin
trace: collect_build_postponed (1): begin
- trace: collect_build_postponed (1): cfg-negotiate begin {foo | libfoo}
+ %.*
+ trace: collect_build_postponed (1): cfg-negotiate begin {foo | libfoo->{foo/1}}
trace: collect_build_postponed (1): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libfoo/1.0.0
trace: collect_build_prerequisites: end libfoo/1.0.0
@@ -5238,66 +5249,73 @@ test.options += --no-progress
%.*
trace: collect_build_prerequisites: skip cfg-negotiated dependency libfoo/1.0.0 of dependent foo/1.0.0
trace: collect_build_prerequisites: end foo/1.0.0
- trace: collect_build_postponed (1): cfg-negotiate end {foo | libfoo}
+ trace: collect_build_postponed (1): cfg-negotiate end {foo | libfoo->{foo/1}}
trace: collect_build_postponed (1): end
trace: collect_build_postponed (0): end
trace: execute_plan: simulate: yes
%.*
EOE
-#\
# Upgrade the dependency.
#
- $* ?libfoo/0.1.0 2>!;
-#\
$* ?libfoo/0.1.0 2>>~%EOE%;
%.*
- trace: pkg_build: refine execution plan
+ trace: pkg_build: refine package collection/plan execution from scratch
+ %.*
+ trace: execute_plan: simulate: yes
+ %.*
+ trace: evaluate_dependency: libfoo/1.0.0: update to libfoo/0.1.0
+ %.*
+ trace: pkg_build: refine package collection/plan execution
%.*
trace: collect_build_prerequisites: cfg-postpone dependency libfoo/0.1.0 of existing dependent foo/1.0.0
- trace: postponed_configurations::add: create { | libfoo}
+ trace: postponed_configurations::add: create { | libfoo->{}}
trace: collect_build_postponed (0): begin
trace: collect_build_postponed (1): begin
- trace: collect_build_postponed (1): cfg-negotiate begin { | libfoo}
+ %.*
+ trace: collect_build_postponed (1): re-evaluate existing dependents
+ trace: collect_build: add foo/1.0.0
+ trace: postponed_configurations::add: add {foo | libfoo->{foo/1}} to { | libfoo->{}}
+ trace: collect_build_postponed (1): cfg-negotiate begin {foo | libfoo->{foo/1}}
trace: collect_build_postponed (1): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libfoo/0.1.0
trace: collect_build_prerequisites: end libfoo/0.1.0
trace: collect_build_postponed (1): recursively collect cfg-negotiated dependents
- trace: collect_build_postponed (1): cfg-negotiate end { | libfoo}
+ trace: collect_build_postponed (1): cfg-negotiate end {foo | libfoo->{foo/1}}
trace: collect_build_postponed (1): end
trace: collect_build_postponed (0): end
%.*
trace: execute_plan: simulate: yes
%.*
EOE
-#\
# Reconfigure the dependency.
#
- $* libfoo/0.1.0 +{ config.libfoo.extras=true } 2>!;
-#\
$* libfoo/0.1.0 +{ config.libfoo.extras=true } 2>>~%EOE%;
%.*
- trace: pkg_build: refine execution plan from scratch
+ trace: pkg_build: refine package collection/plan execution from scratch
%.*
trace: collect_build: add libfoo/0.1.0
%.*
trace: collect_build_prerequisites: cfg-postpone dependency libfoo/0.1.0 of existing dependent foo/1.0.0
- trace: postponed_configurations::add: create { | libfoo}
+ trace: postponed_configurations::add: create { | libfoo->{}}
trace: collect_build_postponed (0): begin
trace: collect_build_postponed (1): begin
- trace: collect_build_postponed (1): cfg-negotiate begin { | libfoo}
+ %.*
+ trace: collect_build_postponed (1): re-evaluate existing dependents
+ trace: collect_build: add foo/1.0.0
+ trace: postponed_configurations::add: add {foo | libfoo->{foo/1}} to { | libfoo->{}}
+ trace: collect_build_postponed (1): cfg-negotiate begin {foo | libfoo->{foo/1}}
trace: collect_build_postponed (1): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: skip configured libfoo/0.1.0
trace: collect_build_postponed (1): recursively collect cfg-negotiated dependents
- trace: collect_build_postponed (1): cfg-negotiate end { | libfoo}
+ trace: collect_build_postponed (1): cfg-negotiate end {foo | libfoo->{foo/1}}
trace: collect_build_postponed (1): end
trace: collect_build_postponed (0): end
%.*
trace: execute_plan: simulate: yes
%.*
EOE
-#\
$pkg_status -r >>EOO;
!libfoo configured !0.1.0 available 1.0.0
@@ -6385,6 +6403,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: postpone tez/1.0.0
trace: collect_build_postponed (0): begin
trace: collect_build_postponed (1): begin
+ %.*
trace: collect_build_postponed (1): cfg-negotiate begin {tax | libbar->{tax/1}}
trace: collect_build_postponed (1): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbar/1.0.0
@@ -6401,6 +6420,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: end tax/1.0.0
trace: collect_build_postponed (1): cfg-negotiate end {tax | libbar->{tax/1}}
trace: collect_build_postponed (2): begin
+ %.*
trace: collect_build_postponed (2): cfg-negotiate begin {toz | libbaz->{toz/1}}
trace: collect_build_postponed (2): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbaz/1.0.0
@@ -6444,6 +6464,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: postpone tez/1.0.0
trace: collect_build_postponed (0): begin
trace: collect_build_postponed (1): begin
+ %.*
trace: collect_build_postponed (1): cfg-negotiate begin {tax | libbar->{tax/1}}
trace: collect_build_postponed (1): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbar/1.0.0
@@ -6458,6 +6479,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: end tax/1.0.0
trace: collect_build_postponed (1): cfg-negotiate end {tax | libbar->{tax/1}}
trace: collect_build_postponed (2): begin
+ %.*
trace: collect_build_postponed (2): cfg-negotiate begin {toz | libbaz->{toz/1}}
trace: collect_build_postponed (2): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbaz/1.0.0
@@ -6472,6 +6494,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: postpone toz/1.0.0
trace: collect_build_postponed (2): cfg-negotiate end {toz | libbaz->{toz/1}}
trace: collect_build_postponed (3): begin
+ %.*
trace: collect_build_postponed (3): cfg-negotiate begin {tez | libbox->{tez/1}}
trace: collect_build_postponed (3): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbox/1.0.0
@@ -6508,6 +6531,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: postpone tez/1.0.0
trace: collect_build_postponed (0): begin
trace: collect_build_postponed (1): begin
+ %.*
trace: collect_build_postponed (1): cfg-negotiate begin {tax | libbar->{tax/1}}
trace: collect_build_postponed (1): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbar/1.0.0
@@ -6522,6 +6546,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: end tax/1.0.0
trace: collect_build_postponed (1): cfg-negotiate end {tax | libbar->{tax/1}}
trace: collect_build_postponed (2): begin
+ %.*
trace: collect_build_postponed (2): cfg-negotiate begin {tez | libbox->{tez/1}}
trace: collect_build_postponed (2): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbox/1.0.0
@@ -6562,6 +6587,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: postpone tez/1.0.0
trace: collect_build_postponed (0): begin
trace: collect_build_postponed (1): begin
+ %.*
trace: collect_build_postponed (1): cfg-negotiate begin {tax | libbar->{tax/1}}
trace: collect_build_postponed (1): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbar/1.0.0
@@ -6576,6 +6602,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: end tax/1.0.0
trace: collect_build_postponed (1): cfg-negotiate end {tax | libbar->{tax/1}}
trace: collect_build_postponed (2): begin
+ %.*
trace: collect_build_postponed (2): cfg-negotiate begin {tez | libbox->{tez/1}}
trace: collect_build_postponed (2): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbox/1.0.0
@@ -6590,6 +6617,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: postpone tez/1.0.0
trace: collect_build_postponed (2): cfg-negotiate end {tez | libbox->{tez/1}}
trace: collect_build_postponed (3): begin
+ %.*
trace: collect_build_postponed (3): cfg-negotiate begin {tez | toz->{tez/2}}
trace: collect_build_postponed (3): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin toz/0.1.0
@@ -6610,6 +6638,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: no configuration cycle, throwing
trace: collect_build_postponed (0): cfg-negotiation of {tax | libbar->{tax/1}} failed due to dependency libbar, try next
trace: collect_build_postponed (1): begin
+ %.*
trace: collect_build_postponed (1): cfg-negotiate begin {tez | libbox->{tez/1}}
trace: collect_build_postponed (1): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbox/1.0.0
@@ -6624,6 +6653,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: postpone tez/1.0.0
trace: collect_build_postponed (1): cfg-negotiate end {tez | libbox->{tez/1}}
trace: collect_build_postponed (2): begin
+ %.*
trace: collect_build_postponed (2): cfg-negotiate begin {tax | libbar->{tax/1}}
trace: collect_build_postponed (2): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbar/1.0.0
@@ -6638,6 +6668,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: end tax/1.0.0
trace: collect_build_postponed (2): cfg-negotiate end {tax | libbar->{tax/1}}
trace: collect_build_postponed (3): begin
+ %.*
trace: collect_build_postponed (3): cfg-negotiate begin {tez | toz->{tez/2}}
trace: collect_build_postponed (3): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin toz/0.1.0
@@ -6658,6 +6689,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: no configuration cycle, throwing
trace: collect_build_postponed (1): cfg-negotiation of {tax | libbar->{tax/1}} failed due to dependency libbar, try next
trace: collect_build_postponed (2): begin
+ %.*
trace: collect_build_postponed (2): cfg-negotiate begin {tez | toz->{tez/2}}
trace: collect_build_postponed (2): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin toz/0.1.0
@@ -6672,6 +6704,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: postpone tez/1.0.0
trace: collect_build_postponed (2): cfg-negotiate end {tez | toz->{tez/2}}
trace: collect_build_postponed (3): begin
+ %.*
trace: collect_build_postponed (3): cfg-negotiate begin {tax tez | libbar->{tax/1 tez/3}}
trace: collect_build_postponed (3): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbar/1.0.0
@@ -6715,6 +6748,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: postpone tez/1.0.0
trace: collect_build_postponed (0): begin
trace: collect_build_postponed (1): begin
+ %.*
trace: collect_build_postponed (1): cfg-negotiate begin {tax | libbar->{tax/1}}
trace: collect_build_postponed (1): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbar/1.0.0
@@ -6731,6 +6765,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: end tax/1.0.0
trace: collect_build_postponed (1): cfg-negotiate end {tax | libbar->{tax/1}}
trace: collect_build_postponed (2): begin
+ %.*
trace: collect_build_postponed (2): cfg-negotiate begin {tez | libbox->{tez/1}}
trace: collect_build_postponed (2): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbox/1.0.0
@@ -6745,6 +6780,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: postpone tez/1.0.0
trace: collect_build_postponed (2): cfg-negotiate end {tez | libbox->{tez/1}}
trace: collect_build_postponed (3): begin
+ %.*
trace: collect_build_postponed (3): cfg-negotiate begin {tez | toz->{tez/2}}
trace: collect_build_postponed (3): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin toz/0.1.0
@@ -6765,6 +6801,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: no configuration cycle, throwing
trace: collect_build_postponed (0): cfg-negotiation of {tax | libbar->{tax/1}} failed due to dependency libbar, try next
trace: collect_build_postponed (1): begin
+ %.*
trace: collect_build_postponed (1): cfg-negotiate begin {tez | libbox->{tez/1}}
trace: collect_build_postponed (1): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbox/1.0.0
@@ -6779,6 +6816,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: postpone tez/1.0.0
trace: collect_build_postponed (1): cfg-negotiate end {tez | libbox->{tez/1}}
trace: collect_build_postponed (2): begin
+ %.*
trace: collect_build_postponed (2): cfg-negotiate begin {tax | libbar->{tax/1}}
trace: collect_build_postponed (2): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbar/1.0.0
@@ -6795,6 +6833,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: end tax/1.0.0
trace: collect_build_postponed (2): cfg-negotiate end {tax | libbar->{tax/1}}
trace: collect_build_postponed (3): begin
+ %.*
trace: collect_build_postponed (3): cfg-negotiate begin {tez | toz->{tez/2}}
trace: collect_build_postponed (3): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin toz/0.1.0
@@ -6815,6 +6854,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: no configuration cycle, throwing
trace: collect_build_postponed (1): cfg-negotiation of {tax | libbar->{tax/1}} failed due to dependency libbar, try next
trace: collect_build_postponed (2): begin
+ %.*
trace: collect_build_postponed (2): cfg-negotiate begin {tez | toz->{tez/2}}
trace: collect_build_postponed (2): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin toz/0.1.0
@@ -6829,6 +6869,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: postpone tez/1.0.0
trace: collect_build_postponed (2): cfg-negotiate end {tez | toz->{tez/2}}
trace: collect_build_postponed (3): begin
+ %.*
trace: collect_build_postponed (3): cfg-negotiate begin {tax tez | libbar->{tax/1 tez/3}}
trace: collect_build_postponed (3): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbar/1.0.0
@@ -6921,6 +6962,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: postpone tix/1.0.0
trace: collect_build_postponed (0): begin
trace: collect_build_postponed (1): begin
+ %.*
trace: collect_build_postponed (1): cfg-negotiate begin {tex tix | libbar->{tex/1 tix/1}}
trace: collect_build_postponed (1): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbar/1.0.0
@@ -6987,6 +7029,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: postpone tix/1.0.0
trace: collect_build_postponed (0): begin
trace: collect_build_postponed (1): begin
+ %.*
trace: collect_build_postponed (1): cfg-negotiate begin {tix | libbar->{tix/1}}
trace: collect_build_postponed (1): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbar/1.0.0
@@ -7002,6 +7045,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: postpone tix/1.0.0
trace: collect_build_postponed (1): cfg-negotiate end {tix | libbar->{tix/1}}
trace: collect_build_postponed (2): begin
+ %.*
trace: collect_build_postponed (2): cfg-negotiate begin {tix | tex->{tix/2}}
trace: collect_build_postponed (2): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin tex/1.0.0
@@ -7018,6 +7062,21 @@ test.options += --no-progress
EOE
}
+ # @@ This test fails complaining about cycle introduced with tix/1.0.0.
+ # However 1.0.0 as an intermediate version for tix and the final
+ # version is 0.1.0 (as constrained by tux). Thus, the failure is
+ # premature.
+ #
+ #\
+ : args-tex-tix-tux
+ :
+ {
+ $clone_cfg;
+
+ $* tex tix tux 2>|
+ }
+ #\
+
: args-tex-tiz
:
: Note that tiz is a correct version of tix, which fixes the
@@ -7065,6 +7124,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: postpone tiz/1.0.0
trace: collect_build_postponed (0): begin
trace: collect_build_postponed (1): begin
+ %.*
trace: collect_build_postponed (1): cfg-negotiate begin {tiz | tex->{tiz/1}}
trace: collect_build_postponed (1): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin tex/1.0.0
@@ -7083,6 +7143,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: postpone tiz/1.0.0
trace: collect_build_postponed (1): cfg-negotiate end {tiz | tex->{tiz/1}}
trace: collect_build_postponed (2): begin
+ %.*
trace: collect_build_postponed (2): cfg-negotiate begin {tex tiz | libbar->{tex/1 tiz/2}}
trace: collect_build_postponed (2): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbar/1.0.0
@@ -7102,6 +7163,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: end tiz/1.0.0
trace: collect_build_postponed (2): cfg-negotiate end {tex tiz | libbar->{tex/1 tiz/2}}
trace: collect_build_postponed (3): begin
+ %.*
trace: collect_build_postponed (3): cfg-negotiate begin {tex | libfoo->{tex/2}}
trace: collect_build_postponed (3): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libfoo/1.0.0
@@ -7163,6 +7225,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: postpone tiz/1.0.0
trace: collect_build_postponed (0): begin
trace: collect_build_postponed (1): begin
+ %.*
trace: collect_build_postponed (1): cfg-negotiate begin {tiz | tex->{tiz/1}}
trace: collect_build_postponed (1): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin tex/1.0.0
@@ -7181,6 +7244,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: postpone tiz/1.0.0
trace: collect_build_postponed (1): cfg-negotiate end {tiz | tex->{tiz/1}}
trace: collect_build_postponed (2): begin
+ %.*
trace: collect_build_postponed (2): cfg-negotiate begin {tex tiz | libbar->{tex/1 tiz/2}}
trace: collect_build_postponed (2): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbar/1.0.0
@@ -7200,6 +7264,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: end tiz/1.0.0
trace: collect_build_postponed (2): cfg-negotiate end {tex tiz | libbar->{tex/1 tiz/2}}
trace: collect_build_postponed (3): begin
+ %.*
trace: collect_build_postponed (3): cfg-negotiate begin {tex | libfoo->{tex/2}}
trace: collect_build_postponed (3): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libfoo/1.0.0
@@ -7228,6 +7293,161 @@ test.options += --no-progress
$pkg_drop tiz
}
+
+ : existing
+ :
+ {
+ +$clone_cfg
+
+ : negotiate
+ :
+ {
+ $clone_cfg;
+
+ # Dependencies:
+ #
+ # tex: depends: libbar(c)
+ # depends: libfoo(c)
+ #
+ # tix: depends: libbar(c)
+ # depends: tex(c)
+ #
+ $* tex 2>>~%EOE%;
+ %.*
+ trace: pkg_build: refine package collection/plan execution from scratch
+ %.*
+ trace: collect_build: add tex/1.0.0
+ trace: collect_build_prerequisites: begin tex/1.0.0
+ %.*
+ trace: collect_build: add libbar/1.0.0
+ trace: collect_build_prerequisites: cfg-postpone dependency libbar/1.0.0 of dependent tex/1.0.0
+ trace: postponed_configurations::add: create {tex | libbar->{tex/1}}
+ trace: collect_build_prerequisites: postpone tex/1.0.0
+ trace: collect_build_postponed (0): begin
+ trace: collect_build_postponed (1): begin
+ %.*
+ trace: collect_build_postponed (1): cfg-negotiate begin {tex | libbar->{tex/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_prerequisites: resume tex/1.0.0
+ %.*
+ trace: collect_build_prerequisites: skip cfg-negotiated dependency libbar/1.0.0 of dependent tex/1.0.0
+ %.*
+ 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}}
+ trace: collect_build_prerequisites: postpone tex/1.0.0
+ trace: collect_build_postponed (1): cfg-negotiate end {tex | libbar->{tex/1}}
+ trace: collect_build_postponed (2): begin
+ %.*
+ trace: collect_build_postponed (2): cfg-negotiate begin {tex | libfoo->{tex/2}}
+ trace: collect_build_postponed (2): recursively collect cfg-negotiated dependencies
+ trace: collect_build_prerequisites: begin libfoo/1.0.0
+ trace: collect_build_prerequisites: end libfoo/1.0.0
+ trace: collect_build_postponed (2): recursively collect cfg-negotiated dependents
+ trace: collect_build_prerequisites: resume tex/1.0.0
+ %.*
+ trace: collect_build_prerequisites: skip cfg-negotiated dependency libfoo/1.0.0 of dependent tex/1.0.0
+ trace: collect_build_prerequisites: end tex/1.0.0
+ trace: collect_build_postponed (2): cfg-negotiate end {tex | libfoo->{tex/2}}
+ trace: collect_build_postponed (2): end
+ trace: collect_build_postponed (1): end
+ trace: collect_build_postponed (0): end
+ trace: execute_plan: simulate: yes
+ %.*
+ EOE
+
+ # Configuration clusters:
+ #
+ # {tix | libbar->{tix/1}}
+ # {tix | tex->{tix/2}}
+ #
+ # Fail at:
+ #
+ # tex -> libbar
+ #
+ $* tix 2>>~%EOE% != 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}}
+ trace: collect_build_prerequisites: postpone tix/1.0.0
+ trace: collect_build_postponed (0): begin
+ trace: collect_build_postponed (1): begin
+ %.*
+ trace: collect_build_postponed (1): re-evaluate existing dependents
+ trace: collect_build: add tex/1.0.0
+ trace: postponed_configurations::add: add {tex | libbar->{tex/1}} to {tix | libbar->{tix/1}}
+ trace: collect_build_postponed (1): cfg-negotiate begin {tex tix | libbar->{tex/1 tix/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_prerequisites: resume tix/1.0.0
+ %.*
+ trace: collect_build_prerequisites: skip cfg-negotiated dependency libbar/1.0.0 of dependent tix/1.0.0
+ %.*
+ trace: collect_build: cannot collect prematurely cfg-negotiated existing dependent tex, throwing
+ trace: pkg_build: collection failed due to prematurely cfg-negotiated existing dependent, 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}}
+ trace: collect_build_prerequisites: postpone tix/1.0.0
+ trace: collect_build_postponed (0): begin
+ trace: collect_build_postponed (1): begin
+ %.*
+ trace: collect_build_postponed (1): cfg-negotiate begin {tix | libbar->{tix/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_prerequisites: resume tix/1.0.0
+ %.*
+ trace: collect_build_prerequisites: skip cfg-negotiated dependency libbar/1.0.0 of dependent 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}}
+ trace: collect_build_prerequisites: postpone tix/1.0.0
+ trace: collect_build_postponed (1): cfg-negotiate end {tix | libbar->{tix/1}}
+ trace: collect_build_postponed (2): begin
+ %.*
+ trace: collect_build_postponed (2): cfg-negotiate begin {tix | tex->{tix/2}}
+ trace: collect_build_postponed (2): recursively collect cfg-negotiated dependencies
+ trace: collect_build_prerequisites: begin tex/1.0.0
+ %.*
+ trace: collect_build_prerequisites: cannot cfg-postpone dependency libbar/1.0.0 of dependent tex/1.0.0 (collected prematurely), checking for configuration cycle
+ trace: collect_build_prerequisites: negotiated: {tix | libbar->{tix/1}}
+ trace: collect_build_prerequisites: being negotiated: {tix | tex->{tix/2}}
+ trace: postponed_configurations::add: add {tex | libbar->{tex/1}} to {tix | libbar->{tix/1}}
+ trace: collect_build_prerequisites: verifying {tex tix | libbar->{tex/1 tix/1}}
+ error: package tix/1.0.0 negotiates configuration of libbar/1.0.0 before its (potentially indirect) dependency tex/1.0.0 negotiates configuration of libbar/1.0.0
+ info: consider reordering dependencies of tix/1.0.0
+ %.*
+ EOE
+
+ # @@ These tests fail complaining on tix/1.0.0->tex/1.0.0 cycle.
+ # However, we downgrade tex to 0.1.0 or 0.2.0 for which there
+ # is no cycle (0.2.0 depends on libbar without config clause and
+ # 0.1.0 doesn't depend at all).
+ #
+ #$* tix ?tex/0.1.0 2>|;
+ #$* tix ?tex/0.2.0 2>|;
+
+ $pkg_drop tex
+ }
+ }
}
: indirect
@@ -7294,6 +7514,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: postpone dix/1.0.0
trace: collect_build_postponed (0): begin
trace: collect_build_postponed (1): begin
+ %.*
trace: collect_build_postponed (1): cfg-negotiate begin {dix tax | libbar->{dix/1 tax/1}}
trace: collect_build_postponed (1): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbar/1.0.0
@@ -7318,6 +7539,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: end tax/1.0.0
trace: collect_build_postponed (1): cfg-negotiate end {dix tax | libbar->{dix/1 tax/1}}
trace: collect_build_postponed (2): begin
+ %.*
trace: collect_build_postponed (2): cfg-negotiate begin {dex | bar->{dex/1}}
trace: collect_build_postponed (2): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin bar/1.0.0
@@ -7331,6 +7553,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: no configuration cycle, throwing
trace: collect_build_postponed (0): cfg-negotiation of {dix tax | libbar->{dix/1 tax/1}} failed due to dependency libbar, try next
trace: collect_build_postponed (1): begin
+ %.*
trace: collect_build_postponed (1): cfg-negotiate begin {dex | bar->{dex/1}}
trace: collect_build_postponed (1): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin bar/1.0.0
@@ -7349,6 +7572,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: postpone dex/1.0.0
trace: collect_build_postponed (1): cfg-negotiate end {dex | bar->{dex/1}}
trace: collect_build_postponed (2): begin
+ %.*
trace: collect_build_postponed (2): cfg-negotiate begin {bar dix tax | libbar->{bar/1 dix/1 tax/1}}
trace: collect_build_postponed (2): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbar/1.0.0
@@ -7374,6 +7598,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: end tax/1.0.0
trace: collect_build_postponed (2): cfg-negotiate end {bar dix tax | libbar->{bar/1 dix/1 tax/1}}
trace: collect_build_postponed (3): begin
+ %.*
trace: collect_build_postponed (3): cfg-negotiate begin {dex | libfoo->{dex/2}}
trace: collect_build_postponed (3): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libfoo/1.0.0
@@ -7385,6 +7610,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: end dex/1.0.0
trace: collect_build_postponed (3): cfg-negotiate end {dex | libfoo->{dex/2}}
trace: collect_build_postponed (4): begin
+ %.*
trace: collect_build_postponed (4): cfg-negotiate begin {dix | libbox->{dix/2}}
trace: collect_build_postponed (4): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbox/1.0.0
@@ -7400,6 +7626,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: postpone dix/1.0.0
trace: collect_build_postponed (4): cfg-negotiate end {dix | libbox->{dix/2}}
trace: collect_build_postponed (5): begin
+ %.*
trace: collect_build_postponed (5): cfg-negotiate begin {dix | dox->{dix/3}}
trace: collect_build_postponed (5): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin dox/1.0.0
@@ -7465,6 +7692,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: postpone dix/1.0.0
trace: collect_build_postponed (0): begin
trace: collect_build_postponed (1): begin
+ %.*
trace: collect_build_postponed (1): cfg-negotiate begin {dix | libbar->{dix/1}}
trace: collect_build_postponed (1): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbar/1.0.0
@@ -7480,6 +7708,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: postpone dix/1.0.0
trace: collect_build_postponed (1): cfg-negotiate end {dix | libbar->{dix/1}}
trace: collect_build_postponed (2): begin
+ %.*
trace: collect_build_postponed (2): cfg-negotiate begin {dix | libbox->{dix/2}}
trace: collect_build_postponed (2): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbox/1.0.0
@@ -7495,6 +7724,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: postpone dix/1.0.0
trace: collect_build_postponed (2): cfg-negotiate end {dix | libbox->{dix/2}}
trace: collect_build_postponed (3): begin
+ %.*
trace: collect_build_postponed (3): cfg-negotiate begin {dix | dox->{dix/3}}
trace: collect_build_postponed (3): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin dox/1.0.0
@@ -7510,6 +7740,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: end dix/1.0.0
trace: collect_build_postponed (3): cfg-negotiate end {dix | dox->{dix/3}}
trace: collect_build_postponed (4): begin
+ %.*
trace: collect_build_postponed (4): cfg-negotiate begin {dox | dex->{dox/1}}
trace: collect_build_postponed (4): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin dex/1.0.0
@@ -7525,6 +7756,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: end dox/1.0.0
trace: collect_build_postponed (4): cfg-negotiate end {dox | dex->{dox/1}}
trace: collect_build_postponed (5): begin
+ %.*
trace: collect_build_postponed (5): cfg-negotiate begin {dex | bar->{dex/1}}
trace: collect_build_postponed (5): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin bar/1.0.0
@@ -7595,6 +7827,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: postpone diz/1.0.0
trace: collect_build_postponed (0): begin
trace: collect_build_postponed (1): begin
+ %.*
trace: collect_build_postponed (1): cfg-negotiate begin {tax | libbar->{tax/1}}
trace: collect_build_postponed (1): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbar/1.0.0
@@ -7611,6 +7844,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: end tax/1.0.0
trace: collect_build_postponed (1): cfg-negotiate end {tax | libbar->{tax/1}}
trace: collect_build_postponed (2): begin
+ %.*
trace: collect_build_postponed (2): cfg-negotiate begin {dex | bar->{dex/1}}
trace: collect_build_postponed (2): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin bar/1.0.0
@@ -7624,6 +7858,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: no configuration cycle, throwing
trace: collect_build_postponed (0): cfg-negotiation of {tax | libbar->{tax/1}} failed due to dependency libbar, try next
trace: collect_build_postponed (1): begin
+ %.*
trace: collect_build_postponed (1): cfg-negotiate begin {dex | bar->{dex/1}}
trace: collect_build_postponed (1): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin bar/1.0.0
@@ -7642,6 +7877,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: postpone dex/1.0.0
trace: collect_build_postponed (1): cfg-negotiate end {dex | bar->{dex/1}}
trace: collect_build_postponed (2): begin
+ %.*
trace: collect_build_postponed (2): cfg-negotiate begin {bar tax | libbar->{bar/1 tax/1}}
trace: collect_build_postponed (2): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbar/1.0.0
@@ -7659,6 +7895,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: end tax/1.0.0
trace: collect_build_postponed (2): cfg-negotiate end {bar tax | libbar->{bar/1 tax/1}}
trace: collect_build_postponed (3): begin
+ %.*
trace: collect_build_postponed (3): cfg-negotiate begin {diz | dox->{diz/1}}
trace: collect_build_postponed (3): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin dox/1.0.0
@@ -7694,6 +7931,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: postpone diz/1.0.0
trace: collect_build_postponed (0): begin
trace: collect_build_postponed (1): begin
+ %.*
trace: collect_build_postponed (1): cfg-negotiate begin {tax | libbar->{tax/1}}
trace: collect_build_postponed (1): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbar/1.0.0
@@ -7708,6 +7946,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: end tax/1.0.0
trace: collect_build_postponed (1): cfg-negotiate end {tax | libbar->{tax/1}}
trace: collect_build_postponed (2): begin
+ %.*
trace: collect_build_postponed (2): cfg-negotiate begin {diz | dox->{diz/1}}
trace: collect_build_postponed (2): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin dox/1.0.0
@@ -7726,6 +7965,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: postpone diz/1.0.0
trace: collect_build_postponed (2): cfg-negotiate end {diz | dox->{diz/1}}
trace: collect_build_postponed (3): begin
+ %.*
trace: collect_build_postponed (3): cfg-negotiate begin {dox | dex->{dox/1}}
trace: collect_build_postponed (3): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin dex/1.0.0
@@ -7741,6 +7981,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: end dox/1.0.0
trace: collect_build_postponed (3): cfg-negotiate end {dox | dex->{dox/1}}
trace: collect_build_postponed (4): begin
+ %.*
trace: collect_build_postponed (4): cfg-negotiate begin {diz | libbox->{diz/2}}
trace: collect_build_postponed (4): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbox/1.0.0
@@ -7763,6 +8004,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: no configuration cycle, throwing
trace: collect_build_postponed (0): cfg-negotiation of {tax | libbar->{tax/1}} failed due to dependency libbar, try next
trace: collect_build_postponed (1): begin
+ %.*
trace: collect_build_postponed (1): cfg-negotiate begin {diz | dox->{diz/1}}
trace: collect_build_postponed (1): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin dox/1.0.0
@@ -7781,6 +8023,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: postpone diz/1.0.0
trace: collect_build_postponed (1): cfg-negotiate end {diz | dox->{diz/1}}
trace: collect_build_postponed (2): begin
+ %.*
trace: collect_build_postponed (2): cfg-negotiate begin {tax | libbar->{tax/1}}
trace: collect_build_postponed (2): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbar/1.0.0
@@ -7795,6 +8038,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: end tax/1.0.0
trace: collect_build_postponed (2): cfg-negotiate end {tax | libbar->{tax/1}}
trace: collect_build_postponed (3): begin
+ %.*
trace: collect_build_postponed (3): cfg-negotiate begin {dox | dex->{dox/1}}
trace: collect_build_postponed (3): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin dex/1.0.0
@@ -7810,6 +8054,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: end dox/1.0.0
trace: collect_build_postponed (3): cfg-negotiate end {dox | dex->{dox/1}}
trace: collect_build_postponed (4): begin
+ %.*
trace: collect_build_postponed (4): cfg-negotiate begin {diz | libbox->{diz/2}}
trace: collect_build_postponed (4): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbox/1.0.0
@@ -7832,6 +8077,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: no configuration cycle, throwing
trace: collect_build_postponed (1): cfg-negotiation of {tax | libbar->{tax/1}} failed due to dependency libbar, try next
trace: collect_build_postponed (2): begin
+ %.*
trace: collect_build_postponed (2): cfg-negotiate begin {dox | dex->{dox/1}}
trace: collect_build_postponed (2): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin dex/1.0.0
@@ -7847,6 +8093,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: end dox/1.0.0
trace: collect_build_postponed (2): cfg-negotiate end {dox | dex->{dox/1}}
trace: collect_build_postponed (3): begin
+ %.*
trace: collect_build_postponed (3): cfg-negotiate begin {tax | libbar->{tax/1}}
trace: collect_build_postponed (3): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbar/1.0.0
@@ -7861,6 +8108,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: end tax/1.0.0
trace: collect_build_postponed (3): cfg-negotiate end {tax | libbar->{tax/1}}
trace: collect_build_postponed (4): begin
+ %.*
trace: collect_build_postponed (4): cfg-negotiate begin {diz | libbox->{diz/2}}
trace: collect_build_postponed (4): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbox/1.0.0
@@ -7883,6 +8131,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: no configuration cycle, throwing
trace: collect_build_postponed (2): cfg-negotiation of {tax | libbar->{tax/1}} failed due to dependency libbar, try next
trace: collect_build_postponed (3): begin
+ %.*
trace: collect_build_postponed (3): cfg-negotiate begin {diz | libbox->{diz/2}}
trace: collect_build_postponed (3): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbox/1.0.0
@@ -7897,6 +8146,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: postpone diz/1.0.0
trace: collect_build_postponed (3): cfg-negotiate end {diz | libbox->{diz/2}}
trace: collect_build_postponed (4): begin
+ %.*
trace: collect_build_postponed (4): cfg-negotiate begin {diz tax | libbar->{diz/3 tax/1}}
trace: collect_build_postponed (4): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbar/1.0.0
@@ -7915,6 +8165,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: end tax/1.0.0
trace: collect_build_postponed (4): cfg-negotiate end {diz tax | libbar->{diz/3 tax/1}}
trace: collect_build_postponed (5): begin
+ %.*
trace: collect_build_postponed (5): cfg-negotiate begin {dex | bar->{dex/1}}
trace: collect_build_postponed (5): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin bar/1.0.0
@@ -7934,6 +8185,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: no configuration cycle, throwing
trace: collect_build_postponed (3): cfg-negotiation of {diz tax | libbar->{diz/3 tax/1}} failed due to dependency libbar, try next
trace: collect_build_postponed (4): begin
+ %.*
trace: collect_build_postponed (4): cfg-negotiate begin {dex | bar->{dex/1}}
trace: collect_build_postponed (4): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin bar/1.0.0
@@ -7952,6 +8204,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: postpone dex/1.0.0
trace: collect_build_postponed (4): cfg-negotiate end {dex | bar->{dex/1}}
trace: collect_build_postponed (5): begin
+ %.*
trace: collect_build_postponed (5): cfg-negotiate begin {bar diz tax | libbar->{bar/1 diz/3 tax/1}}
trace: collect_build_postponed (5): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbar/1.0.0
@@ -7973,6 +8226,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: end tax/1.0.0
trace: collect_build_postponed (5): cfg-negotiate end {bar diz tax | libbar->{bar/1 diz/3 tax/1}}
trace: collect_build_postponed (6): begin
+ %.*
trace: collect_build_postponed (6): cfg-negotiate begin {dex | libfoo->{dex/2}}
trace: collect_build_postponed (6): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libfoo/1.0.0
@@ -8049,6 +8303,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: postpone diz/1.0.0
trace: collect_build_postponed (0): begin
trace: collect_build_postponed (1): begin
+ %.*
trace: collect_build_postponed (1): cfg-negotiate begin {diz | dox->{diz/1}}
trace: collect_build_postponed (1): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin dox/1.0.0
@@ -8068,6 +8323,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: postpone diz/1.0.0
trace: collect_build_postponed (1): cfg-negotiate end {diz | dox->{diz/1}}
trace: collect_build_postponed (2): begin
+ %.*
trace: collect_build_postponed (2): cfg-negotiate begin {dox | dex->{dox/1}}
trace: collect_build_postponed (2): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin dex/1.0.0
@@ -8083,6 +8339,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: end dox/1.0.0
trace: collect_build_postponed (2): cfg-negotiate end {dox | dex->{dox/1}}
trace: collect_build_postponed (3): begin
+ %.*
trace: collect_build_postponed (3): cfg-negotiate begin {diz | libbox->{diz/2}}
trace: collect_build_postponed (3): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbox/1.0.0
@@ -8098,6 +8355,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: postpone diz/1.0.0
trace: collect_build_postponed (3): cfg-negotiate end {diz | libbox->{diz/2}}
trace: collect_build_postponed (4): begin
+ %.*
trace: collect_build_postponed (4): cfg-negotiate begin {dex | bar->{dex/1}}
trace: collect_build_postponed (4): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin bar/1.0.0
@@ -8116,6 +8374,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: postpone dex/1.0.0
trace: collect_build_postponed (4): cfg-negotiate end {dex | bar->{dex/1}}
trace: collect_build_postponed (5): begin
+ %.*
trace: collect_build_postponed (5): cfg-negotiate begin {bar diz | libbar->{bar/1 diz/3}}
trace: collect_build_postponed (5): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libbar/1.0.0
@@ -8131,6 +8390,7 @@ test.options += --no-progress
trace: collect_build_prerequisites: end diz/1.0.0
trace: collect_build_postponed (5): cfg-negotiate end {bar diz | libbar->{bar/1 diz/3}}
trace: collect_build_postponed (6): begin
+ %.*
trace: collect_build_postponed (6): cfg-negotiate begin {dex | libfoo->{dex/2}}
trace: collect_build_postponed (6): recursively collect cfg-negotiated dependencies
trace: collect_build_prerequisites: begin libfoo/1.0.0
@@ -8165,6 +8425,125 @@ test.options += --no-progress
$pkg_drop diz
}
+
+ : existing
+ :
+ {
+ +$clone_cfg
+
+ : negotiate
+ :
+ {
+ $clone_cfg;
+
+ # Dependencies:
+ #
+ # dex: depends: bar(c)
+ # depends: libfoo(c)
+ #
+ # bar: depends: libbar(c)
+ #
+ # dix: depends: libbar(c)
+ # depends: libbox(c) # causes postponment and initial cluster finished negotiating
+ # depends: dox(c)
+ #
+ # dox: dex(c)
+ #
+ $* dex 2>!;
+
+ # @@ Here we would expect to fail due to the config cycle but we
+ # don't.
+ #
+ # Fail at:
+ #
+ #
+ #\
+ $* dix 2>>~%EOE% != 0;
+ %.*
+ trace: pkg_build: refine package collection/plan execution from scratch
+ %.*
+ trace: collect_build: add dix/1.0.0
+ trace: collect_build_prerequisites: begin dix/1.0.0
+ %.*
+ trace: collect_build: add libbar/1.0.0
+ trace: collect_build_prerequisites: cfg-postpone dependency libbar/1.0.0 of dependent dix/1.0.0
+ trace: postponed_configurations::add: create {dix | libbar->{dix/1}}
+ trace: collect_build_prerequisites: postpone dix/1.0.0
+ trace: collect_build_postponed (0): begin
+ trace: collect_build_postponed (1): begin
+ %.*
+ trace: collect_build_postponed (1): re-evaluate existing dependents
+ trace: collect_build: add bar/1.0.0
+ trace: postponed_configurations::add: add {bar | libbar->{bar/1}} to {dix | libbar->{dix/1}}
+ trace: collect_build_postponed (1): cfg-negotiate begin {bar dix | libbar->{bar/1 dix/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_prerequisites: resume dix/1.0.0
+ %.*
+ trace: collect_build_prerequisites: skip cfg-negotiated dependency libbar/1.0.0 of dependent dix/1.0.0
+ %.*
+ trace: collect_build: add libbox/1.0.0
+ trace: collect_build_prerequisites: cfg-postpone dependency libbox/1.0.0 of dependent dix/1.0.0
+ trace: postponed_configurations::add: create {dix | libbox->{dix/2}}
+ trace: collect_build_prerequisites: postpone dix/1.0.0
+ trace: collect_build_postponed (1): cfg-negotiate end {bar dix | libbar->{bar/1 dix/1}}
+ trace: collect_build_postponed (2): begin
+ %.*
+ trace: collect_build_postponed (2): cfg-negotiate begin {dix | libbox->{dix/2}}
+ trace: collect_build_postponed (2): 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 (2): recursively collect cfg-negotiated dependents
+ trace: collect_build_prerequisites: resume dix/1.0.0
+ %.*
+ trace: collect_build_prerequisites: skip cfg-negotiated dependency libbox/1.0.0 of dependent dix/1.0.0
+ %.*
+ trace: collect_build: add dox/1.0.0
+ trace: collect_build_prerequisites: cfg-postpone dependency dox/1.0.0 of dependent dix/1.0.0
+ trace: postponed_configurations::add: create {dix | dox->{dix/3}}
+ trace: collect_build_prerequisites: postpone dix/1.0.0
+ trace: collect_build_postponed (2): cfg-negotiate end {dix | libbox->{dix/2}}
+ trace: collect_build_postponed (3): begin
+ %.*
+ trace: collect_build_postponed (3): cfg-negotiate begin {dix | dox->{dix/3}}
+ trace: collect_build_postponed (3): 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}}
+ trace: collect_build_prerequisites: postpone dox/1.0.0
+ trace: collect_build_postponed (3): recursively collect cfg-negotiated dependents
+ trace: collect_build_prerequisites: resume dix/1.0.0
+ %.*
+ trace: collect_build_prerequisites: skip cfg-negotiated dependency dox/1.0.0 of dependent dix/1.0.0
+ trace: collect_build_prerequisites: end dix/1.0.0
+ trace: collect_build_postponed (3): cfg-negotiate end {dix | dox->{dix/3}}
+ trace: collect_build_postponed (4): begin
+ %.*
+ trace: collect_build_postponed (4): cfg-negotiate begin {dox | dex->{dox/1}}
+ trace: collect_build_postponed (4): recursively collect cfg-negotiated dependencies
+ trace: collect_build_prerequisites: skip configured dex/1.0.0
+ trace: collect_build_postponed (4): recursively collect cfg-negotiated dependents
+ trace: collect_build_prerequisites: resume dox/1.0.0
+ %.*
+ trace: collect_build_prerequisites: skip cfg-negotiated dependency dex/1.0.0 of dependent dox/1.0.0
+ trace: collect_build_prerequisites: end dox/1.0.0
+ trace: collect_build_postponed (4): cfg-negotiate end {dox | dex->{dox/1}}
+ trace: collect_build_postponed (4): end
+ trace: collect_build_postponed (3): end
+ trace: collect_build_postponed (2): end
+ trace: collect_build_postponed (1): end
+ trace: collect_build_postponed (0): end
+ trace: execute_plan: simulate: yes
+ %.*
+ EOE
+ #\
+
+ $pkg_drop dex
+ }
+ }
}
}
}