summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2024-06-19 08:30:01 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2024-06-19 08:30:01 +0200
commit9939f1721a3bf4fca69ae87bc7bd9fc8ac407f83 (patch)
tree9714aa5ceae7573bd14e097ffe58e126cf4c4078
parent1e25707eecaf91a29072018cb73ecae668388afb (diff)
Updates for 0.17.0 releasev0.17.0
-rw-r--r--doc/release.cli149
-rw-r--r--intro2-tldr.orig22
-rwxr-xr-xintro2-tour31
-rw-r--r--intro2-tour.orig613
-rwxr-xr-xreview4
-rwxr-xr-xstage3
-rwxr-xr-xstage-queue10
-rwxr-xr-xversion12
8 files changed, 549 insertions, 295 deletions
diff --git a/doc/release.cli b/doc/release.cli
index 78d505f..c387714 100644
--- a/doc/release.cli
+++ b/doc/release.cli
@@ -23,7 +23,8 @@ Consider how/when they are updated/tested during the release process.
@@ We currently have an issue in that \c{queue} builds \c{public} using
\c{public} \c{buildtabs} (since it's querying \c{public} brep) which means
existing packages are not tested with new build configurations. But maybe
-that's correct, conceptually.
+that's correct, conceptually. We also have the inverse problem: stage bots
+may no longer have the machines to build public.
\h1#stage|Stage|
@@ -37,7 +38,7 @@ and then be queued and published (effectively released) as part of the
bundle the release of dependencies with the release of \c{build2} to keep the
process as streamlined as possible. In fact, we now have \c{queue.stage} (see
\c{etc/stage-queue}) which is the place for such \"extra packages for
-testing\".
+testing (or that require the staged toolchain)\".
\N|When unbundling the release of a dependency we need to remove its
distribution from \c{etc/stage} and add the pre-distributed packages
@@ -125,7 +126,8 @@ distribution from \c{etc/stage} and add the pre-distributed packages
\h#packaging|Release \c{packaging/} dependencies|
- Release dependencies that have the snapshot version as described in
+ Release dependencies mentioned in \c{etc/stage} that have the snapshot
+ version as described in
\l{https://github.com/build2-packaging/README#version-and-release-management
Version and Release Management}.
@@ -135,6 +137,8 @@ distribution from \c{etc/stage} and add the pre-distributed packages
publish) these now and other dependencies later? Maybe so that we can
stage them one more time?|
+ Note: may want to update dependencies bundled as \c{git} submodules after
+ that.
\h#dependencies|Finalize all other dependencies|
@@ -161,38 +165,24 @@ distribution from \c{etc/stage} and add the pre-distributed packages
etc/upgrade
\
- Or, if released ODB on the previous step, update \c{libodb*} version
- constraint using \c{etc/version}, commit, and then:
+ If released ODB on the previous step:
\
# Step 0: make sure b, bpkg, bdep are runnable.
- # Step 1a: pull CLI compiler and build it, make sure runnable.
- # Step 1b: pull ODB compiler and build it, make sure runnable.
-
- # Step 2: pull everything in build2 (including brep).
-
- # Step 3: upgrade (in configure-only mode).
- #
- # If this step goes sideways, use the saved .bak configurations to
- # revert, fix the issue, and try again. If unable to fix the issue
- # (for example, the toolchain is not runnable), then do the from-
- # scratch bootstrap using the etc/bootstrap script.
- #
- etc/upgrade -c
-
- # Step 4: trigger header regeneration (ignore ODB version errors).
- #
- BDEP_SYNC=0 b --match-only ~/work/build2/builds/gcc7/
-
- # Step 5: regenerated ODB code in the relevant projects (bpkg, bdep, brep):
- #
- ./odb.sh ~/work/build2/builds/gcc7/
-
- # Step 6: finish toolchain update:
- #
- BDEP_SYNC=0 b build2/ bpkg/ bdep/
- b build2/ bpkg/ bdep/ # Should be noop.
+ # Step 1a: update odb submodule in libbutl (see README-DEV)
+ # Step 1b: run odb.sh in bpkg, bdep.
+ # Step 1c: update b, bpkg, bdep.
+ # Step 1d: copy *-odb.?xx for bpkg and bdep to build2-toolchain.
+
+ # Step 2a: update ODB version in etc/version
+ # Step 2b: run etc/version (should only change brep)
+ # Step 2c: commit the changes to brep
+ # Step 2d: run bdep sync -f (should upgrade libodb*)
+ # Step 2e: manually update version.hxx in libodb, libodb-pgsql,
+ # and libbrep by running b .../hxx{version}
+ # Step 2f: run odb.sh ib brep/libbrep
+ # Step 2g: update brep
\
Then push \c{build2} repositories.
@@ -226,10 +216,13 @@ distribution from \c{etc/stage} and add the pre-distributed packages
diff -u intro2-tldr.orig intro2-tldr.out # Or use gitk.
mv intro2-tldr.out intro2-tldr.orig
+ # NOTE: comment out !config.import.libbuild2_hello in ~/.build2/b.options
script -qc ./intro2-tour intro2-tour.out && sed -i -e 's/\r//g' intro2-tour.out
diff -u intro2-tour.orig intro2-tour.out # Or use gitk.
mv intro2-tour.out intro2-tour.orig
+
+ # NOTE: uncomment !config.import.libbuild2_hello in ~/.build2/b.options
\
\h#doc|Review documentation|
@@ -370,16 +363,16 @@ distribution from \c{etc/stage} and add the pre-distributed packages
\h#test-extra|Perform extra testing|
- CI: (check for any new repositories in github.com/build2/)\n
+ CI: (check for any new repositories in \c{github.com/build2/})\n
\n
\c{libauto-symexport}\n
\c{hello-thrift}\n
\c{assembler-with-cpp}\n
- Test \c{cxx20-modules-examples} (see \c{test} script).
+ Test \c{cxx20-modules-examples} (see \c{test} script) and \c{async_simple}.
Test any third-party/demos (\c{build2-dynamic-module-demo},
- \c{cherimcu}, \c{boost-dependency}).
+ \c{cherimcu}, \c{cherio-rtos}, \c{boost-dependency}).
Test on ARM Mac (run tests for \c{libbutl/build2/bpkg/bdep}).
@@ -472,7 +465,7 @@ distribution from \c{etc/stage} and add the pre-distributed packages
\
etc/version
- ./commit.sh
+ ./commit.sh # \"Release version X.Y.Z\"
git -C build2-toolchain commit --amend # \"Change version to X.Y.Z\"
\
@@ -499,7 +492,8 @@ distribution from \c{etc/stage} and add the pre-distributed packages
pre-installed build system modules, use \c{BDEP_SYNC=0}).|
\li|Upgrade all dependencies in configure-only mode by executing
- \c{etc/upgrade\ -c}.
+ \c{etc/upgrade\ -c} (don't skip this step even if all the dependencies
+ were released during staging).
Avoid this (see above): If the \c{build2}/\c{bpkg} requirements in the
manifests have been bumped to the version being released, then first
@@ -519,23 +513,24 @@ distribution from \c{etc/stage} and add the pre-distributed packages
to \"close off\"):
\
- BDEP_SYNC=0 b --match-only ~/work/build2/builds/gcc7-asan/
+ BDEP_SYNC=0 b --match-only ~/work/build2/builds/gcc/
\
If using GCC prior to 8 then might also need explicit version target
upgrades:
\
- BDEP_SYNC=0 b ~/work/build2/builds/gcc7-asan/.../hxx{version}
+ BDEP_SYNC=0 b ~/work/build2/builds/gcc/.../hxx{version}
\
|
\li|Regenerate ODB in relevant packages passing upgraded configuration
- path explicitly (\c{bdep} is not runnable):
+ path explicitly (\c{bdep} is not runnable; can skip if ODB was
+ released during staging):
\
- ./odb.sh ~/work/build2/builds/gcc7-asan/
+ ./odb.sh ~/work/build2/builds/gcc/
\
|
@@ -544,7 +539,7 @@ distribution from \c{etc/stage} and add the pre-distributed packages
configuration:
\
- BDEP_SYNC=0 b ~/work/build2/builds/gcc7-asan/
+ BDEP_SYNC=0 b ~/work/build2/builds/gcc/
b build2/ bpkg/ bdep/
@@ -595,8 +590,8 @@ distribution from \c{etc/stage} and add the pre-distributed packages
\ul|
\li|Regenerate documentation in each package inside as well as in
- \c{build2-toolchain} itself. @@ \c{libbuild-kconfig} not configured
- out of tree? Or maybe it gets updated automatically during dist?|
+ \c{build2-toolchain} itself. Note: for \c{libbuild-kconfig}
+ it gets updated automatically during dist.|
\li|Update ODB by copying relevant files from the previous step (trust me,
this is the easy way for now). Make sure all \c{*-odb.*} are copied!|
@@ -621,7 +616,9 @@ distribution from \c{etc/stage} and add the pre-distributed packages
Sort non-alpha packages from \c{cppget.org/queue/1/alpha/} into appropriate
sections (we could probably automate this similar to \c{bdep-release(1)}).
- Also check if any of them are already in \c{public}.
+ Also check if any of them are already in \c{public}. Note that some
+ build system modules may already in \c{public}. If standard pre-installed,
+ then need to copy archives from \c{public} (so that checksums match).
Note also that we assume all the packages already have the corresponding
ownership information either in \c{queue} or \c{public}. However, if any
@@ -672,7 +669,10 @@ distribution from \c{etc/stage} and add the pre-distributed packages
After upgrade, drop all package builds for \c{public} and \c{queue} and
verify there are no regressions. This makes sure that the \c{brep} services
in the new version are usable with the old toolchain. If there are issues,
- they have to be fixed by publishing/queuing revisions.
+ they have to be fixed by publishing/queuing revisions. Note that if
+ \c{public} was tested with staged toolchain (and thus \c{brep} was already
+ upgraded), perhaps this can be skipped (since it will take days to
+ completely rebuild \c{public}).
\N|The \c{bdep} tests that exercise CI and publishing services do it in the
simulation mode. To properly test that these services are compatible with
@@ -731,68 +731,31 @@ distribution from \c{etc/stage} and add the pre-distributed packages
\h#public-machines|Update \c{public} \c{buildtab}s and build machines|
- Poweroff the old set of \c{public} build hosts:
+ Stop \c{public} build hosts:
\
- ./po-hosts -c public
+ ./po-hosts -s public -c public
\
Update \c{public} \c{buildtab}s based on the \c{queue} \c{buildtab}
(normally just a copy).
- Adjust build host configurations (hardware classes, etc) and add/remove
- new/old build hosts.
-
- Replace the \c{public} \c{buildos} image on \c{build-cache} with the
- one for \c{stage}.
-
- Comment out the \c{public} toolchain in the build host configuration
- (effectively making it a no-toolchain configuration), regenerate, and power
- on the new set of \c{public} build hosts.
+ Adjust \c{public} build host configurations (hardware classes, etc) and
+ add/remove new/old build hosts.
+ Use new sync scripts to update \c{public} build hosts with new VMs.
- @@ See new sync scripts for this step: Review deployed machines against the
- updated \c{public} \c{buildtab} and remove those that are no longer used:
+ Power off \c{public} build hosts:
\
- cd private/buildos/
-
- grep '.*' .../brep-buildtab | cut -d' ' -f1 | sort -u
- ./ls-machines -c public
-
- ~/work/build2/buildos/remove-machine <host> <machine>
- \
-
- Then move now legacy machines to the \"legacy\" build host:
-
- \
- grep 'legacy' .../brep-buildtab | cut -d' ' -f1 | sort -u
- \
-
- Also review deployed machines against the latest available versions and
- upgrade those that are not the latest:
-
- \
- cd private/buildos/
-
- ./ls-machines -l \"/btrfs/$(whoami)/machines/default/\" | sort
- ./ls-machines -c public
-
- ~/work/build2/buildos/upload-machine <host> .../new-ver .../old-ver
- \
-
- Finally, add any new machines:
-
- \
- grep -v 'legacy' .../brep-buildtab | cut -d' ' -f1 | sort -u
+ ./po-hosts -c public
\
- Uncomment the \c{public} toolchain in the build host configuration and
- regenerate. The only remaining step is to reboot (not yet):
+ Replace the \c{public} \c{buildos} image on \c{build-cache} with the
+ one for \c{stage} (note: this will cause build hosts to reboot, thus
+ power off above).
- \
- ./po-hosts -r -c public
- \
+ The only remaining step is to boot \c{public} build hosts (not yet).
\h#pub-dist|Publish distribution|
diff --git a/intro2-tldr.orig b/intro2-tldr.orig
index 445493d..bf98cf6 100644
--- a/intro2-tldr.orig
+++ b/intro2-tldr.orig
@@ -1,7 +1,7 @@
-Script started on 2023-06-28 11:17:30+02:00 [COMMAND="./intro2-tldr" TERM="xterm-256color" TTY="/dev/pts/21" COLUMNS="160" LINES="47"]
+Script started on 2024-06-13 07:54:30+02:00 [COMMAND="./intro2-tldr" TERM="xterm-256color" TTY="/dev/pts/2" COLUMNS="163" LINES="49"]
created new executable project hello in /tmp/hello.git/
-[master (root-commit) ddbbb0a] first commit
- 13 files changed, 143 insertions(+)
+[master (root-commit) e6ff003] first commit
+ 13 files changed, 180 insertions(+)
create mode 100644 .gitattributes
create mode 100644 .gitignore
create mode 100644 README.md
@@ -71,20 +71,20 @@ fetching git:build2.org/hello/libprint##HEAD (prerequisite of git:build2.org/hel
+ bdep status -i
hello configured 0.1.0#1
- libhello ^1.0.0 configured 1.0.0+4 available [1.1.0+11] [1.0.0+11]
+ libhello ^1.0.0 configured 1.0.0+4 available [1.1.0+12] [1.0.0+12]
+ bdep sync libhello
synchronizing:
- new libformat/1.0.0+11 (required by libhello)
- new libprint/1.0.0+11 (required by libhello)
- upgrade libhello/1.1.0+11
+ new libformat/1.0.0+12 (required by libhello)
+ new libprint/1.0.0+12 (required by libhello)
+ upgrade libhello/1.1.0+12
reconfigure hello/0.1.0#1
+ bdep sync libhello/1.0.0
synchronizing:
- drop libprint/1.0.0+11 (unused)
- drop libformat/1.0.0+11 (unused)
- downgrade libhello/1.0.0+11
+ drop libprint/1.0.0+12 (unused)
+ drop libformat/1.0.0+12 (unused)
+ downgrade libhello/1.0.0+12
reconfigure hello/0.1.0#1
-Script done on 2023-06-28 11:17:55+02:00 [COMMAND_EXIT_CODE="0"]
+Script done on 2024-06-13 07:54:53+02:00 [COMMAND_EXIT_CODE="0"]
diff --git a/intro2-tour b/intro2-tour
index 8af8fea..99f1a79 100755
--- a/intro2-tour
+++ b/intro2-tour
@@ -421,7 +421,7 @@ sed -i -re 's/^#import/import/' hello/hello/buildfile
show bdep test
cd ..
-# Package Consumption.
+# Package Consumption: executable.
#
rm -rf tools
@@ -435,8 +435,37 @@ show bpkg create -d tools cc \
show cd tools
show bpkg build hello@https://git.build2.org/hello/hello.git
+
show bpkg install hello
show /opt/tools/bin/hello World
show tree /opt/tools
show bpkg uninstall hello
+
+show bpkg install -r hello
+show tree /opt/tools
+show bpkg uninstall -r hello
+
show bpkg drop hello
+cd ..
+
+# Package Consumption: library.
+#
+rm -rf libs
+
+show bpkg create -d libs cc \
+ config.cxx=$gcc \
+ config.cc.coptions=-O3 \
+ config.install.root=/opt/libs \
+ config.install.sudo=sudo \
+ config.bin.rpath=/opt/libs/lib \
+ config.bin.lib=shared
+
+show cd libs
+
+show bpkg build libhello@https://git.build2.org/hello/libhello.git
+show bpkg install libhello
+show tree /opt/libs
+show bpkg uninstall libhello
+show bpkg drop libhello
+
+cd ..
diff --git a/intro2-tour.orig b/intro2-tour.orig
index 53015a0..1dd9d18 100644
--- a/intro2-tour.orig
+++ b/intro2-tour.orig
@@ -1,4 +1,4 @@
-Script started on 2023-06-28 11:58:39+02:00 [COMMAND="./intro2-tour" TERM="xterm-256color" TTY="/dev/pts/21" COLUMNS="160" LINES="47"]
+Script started on 2024-06-14 08:54:30+02:00 [COMMAND="./intro2-tour" TERM="xterm-256color" TTY="/dev/pts/2" COLUMNS="163" LINES="49"]
+ bdep new -t exe -l c++ hello
created new executable project hello in /tmp/hello/
@@ -67,8 +67,8 @@ description-file: README.md
url: https://example.org/hello
email: boris@codesynthesis.com
#build-error-email: boris@codesynthesis.com
-depends: * build2 >= 0.15.0
-depends: * bpkg >= 0.15.0
+depends: * build2 >= 0.16.0
+depends: * bpkg >= 0.16.0
#depends: libhello ^1.0.0
+ bdep init -C ../hello-gcc @gcc cc config.cxx=g++
@@ -187,8 +187,8 @@ Hello, Windows!
+ git add .
+ git commit -m Initial implementation
-[master (root-commit) 014a3ac] Initial implementation
- 13 files changed, 143 insertions(+)
+[master (root-commit) f1557e8] Initial implementation
+ 13 files changed, 180 insertions(+)
create mode 100644 .gitattributes
create mode 100644 .gitignore
create mode 100644 README.md
@@ -207,18 +207,18 @@ Hello, Windows!
+ git push --no-progress origin master -u --force
To github.com:boris-kolpackov/hello.git
- + 943049b...014a3ac master -> master (forced update)
+ + b5d5331...f1557e8 master -> master (forced update)
branch 'master' set up to track 'origin/master'.
+ bdep ci --simulate success
submitting:
to: https://ci.stage.build2.org
- in: https://github.com/boris-kolpackov/hello.git#master@014a3ac5e6132b6951f6bd8c2d759ae881dea3f6
+ in: https://github.com/boris-kolpackov/hello.git#master@f1557e892c5b9e3963f6f0511d6f18e6a5a1770c
package: hello
- version: 0.1.0-a.0.20230628095907.014a3ac5e613
-continue? [Y/n] y
-CI request is queued: https://ci.stage.build2.org/@8338f18e-8ebf-4def-9520-473748b4d6f4
-reference: 8338f18e-8ebf-4def-9520-473748b4d6f4
+ version: 0.1.0-a.0.20240614065458.f1557e892c5b
+continue? [Y/n]
+CI request is queued: https://ci.stage.build2.org/@3cc3364a-0b9a-4b2a-aa70-c8027f9daaf5
+reference: 3cc3364a-0b9a-4b2a-aa70-c8027f9daaf5
+ bdep deinit @gcc @clang
deinitializing in project /tmp/hello/
@@ -247,15 +247,15 @@ git:build2.org/hello/libhello https://git.build2.org/hello/libhello.git
prerequisite git:build2.org/hello/libprint##HEAD https://git.build2.org/hello/libprint.git##HEAD
prerequisite git:build2.org/hello/libformat##HEAD https://git.build2.org/hello/libformat.git##HEAD
-libhello/1.0.0+11
-libhello/1.1.0+11
+libhello/1.0.0+12
+libhello/1.1.0+12
+ bpkg rep-info https://git.build2.org/hello/libhello.git#HEAD
git:build2.org/hello/libhello#HEAD https://git.build2.org/hello/libhello.git#HEAD
prerequisite git:build2.org/hello/libprint##HEAD https://git.build2.org/hello/libprint.git##HEAD
prerequisite git:build2.org/hello/libformat##HEAD https://git.build2.org/hello/libformat.git##HEAD
-libhello/1.1.0+11
+libhello/1.1.0+12
+ bdep status
fetching pkg:stage.build2.org (prerequisite of dir:/tmp/hello)
@@ -268,24 +268,24 @@ hello configured 0.1.0-a.0.19700101000000 available 0.1.0-a.0.19700101000000#1
+ bdep sync
synchronizing:
- new libhello/1.0.0+11 (required by hello)
+ new libhello/1.0.0+12 (required by hello)
upgrade hello/0.1.0-a.0.19700101000000#1
+ b
synchronizing /tmp/hello-gcc/:
upgrade hello/0.1.0-a.0.19700101000000#2
-version ../hello-gcc/libhello-1.0.0+11/libhello/in{version} -> ../hello-gcc/libhello-1.0.0+11/libhello/hxx{version}
+version ../hello-gcc/libhello-1.0.0+12/libhello/in{version} -> ../hello-gcc/libhello-1.0.0+12/libhello/hxx{version}
mkdir ../hello-gcc/hello/fsdir{hello/}
+c++ ../hello-gcc/libhello-1.0.0+12/libhello/cxx{hello} -> ../hello-gcc/libhello-1.0.0+12/libhello/objs{hello}
c++ hello/cxx{hello} -> ../hello-gcc/hello/hello/obje{hello}
-c++ ../hello-gcc/libhello-1.0.0+11/libhello/cxx{hello} -> ../hello-gcc/libhello-1.0.0+11/libhello/objs{hello}
-ld ../hello-gcc/libhello-1.0.0+11/libhello/libs{hello}
+ld ../hello-gcc/libhello-1.0.0+12/libhello/libs{hello}
ld ../hello-gcc/hello/hello/exe{hello}
ln ../hello-gcc/hello/hello/exe{hello} -> hello/
+ bdep status -ai
in configuration @gcc:
hello configured 0.1.0-a.0.19700101000000#2
- libhello ^1.0.0 configured 1.0.0+11
+ libhello ^1.0.0 configured 1.0.0+12
in configuration @clang:
fetching pkg:stage.build2.org (prerequisite of dir:/tmp/hello)
@@ -296,37 +296,37 @@ in configuration @gcc:
in configuration @clang:
synchronizing:
- new libhello/1.0.0+11 (required by hello)
+ new libhello/1.0.0+12 (required by hello)
upgrade hello/0.1.0-a.0.19700101000000#1
+ bdep test -ai
in configuration @gcc:
-c++ ../hello-gcc/libhello-1.0.0+11/tests/basics/cxx{driver} -> ../hello-gcc/libhello-1.0.0+11/tests/basics/obje{driver}
-ld ../hello-gcc/libhello-1.0.0+11/tests/basics/exe{driver}
-test ../hello-gcc/libhello-1.0.0+11/tests/basics/exe{driver}
+c++ ../hello-gcc/libhello-1.0.0+12/tests/basics/cxx{driver} -> ../hello-gcc/libhello-1.0.0+12/tests/basics/obje{driver}
+ld ../hello-gcc/libhello-1.0.0+12/tests/basics/exe{driver}
test ../hello-gcc/hello/hello/exe{hello} + hello/testscript{testscript}
+test ../hello-gcc/libhello-1.0.0+12/tests/basics/exe{driver}
in configuration @clang:
-version ../hello-clang/libhello-1.0.0+11/libhello/in{version} -> ../hello-clang/libhello-1.0.0+11/libhello/hxx{version}
+version ../hello-clang/libhello-1.0.0+12/libhello/in{version} -> ../hello-clang/libhello-1.0.0+12/libhello/hxx{version}
mkdir ../hello-clang/hello/fsdir{hello/}
-c++ ../hello-clang/libhello-1.0.0+11/libhello/cxx{hello} -> ../hello-clang/libhello-1.0.0+11/libhello/objs{hello}
-c++ ../hello-clang/libhello-1.0.0+11/tests/basics/cxx{driver} -> ../hello-clang/libhello-1.0.0+11/tests/basics/obje{driver}
+c++ ../hello-clang/libhello-1.0.0+12/libhello/cxx{hello} -> ../hello-clang/libhello-1.0.0+12/libhello/objs{hello}
c++ hello/cxx{hello} -> ../hello-clang/hello/hello/obje{hello}
-ld ../hello-clang/libhello-1.0.0+11/libhello/libs{hello}
+c++ ../hello-clang/libhello-1.0.0+12/tests/basics/cxx{driver} -> ../hello-clang/libhello-1.0.0+12/tests/basics/obje{driver}
+ld ../hello-clang/libhello-1.0.0+12/libhello/libs{hello}
+ld ../hello-clang/libhello-1.0.0+12/tests/basics/exe{driver}
ld ../hello-clang/hello/hello/exe{hello}
-ld ../hello-clang/libhello-1.0.0+11/tests/basics/exe{driver}
test ../hello-clang/hello/hello/exe{hello} + hello/testscript{testscript}
-test ../hello-clang/libhello-1.0.0+11/tests/basics/exe{driver}
+test ../hello-clang/libhello-1.0.0+12/tests/basics/exe{driver}
+ bdep status
hello configured 0.1.0-a.0.19700101000000#2 available 0.1.0-a.0.19700101000000#3
+ bdep sync
synchronizing:
- drop libhello/1.0.0+11 (unused)
+ drop libhello/1.0.0+12 (unused)
upgrade hello/0.1.0-a.0.19700101000000#3
synchronizing:
- new libhello/1.0.0+11 (required by hello)
+ new libhello/1.0.0+12 (required by hello)
upgrade hello/0.1.0-a.0.19700101000000#4
+ bdep fetch
@@ -336,29 +336,29 @@ fetching git:build2.org/hello/libprint##HEAD (prerequisite of git:build2.org/hel
fetching pkg:stage.build2.org (prerequisite of dir:/tmp/hello)
+ bdep status libhello
-libhello configured 1.0.0+11 available [1.1.0+11]
+libhello configured 1.0.0+12 available [1.1.0+12]
+ bdep sync libhello
synchronizing:
- new libformat/1.0.0+11 (required by libhello)
- new libprint/1.0.0+11 (required by libhello)
- upgrade libhello/1.1.0+11
+ new libformat/1.0.0+12 (required by libhello)
+ new libprint/1.0.0+12 (required by libhello)
+ upgrade libhello/1.1.0+12
reconfigure hello/0.1.0-a.0.19700101000000#4
+ bdep status -r
hello configured 0.1.0-a.0.19700101000000#4
- libhello ^1.0.0 configured 1.1.0+11
- libformat ^1.0.0 configured 1.0.0+11
- libprint ^1.0.0 configured 1.0.0+11
+ libhello ^1.0.0 configured 1.1.0+12
+ libformat ^1.0.0 configured 1.0.0+12
+ libprint ^1.0.0 configured 1.0.0+12
+ bdep status -o libhello
-libhello configured 1.1.0+11 available (1.1.0+11) [1.0.0+11]
+libhello configured 1.1.0+12 available (1.1.0+12) [1.0.0+12]
+ bdep sync libhello/1.0.0
synchronizing:
- drop libprint/1.0.0+11 (unused)
- drop libformat/1.0.0+11 (unused)
- downgrade libhello/1.0.0+11
+ drop libprint/1.0.0+12 (unused)
+ drop libformat/1.0.0+12 (unused)
+ downgrade libhello/1.0.0+12
reconfigure hello/0.1.0-a.0.19700101000000#4
+ bdep new -C libextra-gcc -t lib -l c++ libextra cc config.cxx=g++
@@ -372,8 +372,8 @@ mkdir libextra-gcc/libextra/fsdir{libextra/}
version libextra/libextra/in{version} -> libextra-gcc/libextra/libextra/hxx{version}
c++ libextra/libextra/cxx{extra} -> libextra-gcc/libextra/libextra/objs{extra}
c++ libextra/libextra/cxx{extra} -> libextra-gcc/libextra/libextra/obja{extra}
-pc libextra-gcc/libextra/libextra/libs{extra} -> libextra-gcc/libextra/libextra/pcs{extra}
pc libextra-gcc/libextra/libextra/liba{extra} -> libextra-gcc/libextra/libextra/pca{extra}
+pc libextra-gcc/libextra/libextra/libs{extra} -> libextra-gcc/libextra/libextra/pcs{extra}
pc libextra-gcc/libextra/libextra/lib{extra} -> libextra-gcc/libextra/libextra/pc{extra}
ld libextra-gcc/libextra/libextra/libs{extra}
ar libextra-gcc/libextra/libextra/liba{extra}
@@ -422,53 +422,53 @@ fetching git:build2.org/hello/libformat##HEAD (prerequisite of git:build2.org/he
fetching git:build2.org/hello/libprint##HEAD (prerequisite of git:build2.org/hello/libhello)
fetching pkg:stage.build2.org (prerequisite of dir:/tmp/hello)
synchronizing:
- new libformat/1.0.0+11 (required by libhello)
- new libprint/1.0.0+11 (required by libhello)
- new libhello/1.1.0+11 (required by hello)
+ new libformat/1.0.0+12 (required by libhello)
+ new libprint/1.0.0+12 (required by libhello)
+ new libhello/1.1.0+12 (required by hello)
new hello/0.1.0-a.0.19700101000000
+ b test: ../hello-gcc-1/
-version ../hello-gcc-1/libprint-1.0.0+11/libprint/in{version} -> ../hello-gcc-1/libprint-1.0.0+11/libprint/hxx{version}
-version ../hello-gcc-1/libformat-1.0.0+11/libformat/in{version} -> ../hello-gcc-1/libformat-1.0.0+11/libformat/hxx{version}
-version ../hello-gcc-1/libhello-1.1.0+11/libhello/in{version} -> ../hello-gcc-1/libhello-1.1.0+11/libhello/hxx{version}
+version ../hello-gcc-1/libformat-1.0.0+12/libformat/in{version} -> ../hello-gcc-1/libformat-1.0.0+12/libformat/hxx{version}
+version ../hello-gcc-1/libprint-1.0.0+12/libprint/in{version} -> ../hello-gcc-1/libprint-1.0.0+12/libprint/hxx{version}
+version ../hello-gcc-1/libhello-1.1.0+12/libhello/in{version} -> ../hello-gcc-1/libhello-1.1.0+12/libhello/hxx{version}
mkdir ../hello-gcc-1/hello/fsdir{hello/}
-c++ ../hello-gcc-1/libformat-1.0.0+11/tests/basics/cxx{driver} -> ../hello-gcc-1/libformat-1.0.0+11/tests/basics/obje{driver}
-c++ ../hello-gcc-1/libformat-1.0.0+11/libformat/cxx{format} -> ../hello-gcc-1/libformat-1.0.0+11/libformat/objs{format}
-c++ ../hello-gcc-1/libprint-1.0.0+11/tests/basics/cxx{driver} -> ../hello-gcc-1/libprint-1.0.0+11/tests/basics/obje{driver}
-c++ ../hello-gcc-1/libhello-1.1.0+11/libhello/cxx{hello} -> ../hello-gcc-1/libhello-1.1.0+11/libhello/objs{hello}
-c++ ../hello-gcc-1/libprint-1.0.0+11/libprint/cxx{print} -> ../hello-gcc-1/libprint-1.0.0+11/libprint/objs{print}
c++ hello/cxx{hello} -> ../hello-gcc-1/hello/hello/obje{hello}
-c++ ../hello-gcc-1/libhello-1.1.0+11/tests/basics/cxx{driver} -> ../hello-gcc-1/libhello-1.1.0+11/tests/basics/obje{driver}
-ld ../hello-gcc-1/libprint-1.0.0+11/libprint/libs{print}
-ld ../hello-gcc-1/libformat-1.0.0+11/libformat/libs{format}
-ld ../hello-gcc-1/libprint-1.0.0+11/tests/basics/exe{driver}
-ld ../hello-gcc-1/libformat-1.0.0+11/tests/basics/exe{driver}
-ld ../hello-gcc-1/libhello-1.1.0+11/libhello/libs{hello}
+c++ ../hello-gcc-1/libformat-1.0.0+12/libformat/cxx{format} -> ../hello-gcc-1/libformat-1.0.0+12/libformat/objs{format}
+c++ ../hello-gcc-1/libprint-1.0.0+12/libprint/cxx{print} -> ../hello-gcc-1/libprint-1.0.0+12/libprint/objs{print}
+c++ ../hello-gcc-1/libprint-1.0.0+12/tests/basics/cxx{driver} -> ../hello-gcc-1/libprint-1.0.0+12/tests/basics/obje{driver}
+c++ ../hello-gcc-1/libformat-1.0.0+12/tests/basics/cxx{driver} -> ../hello-gcc-1/libformat-1.0.0+12/tests/basics/obje{driver}
+c++ ../hello-gcc-1/libhello-1.1.0+12/libhello/cxx{hello} -> ../hello-gcc-1/libhello-1.1.0+12/libhello/objs{hello}
+c++ ../hello-gcc-1/libhello-1.1.0+12/tests/basics/cxx{driver} -> ../hello-gcc-1/libhello-1.1.0+12/tests/basics/obje{driver}
+ld ../hello-gcc-1/libprint-1.0.0+12/libprint/libs{print}
+ld ../hello-gcc-1/libprint-1.0.0+12/tests/basics/exe{driver}
+ld ../hello-gcc-1/libformat-1.0.0+12/libformat/libs{format}
+ld ../hello-gcc-1/libformat-1.0.0+12/tests/basics/exe{driver}
+ld ../hello-gcc-1/libhello-1.1.0+12/libhello/libs{hello}
ld ../hello-gcc-1/hello/hello/exe{hello}
-ld ../hello-gcc-1/libhello-1.1.0+11/tests/basics/exe{driver}
-test ../hello-gcc-1/libhello-1.1.0+11/tests/basics/exe{driver}
-test ../hello-gcc-1/libformat-1.0.0+11/tests/basics/exe{driver}
+ld ../hello-gcc-1/libhello-1.1.0+12/tests/basics/exe{driver}
test ../hello-gcc-1/hello/hello/exe{hello} + hello/testscript{testscript}
-test ../hello-gcc-1/libprint-1.0.0+11/tests/basics/exe{driver}
+test ../hello-gcc-1/libformat-1.0.0+12/tests/basics/exe{driver}
+test ../hello-gcc-1/libhello-1.1.0+12/tests/basics/exe{driver}
+test ../hello-gcc-1/libprint-1.0.0+12/tests/basics/exe{driver}
+ b configure: ../hello-gcc/ config.cc.poptions+=-I/tmp/unpkg-gcc/include config.cc.loptions+=-L/tmp/unpkg-gcc/lib
save ../hello-gcc/build/config.build
save ../hello-gcc/hello/build/config.build
-save ../hello-gcc/libhello-1.0.0+11/build/config.build
-save ../hello-gcc/libhello-1.0.0+11/tests/build/config.build
+save ../hello-gcc/libhello-1.0.0+12/build/config.build
+save ../hello-gcc/libhello-1.0.0+12/tests/build/config.build
+ b test
-version ../hello-gcc/libhello-1.0.0+11/libhello/in{version} -> ../hello-gcc/libhello-1.0.0+11/libhello/hxx{version}
-c++ ../hello-gcc/libhello-1.0.0+11/libhello/cxx{hello} -> ../hello-gcc/libhello-1.0.0+11/libhello/objs{hello}
+version ../hello-gcc/libhello-1.0.0+12/libhello/in{version} -> ../hello-gcc/libhello-1.0.0+12/libhello/hxx{version}
c++ hello/cxx{hello} -> ../hello-gcc/hello/hello/obje{hello}
-ld ../hello-gcc/libhello-1.0.0+11/libhello/libs{hello}
+c++ ../hello-gcc/libhello-1.0.0+12/libhello/cxx{hello} -> ../hello-gcc/libhello-1.0.0+12/libhello/objs{hello}
+ld ../hello-gcc/libhello-1.0.0+12/libhello/libs{hello}
ld ../hello-gcc/hello/hello/exe{hello}
ln ../hello-gcc/hello/hello/exe{hello} -> hello/
test ../hello-gcc/hello/hello/exe{hello} + hello/testscript{testscript}
+ bdep sync ?sys:libsqlite3
synchronizing:
- configure sys:libsqlite3/3.40.1 (required by hello)
+ configure sys:libsqlite3/3.42.0 (required by hello)
upgrade hello/0.1.0-a.0.19700101000000#5
+ bdep new -t exe -l c++ hello
@@ -502,13 +502,13 @@ as if by executing command(s):
bdep config create -d /tmp/hello @host --type host --no-default --forward /tmp/hello-host cc config.config.load=~host
while searching for configuration for build-time dependency xxd of package hello/0.1.0-a.0.19700101000000#1 [/tmp/hello-gcc/]
while synchronizing configuration /tmp/hello-gcc/
-continue? [Y/n] y
+continue? [Y/n]
synchronizing /tmp/hello-gcc/:
- new xxd/8.2.3075+1 [/tmp/hello-host/] (required by hello)
+ new xxd/8.2.3075+2 [/tmp/hello-host/] (required by hello)
upgrade hello/0.1.0-a.0.19700101000000#1
mkdir ../hello-gcc/hello/fsdir{hello/}
-c ../hello-host/xxd-8.2.3075+1/c{xxd} -> ../hello-host/xxd-8.2.3075+1/obje{xxd}
-ld ../hello-host/xxd-8.2.3075+1/exe{xxd}
+c ../hello-host/xxd-8.2.3075+2/c{xxd} -> ../hello-host/xxd-8.2.3075+2/obje{xxd}
+ld ../hello-host/xxd-8.2.3075+2/exe{xxd}
xxd hello/file{names.txt} -> ../hello-gcc/hello/hello/cxx{names}
c++ ../hello-gcc/hello/hello/cxx{names} -> ../hello-gcc/hello/hello/obje{names}
c++ hello/cxx{hello} -> ../hello-gcc/hello/hello/obje{hello}
@@ -542,13 +542,13 @@ as if by executing command(s):
bdep config create -d /tmp/hello @build2 --type build2 --no-default --forward /tmp/hello-build2 cc config.config.load=~build2
while searching for configuration for build-time dependency libbuild2-hello of package hello/0.1.0-a.0.19700101000000#2 [/tmp/hello-gcc/]
while synchronizing configuration /tmp/hello-gcc/
-continue? [Y/n] y
+continue? [Y/n]
synchronizing /tmp/hello-gcc/:
- new libbuild2-hello/0.1.0 [/tmp/hello-build2/] (required by hello [/tmp/hello-clang/], hello [/tmp/hello-gcc/])
+ new libbuild2-hello/0.2.0 [/tmp/hello-build2/] (required by hello [/tmp/hello-clang/], hello [/tmp/hello-gcc/])
upgrade hello/0.1.0-a.0.19700101000000#2 [/tmp/hello-gcc/]
upgrade hello/0.1.0-a.0.19700101000000#2 [/tmp/hello-clang/]
-c++ ../hello-build2/libbuild2-hello-0.1.0/libbuild2/hello/cxx{init} -> ../hello-build2/libbuild2-hello-0.1.0/libbuild2/hello/objs{init}
-ld ../hello-build2/libbuild2-hello-0.1.0/libbuild2/hello/libs{build2-hello}
+c++ ../hello-build2/libbuild2-hello-0.2.0/libbuild2/hello/cxx{init} -> ../hello-build2/libbuild2-hello-0.2.0/libbuild2/hello/objs{init}
+ld ../hello-build2/libbuild2-hello-0.2.0/libbuild2/hello/libs{build2-hello}
hello/buildfile:10:7: info: module hello initialized
hello/buildfile:10:7: info: module hello initialized
hello/buildfile:10:7: info: module hello initialized
@@ -588,21 +588,24 @@ linked configuration @clang (target) with configuration @base (target)
initializing in project /tmp/hello/
fetching pkg:stage.build2.org (prerequisite of dir:/tmp/hello)
synchronizing:
- new libhello/1.0.0+11 [/tmp/hello-base/] (required by hello)
+ new libhello/1.0.0+12 [/tmp/hello-base/] (required by hello)
new hello/0.1.0-a.0.19700101000000
+ bdep init @clang
initializing in project /tmp/hello/
+fetching in configuration /tmp/hello-clang/
+fetching pkg:stage.build2.org (prerequisite of dir:/tmp/hello)
+fetching in configuration /tmp/hello-gcc/
fetching pkg:stage.build2.org (prerequisite of dir:/tmp/hello)
synchronizing:
new hello/0.1.0-a.0.19700101000000 [/tmp/hello-clang/]
+ bdep update @gcc
-version ../hello-base/libhello-1.0.0+11/libhello/in{version} -> ../hello-base/libhello-1.0.0+11/libhello/hxx{version}
+version ../hello-base/libhello-1.0.0+12/libhello/in{version} -> ../hello-base/libhello-1.0.0+12/libhello/hxx{version}
mkdir ../hello-gcc/hello/fsdir{hello/}
-c++ ../hello-base/libhello-1.0.0+11/libhello/cxx{hello} -> ../hello-base/libhello-1.0.0+11/libhello/objs{hello}
+c++ ../hello-base/libhello-1.0.0+12/libhello/cxx{hello} -> ../hello-base/libhello-1.0.0+12/libhello/objs{hello}
c++ hello/cxx{hello} -> ../hello-gcc/hello/hello/obje{hello}
-ld ../hello-base/libhello-1.0.0+11/libhello/libs{hello}
+ld ../hello-base/libhello-1.0.0+12/libhello/libs{hello}
ld ../hello-gcc/hello/hello/exe{hello}
ln ../hello-gcc/hello/hello/exe{hello} -> hello/
@@ -622,8 +625,8 @@ To github.com:boris-kolpackov/hello.git
- [deleted] v0.1.0-a.1
To github.com:boris-kolpackov/hello.git
- [deleted] v0.1.0
-[master (root-commit) ba9d966] Initial implementation
- 13 files changed, 143 insertions(+)
+[master (root-commit) 9a5ee6a] Initial implementation
+ 13 files changed, 180 insertions(+)
create mode 100644 .gitattributes
create mode 100644 .gitignore
create mode 100644 README.md
@@ -638,15 +641,15 @@ To github.com:boris-kolpackov/hello.git
create mode 100644 manifest
create mode 100644 repositories.manifest
To github.com:boris-kolpackov/hello.git
- + 014a3ac...ba9d966 master -> master (forced update)
+ + f1557e8...9a5ee6a master -> master (forced update)
branch 'master' set up to track 'origin/master'.
+ bdep status
-hello configured 0.1.0-a.0.19700101000000 available 0.1.0-a.0.20230628100234.ba9d966a610f
+hello configured 0.1.0-a.0.19700101000000 available 0.1.0-a.0.20240614070009.9a5ee6aefda4
+ b info
project: hello
-version: 0.1.0-a.0.20230628100234.ba9d966a610f
+version: 0.1.0-a.0.20240614070009.9a5ee6aefda4
summary: hello C++ executable
url: https://example.org/hello
src_root: /tmp/hello
@@ -659,15 +662,15 @@ modules: version config test install dist
+ bdep sync
synchronizing:
- upgrade hello/0.1.0-a.0.20230628100234.ba9d966a610f
+ upgrade hello/0.1.0-a.0.20240614070009.9a5ee6aefda4
+ bdep status
-hello configured 0.1.0-a.0.20230628100234.ba9d966a610f
-[master be5bffa] Another commit
+hello configured 0.1.0-a.0.20240614070009.9a5ee6aefda4
+[master 432d4a8] Another commit
1 file changed, 1 insertion(+)
+ bdep status
-hello configured 0.1.0-a.0.20230628100234.ba9d966a610f available 0.1.0-a.0.20230628100238.be5bffafe2fe
+hello configured 0.1.0-a.0.20240614070009.9a5ee6aefda4 available 0.1.0-a.0.20240614070013.432d4a88df62
+ bdep release --alpha --push
releasing:
@@ -679,9 +682,9 @@ releasing:
tag: v0.1.0-a.1
push: origin/master
continue? [y/n] y
-[master ed894b0] Release version 0.1.0-a.1
+[master c067813] Release version 0.1.0-a.1
1 file changed, 1 insertion(+), 1 deletion(-)
-[master 2bd66ae] Change version to 0.1.0-a.1.z
+[master fc9078a] Change version to 0.1.0-a.1.z
1 file changed, 1 insertion(+), 1 deletion(-)
+ bdep release --no-open --push
@@ -693,7 +696,7 @@ releasing:
tag: v0.1.0
push: origin/master
continue? [y/n] y
-[master 2cc1068] Release version 0.1.0
+[master 7e68124] Release version 0.1.0
1 file changed, 1 insertion(+), 1 deletion(-)
+ bdep publish --simulate success --repository https://stage.build2.org
@@ -714,7 +717,7 @@ remote: Create a pull request for 'build2-control' on GitHub by visiting:
remote: https://github.com/boris-kolpackov/hello/pull/new/build2-control
remote:
package submission is queued: https://queue.stage.build2.org/hello/0.1.0
-reference: 75d918f69585
+reference: 1b0de6efb08a
+ bdep release --open --push
opening:
@@ -724,7 +727,7 @@ opening:
commit: yes
push: origin/master
continue? [y/n] y
-[master 1b709b0] Change version to 0.2.0-a.0.z
+[master ccaf04c] Change version to 0.2.0-a.0.z
1 file changed, 1 insertion(+), 1 deletion(-)
+ bdep new -C hello-gcc @gcc -t exe -l c++ hello cc config.cxx=g++
@@ -792,8 +795,8 @@ mkdir ../hello-gcc/libhello/fsdir{libhello/}
version ../libhello/libhello/in{version} -> ../hello-gcc/libhello/libhello/hxx{version}
mkdir ../hello-gcc/hello/fsdir{hello/}
mkdir ../hello-gcc/libhello/tests/fsdir{basics/}
-c++ ../libhello/tests/basics/cxx{driver} -> ../hello-gcc/libhello/tests/basics/obje{driver}
c++ ../libhello/libhello/cxx{hello} -> ../hello-gcc/libhello/libhello/objs{hello}
+c++ ../libhello/tests/basics/cxx{driver} -> ../hello-gcc/libhello/tests/basics/obje{driver}
c++ hello/cxx{hello} -> ../hello-gcc/hello/hello/obje{hello}
ld ../hello-gcc/libhello/libhello/libs{hello}
ld ../hello-gcc/hello/hello/exe{hello}
@@ -847,20 +850,20 @@ mkdir ../hello-gcc/libhello/fsdir{libhello/}
version libhello/libhello/in{version} -> ../hello-gcc/libhello/libhello/hxx{version}
mkdir ../hello-gcc/hello/fsdir{hello/}
mkdir ../hello-gcc/libhello/tests/fsdir{basics/}
-c++ hello/hello/cxx{hello} -> ../hello-gcc/hello/hello/obje{hello}
c++ libhello/libhello/cxx{hello} -> ../hello-gcc/libhello/libhello/objs{hello}
+c++ hello/hello/cxx{hello} -> ../hello-gcc/hello/hello/obje{hello}
c++ libhello/tests/basics/cxx{driver} -> ../hello-gcc/libhello/tests/basics/obje{driver}
ld ../hello-gcc/libhello/libhello/libs{hello}
ld ../hello-gcc/hello/hello/exe{hello}
ld ../hello-gcc/libhello/tests/basics/exe{driver}
ln ../hello-gcc/hello/hello/exe{hello} -> hello/hello/
ln ../hello-gcc/libhello/tests/basics/exe{driver} -> libhello/tests/basics/
-test ../hello-gcc/hello/hello/exe{hello} + hello/hello/testscript{testscript}
test ../hello-gcc/libhello/tests/basics/exe{driver}
+test ../hello-gcc/hello/hello/exe{hello} + hello/hello/testscript{testscript}
+ bpkg create -d tools cc config.cxx=g++ config.cc.coptions=-O3 config.install.root=/opt/tools config.install.sudo=sudo config.bin.rpath=/opt/tools/lib
created new configuration in /tmp/tools/
- uuid: c835ee18-540c-40ca-a727-977c2cb1fd2d
+ uuid: 2921cea1-5bae-4ca9-8859-f38681b97682
type: target
+ cd tools
@@ -871,72 +874,142 @@ fetching git:build2.org/hello/hello
fetching git:build2.org/hello/libhello (prerequisite of git:build2.org/hello/hello)
fetching git:build2.org/hello/libformat##HEAD (prerequisite of git:build2.org/hello/libhello)
fetching git:build2.org/hello/libprint##HEAD (prerequisite of git:build2.org/hello/libhello)
- new libformat/1.0.0+11 (required by libhello)
- new libprint/1.0.0+11 (required by libhello)
- new libhello/1.1.0+11 (required by hello)
- new hello/1.0.0+10
-continue? [Y/n] y
-checked out libformat/1.0.0+11
-checked out libprint/1.0.0+11
-checked out libhello/1.1.0+11
-checked out hello/1.0.0+10
-configured libformat/1.0.0+11
-configured libprint/1.0.0+11
-configured libhello/1.1.0+11
-configured hello/1.0.0+10
-version libprint-1.0.0+11/libprint/in{version} -> libprint-1.0.0+11/libprint/hxx{version}
-version libformat-1.0.0+11/libformat/in{version} -> libformat-1.0.0+11/libformat/hxx{version}
-version libhello-1.1.0+11/libhello/in{version} -> libhello-1.1.0+11/libhello/hxx{version}
-c++ libprint-1.0.0+11/libprint/cxx{print} -> libprint-1.0.0+11/libprint/objs{print}
-c++ libformat-1.0.0+11/libformat/cxx{format} -> libformat-1.0.0+11/libformat/objs{format}
-c++ libhello-1.1.0+11/libhello/cxx{hello} -> libhello-1.1.0+11/libhello/objs{hello}
-c++ hello-1.0.0+10/hello/cxx{hello} -> hello-1.0.0+10/hello/obje{hello}
-ld libprint-1.0.0+11/libprint/libs{print}
-ld libformat-1.0.0+11/libformat/libs{format}
-ld libhello-1.1.0+11/libhello/libs{hello}
-ld hello-1.0.0+10/hello/exe{hello}
-updated hello/1.0.0+10
+ new libformat/1.0.0+12 (required by libhello)
+ new libprint/1.0.0+12 (required by libhello)
+ new libhello/1.1.0+12 (required by hello)
+ new hello/1.0.0+11
+continue? [Y/n]
+checked out libformat/1.0.0+12
+checked out libprint/1.0.0+12
+checked out libhello/1.1.0+12
+checked out hello/1.0.0+11
+configured libformat/1.0.0+12
+configured libprint/1.0.0+12
+configured libhello/1.1.0+12
+configured hello/1.0.0+11
+version libformat-1.0.0+12/libformat/in{version} -> libformat-1.0.0+12/libformat/hxx{version}
+version libprint-1.0.0+12/libprint/in{version} -> libprint-1.0.0+12/libprint/hxx{version}
+version libhello-1.1.0+12/libhello/in{version} -> libhello-1.1.0+12/libhello/hxx{version}
+c++ libformat-1.0.0+12/libformat/cxx{format} -> libformat-1.0.0+12/libformat/objs{format}
+c++ libprint-1.0.0+12/libprint/cxx{print} -> libprint-1.0.0+12/libprint/objs{print}
+c++ libhello-1.1.0+12/libhello/cxx{hello} -> libhello-1.1.0+12/libhello/objs{hello}
+c++ hello-1.0.0+11/hello/cxx{hello} -> hello-1.0.0+11/hello/obje{hello}
+ld libprint-1.0.0+12/libprint/libs{print}
+ld libformat-1.0.0+12/libformat/libs{format}
+ld libhello-1.1.0+12/libhello/libs{hello}
+ld hello-1.0.0+11/hello/exe{hello}
+updated hello/1.0.0+11
+ bpkg install hello
-pc libformat-1.0.0+11/libformat/libs{format} -> libformat-1.0.0+11/libformat/pcs{format}
-pc libprint-1.0.0+11/libprint/libs{print} -> libprint-1.0.0+11/libprint/pcs{print}
-pc libhello-1.1.0+11/libhello/libs{hello} -> libhello-1.1.0+11/libhello/pcs{hello}
-ld libhello-1.1.0+11/libhello/libs{hello}
-ld hello-1.0.0+10/hello/exe{hello}
+pc libformat-1.0.0+12/libformat/libs{format} -> libformat-1.0.0+12/libformat/pcs{format}
+pc libprint-1.0.0+12/libprint/libs{print} -> libprint-1.0.0+12/libprint/pcs{print}
+pc libhello-1.1.0+12/libhello/libs{hello} -> libhello-1.1.0+12/libhello/pcs{hello}
+ld libhello-1.1.0+12/libhello/libs{hello}
+ld hello-1.0.0+11/hello/exe{hello}
+install -d /opt/tools/
+install -d /opt/tools/lib/
+install libprint-1.0.0+12/libprint/libs{print} -> /opt/tools/lib/
+install libformat-1.0.0+12/libformat/libs{format} -> /opt/tools/lib/
+install libhello-1.1.0+12/libhello/libs{hello} -> /opt/tools/lib/
+install -d /opt/tools/bin/
+install hello-1.0.0+11/hello/exe{hello} -> /opt/tools/bin/
+install -d /opt/tools/share/
+install -d /opt/tools/share/doc/
+install -d /opt/tools/share/doc/hello/
+install hello-1.0.0+11/doc{README.md} -> /opt/tools/share/doc/hello/
+install hello-1.0.0+11/manifest{manifest} -> /opt/tools/share/doc/hello/
+installed hello/1.0.0+11
+
++ /opt/tools/bin/hello World
+Hello, World!
+
++ tree /opt/tools
+/opt/tools
+├── bin
+│   └── hello
+├── lib
+│   ├── libformat-1.0.so
+│   ├── libhello-1.1.so
+│   └── libprint-1.0.so
+└── share
+ └── doc
+ └── hello
+ ├── manifest
+ └── README.md
+
+6 directories, 6 files
+
++ bpkg uninstall hello
+uninstall hello-1.0.0+11/manifest{manifest} <- /opt/tools/share/doc/hello/
+uninstall hello-1.0.0+11/doc{README.md} <- /opt/tools/share/doc/hello/
+uninstall -d /opt/tools/share/doc/hello/
+uninstall -d /opt/tools/share/doc/
+uninstall -d /opt/tools/share/
+uninstall hello-1.0.0+11/hello/exe{hello} <- /opt/tools/bin/
+uninstall -d /opt/tools/bin/
+uninstall libhello-1.1.0+12/libhello/libs{hello} <- /opt/tools/lib/
+uninstall libformat-1.0.0+12/libformat/libs{format} <- /opt/tools/lib/
+uninstall libprint-1.0.0+12/libprint/libs{print} <- /opt/tools/lib/
+uninstall -d /opt/tools/lib/
+uninstall -d /opt/tools/
+uninstalled hello/1.0.0+11
+
++ bpkg install -r hello
+c++ libprint-1.0.0+12/libprint/cxx{print} -> libprint-1.0.0+12/libprint/obja{print}
+pc libformat-1.0.0+12/libformat/libs{format} -> libformat-1.0.0+12/libformat/pcs{format}
+pc libprint-1.0.0+12/libprint/libs{print} -> libprint-1.0.0+12/libprint/pcs{print}
+c++ libformat-1.0.0+12/libformat/cxx{format} -> libformat-1.0.0+12/libformat/obja{format}
+c++ libhello-1.1.0+12/libhello/cxx{hello} -> libhello-1.1.0+12/libhello/obja{hello}
+pc libhello-1.1.0+12/libhello/libs{hello} -> libhello-1.1.0+12/libhello/pcs{hello}
+pc libprint-1.0.0+12/libprint/liba{print} -> libprint-1.0.0+12/libprint/pca{print}
+pc libprint-1.0.0+12/libprint/lib{print} -> libprint-1.0.0+12/libprint/pc{print}
+ar libprint-1.0.0+12/libprint/liba{print}
+pc libformat-1.0.0+12/libformat/liba{format} -> libformat-1.0.0+12/libformat/pca{format}
+pc libformat-1.0.0+12/libformat/lib{format} -> libformat-1.0.0+12/libformat/pc{format}
+ar libformat-1.0.0+12/libformat/liba{format}
+pc libhello-1.1.0+12/libhello/liba{hello} -> libhello-1.1.0+12/libhello/pca{hello}
+pc libhello-1.1.0+12/libhello/lib{hello} -> libhello-1.1.0+12/libhello/pc{hello}
+ar libhello-1.1.0+12/libhello/liba{hello}
install -d /opt/tools/
install -d /opt/tools/include/
install -d /opt/tools/include/libhello/
-install libhello-1.1.0+11/libhello/hxx{export} -> /opt/tools/include/libhello/
-install libhello-1.1.0+11/libhello/hxx{hello} -> /opt/tools/include/libhello/
+install libhello-1.1.0+12/libhello/hxx{export} -> /opt/tools/include/libhello/
+install libhello-1.1.0+12/libhello/hxx{hello} -> /opt/tools/include/libhello/
install -d /opt/tools/share/
install -d /opt/tools/share/doc/
install -d /opt/tools/share/doc/libhello/
-install libhello-1.1.0+11/manifest{manifest} -> /opt/tools/share/doc/libhello/
-install libhello-1.1.0+11/libhello/hxx{version} -> /opt/tools/include/libhello/
+install libhello-1.1.0+12/manifest{manifest} -> /opt/tools/share/doc/libhello/
+install libhello-1.1.0+12/libhello/hxx{version} -> /opt/tools/include/libhello/
install -d /opt/tools/include/libprint/
-install libprint-1.0.0+11/libprint/hxx{export} -> /opt/tools/include/libprint/
-install libprint-1.0.0+11/libprint/hxx{print} -> /opt/tools/include/libprint/
+install libprint-1.0.0+12/libprint/hxx{export} -> /opt/tools/include/libprint/
+install libprint-1.0.0+12/libprint/hxx{print} -> /opt/tools/include/libprint/
install -d /opt/tools/share/doc/libprint/
-install libprint-1.0.0+11/manifest{manifest} -> /opt/tools/share/doc/libprint/
-install libprint-1.0.0+11/libprint/hxx{version} -> /opt/tools/include/libprint/
-install libprint-1.0.0+11/libprint/libs{print} -> /opt/tools/lib/
+install libprint-1.0.0+12/manifest{manifest} -> /opt/tools/share/doc/libprint/
+install libprint-1.0.0+12/libprint/hxx{version} -> /opt/tools/include/libprint/
+install libprint-1.0.0+12/libprint/libs{print} -> /opt/tools/lib/
install -d /opt/tools/include/libformat/
-install libformat-1.0.0+11/libformat/hxx{export} -> /opt/tools/include/libformat/
-install libformat-1.0.0+11/libformat/hxx{format} -> /opt/tools/include/libformat/
+install libformat-1.0.0+12/libformat/hxx{export} -> /opt/tools/include/libformat/
+install libformat-1.0.0+12/libformat/hxx{format} -> /opt/tools/include/libformat/
install -d /opt/tools/share/doc/libformat/
-install libformat-1.0.0+11/manifest{manifest} -> /opt/tools/share/doc/libformat/
-install libformat-1.0.0+11/libformat/hxx{version} -> /opt/tools/include/libformat/
-install libformat-1.0.0+11/libformat/libs{format} -> /opt/tools/lib/
-install libhello-1.1.0+11/libhello/libs{hello} -> /opt/tools/lib/
+install libformat-1.0.0+12/manifest{manifest} -> /opt/tools/share/doc/libformat/
+install libformat-1.0.0+12/libformat/hxx{version} -> /opt/tools/include/libformat/
+install libformat-1.0.0+12/libformat/libs{format} -> /opt/tools/lib/
+install libhello-1.1.0+12/libhello/libs{hello} -> /opt/tools/lib/
install -d /opt/tools/bin/
-install hello-1.0.0+10/hello/exe{hello} -> /opt/tools/bin/
+install hello-1.0.0+11/hello/exe{hello} -> /opt/tools/bin/
install -d /opt/tools/share/doc/hello/
-install hello-1.0.0+10/doc{README.md} -> /opt/tools/share/doc/hello/
-install hello-1.0.0+10/manifest{manifest} -> /opt/tools/share/doc/hello/
-installed hello/1.0.0+10
-
-+ /opt/tools/bin/hello World
-Hello, World!
+install hello-1.0.0+11/doc{README.md} -> /opt/tools/share/doc/hello/
+install hello-1.0.0+11/manifest{manifest} -> /opt/tools/share/doc/hello/
+install libprint-1.0.0+12/libprint/liba{print} -> /opt/tools/lib/
+install libformat-1.0.0+12/libformat/liba{format} -> /opt/tools/lib/
+install libhello-1.1.0+12/libhello/liba{hello} -> /opt/tools/lib/
+install libhello-1.1.0+12/doc{README.md} -> /opt/tools/share/doc/libhello/
+install libformat-1.0.0+12/doc{README.md} -> /opt/tools/share/doc/libformat/
+install libprint-1.0.0+12/doc{README.md} -> /opt/tools/share/doc/libprint/
+installed hello/1.0.0+11
+installed libhello/1.1.0+12
+installed libformat/1.0.0+12
+installed libprint/1.0.0+12
+ tree /opt/tools
/opt/tools
@@ -957,73 +1030,94 @@ Hello, World!
│   └── version.hxx
├── lib
│   ├── libformat-1.0.so
+│   ├── libformat.a
│   ├── libformat.so -> libformat-1.0.so
│   ├── libhello-1.1.so
+│   ├── libhello.a
│   ├── libhello.so -> libhello-1.1.so
│   ├── libprint-1.0.so
+│   ├── libprint.a
│   ├── libprint.so -> libprint-1.0.so
│   └── pkgconfig
+│   ├── libformat.pc
│   ├── libformat.shared.pc
+│   ├── libformat.static.pc
+│   ├── libhello.pc
│   ├── libhello.shared.pc
-│   └── libprint.shared.pc
+│   ├── libhello.static.pc
+│   ├── libprint.pc
+│   ├── libprint.shared.pc
+│   └── libprint.static.pc
└── share
└── doc
├── hello
│   ├── manifest
│   └── README.md
├── libformat
- │   └── manifest
+ │   ├── manifest
+ │   └── README.md
├── libhello
- │   └── manifest
+ │   ├── manifest
+ │   └── README.md
└── libprint
- └── manifest
-
-14 directories, 24 files
+ ├── manifest
+ └── README.md
-+ bpkg uninstall hello
-uninstall hello-1.0.0+10/manifest{manifest} <- /opt/tools/share/doc/hello/
-uninstall hello-1.0.0+10/doc{README.md} <- /opt/tools/share/doc/hello/
+14 directories, 36 files
+
++ bpkg uninstall -r hello
+uninstall libprint-1.0.0+12/doc{README.md} <- /opt/tools/share/doc/libprint/
+uninstall libformat-1.0.0+12/doc{README.md} <- /opt/tools/share/doc/libformat/
+uninstall libhello-1.1.0+12/doc{README.md} <- /opt/tools/share/doc/libhello/
+uninstall libhello-1.1.0+12/libhello/liba{hello} <- /opt/tools/lib/
+uninstall libformat-1.0.0+12/libformat/liba{format} <- /opt/tools/lib/
+uninstall libprint-1.0.0+12/libprint/liba{print} <- /opt/tools/lib/
+uninstall hello-1.0.0+11/manifest{manifest} <- /opt/tools/share/doc/hello/
+uninstall hello-1.0.0+11/doc{README.md} <- /opt/tools/share/doc/hello/
uninstall -d /opt/tools/share/doc/hello/
-uninstall hello-1.0.0+10/hello/exe{hello} <- /opt/tools/bin/
+uninstall hello-1.0.0+11/hello/exe{hello} <- /opt/tools/bin/
uninstall -d /opt/tools/bin/
-uninstall libhello-1.1.0+11/libhello/libs{hello} <- /opt/tools/lib/
-uninstall libformat-1.0.0+11/libformat/libs{format} <- /opt/tools/lib/
-uninstall libformat-1.0.0+11/libformat/hxx{version} <- /opt/tools/include/libformat/
-uninstall libformat-1.0.0+11/manifest{manifest} <- /opt/tools/share/doc/libformat/
+uninstall libhello-1.1.0+12/libhello/libs{hello} <- /opt/tools/lib/
+uninstall libformat-1.0.0+12/libformat/libs{format} <- /opt/tools/lib/
+uninstall libformat-1.0.0+12/libformat/hxx{version} <- /opt/tools/include/libformat/
+uninstall libformat-1.0.0+12/manifest{manifest} <- /opt/tools/share/doc/libformat/
uninstall -d /opt/tools/share/doc/libformat/
-uninstall libformat-1.0.0+11/libformat/hxx{format} <- /opt/tools/include/libformat/
-uninstall libformat-1.0.0+11/libformat/hxx{export} <- /opt/tools/include/libformat/
+uninstall libformat-1.0.0+12/libformat/hxx{format} <- /opt/tools/include/libformat/
+uninstall libformat-1.0.0+12/libformat/hxx{export} <- /opt/tools/include/libformat/
uninstall -d /opt/tools/include/libformat/
-uninstall libprint-1.0.0+11/libprint/libs{print} <- /opt/tools/lib/
-uninstall libprint-1.0.0+11/libprint/hxx{version} <- /opt/tools/include/libprint/
-uninstall libprint-1.0.0+11/manifest{manifest} <- /opt/tools/share/doc/libprint/
+uninstall libprint-1.0.0+12/libprint/libs{print} <- /opt/tools/lib/
+uninstall libprint-1.0.0+12/libprint/hxx{version} <- /opt/tools/include/libprint/
+uninstall libprint-1.0.0+12/manifest{manifest} <- /opt/tools/share/doc/libprint/
uninstall -d /opt/tools/share/doc/libprint/
-uninstall libprint-1.0.0+11/libprint/hxx{print} <- /opt/tools/include/libprint/
-uninstall libprint-1.0.0+11/libprint/hxx{export} <- /opt/tools/include/libprint/
+uninstall libprint-1.0.0+12/libprint/hxx{print} <- /opt/tools/include/libprint/
+uninstall libprint-1.0.0+12/libprint/hxx{export} <- /opt/tools/include/libprint/
uninstall -d /opt/tools/include/libprint/
-uninstall libhello-1.1.0+11/libhello/hxx{version} <- /opt/tools/include/libhello/
-uninstall libhello-1.1.0+11/manifest{manifest} <- /opt/tools/share/doc/libhello/
+uninstall libhello-1.1.0+12/libhello/hxx{version} <- /opt/tools/include/libhello/
+uninstall libhello-1.1.0+12/manifest{manifest} <- /opt/tools/share/doc/libhello/
uninstall -d /opt/tools/share/doc/libhello/
uninstall -d /opt/tools/share/doc/
uninstall -d /opt/tools/share/
-uninstall libhello-1.1.0+11/libhello/hxx{hello} <- /opt/tools/include/libhello/
-uninstall libhello-1.1.0+11/libhello/hxx{export} <- /opt/tools/include/libhello/
+uninstall libhello-1.1.0+12/libhello/hxx{hello} <- /opt/tools/include/libhello/
+uninstall libhello-1.1.0+12/libhello/hxx{export} <- /opt/tools/include/libhello/
uninstall -d /opt/tools/include/libhello/
uninstall -d /opt/tools/include/
uninstall -d /opt/tools/
-uninstalled hello/1.0.0+10
+uninstalled hello/1.0.0+11
+uninstalled libhello/1.1.0+12
+uninstalled libformat/1.0.0+12
+uninstalled libprint/1.0.0+12
+ bpkg drop hello
following dependencies were automatically built but will no longer be used:
libhello
libformat
libprint
-drop unused packages? [Y/n] y
+drop unused packages? [Y/n]
drop hello
drop libhello
drop libformat
drop libprint
-continue? [Y/n] y
+continue? [Y/n]
disfigured hello
disfigured libhello
disfigured libformat
@@ -1033,4 +1127,161 @@ purged libhello
purged libformat
purged libprint
-Script done on 2023-06-28 12:03:39+02:00 [COMMAND_EXIT_CODE="0"]
++ bpkg create -d libs cc config.cxx=g++ config.cc.coptions=-O3 config.install.root=/opt/libs config.install.sudo=sudo config.bin.rpath=/opt/libs/lib config.bin.lib=shared
+created new configuration in /tmp/libs/
+ uuid: 0ba1e4b1-462b-43c9-b121-cc8a5089dbab
+ type: target
+
++ cd libs
+
++ bpkg build libhello@https://git.build2.org/hello/libhello.git
+added git:build2.org/hello/libhello
+fetching git:build2.org/hello/libhello
+fetching git:build2.org/hello/libformat##HEAD (prerequisite of git:build2.org/hello/libhello)
+fetching git:build2.org/hello/libprint##HEAD (prerequisite of git:build2.org/hello/libhello)
+ new libformat/1.0.0+12 (required by libhello)
+ new libprint/1.0.0+12 (required by libhello)
+ new libhello/1.1.0+12
+continue? [Y/n]
+checked out libformat/1.0.0+12
+checked out libprint/1.0.0+12
+checked out libhello/1.1.0+12
+configured libformat/1.0.0+12
+configured libprint/1.0.0+12
+configured libhello/1.1.0+12
+version libprint-1.0.0+12/libprint/in{version} -> libprint-1.0.0+12/libprint/hxx{version}
+version libformat-1.0.0+12/libformat/in{version} -> libformat-1.0.0+12/libformat/hxx{version}
+version libhello-1.1.0+12/libhello/in{version} -> libhello-1.1.0+12/libhello/hxx{version}
+c++ libformat-1.0.0+12/libformat/cxx{format} -> libformat-1.0.0+12/libformat/objs{format}
+c++ libprint-1.0.0+12/libprint/cxx{print} -> libprint-1.0.0+12/libprint/objs{print}
+c++ libhello-1.1.0+12/libhello/cxx{hello} -> libhello-1.1.0+12/libhello/objs{hello}
+c++ libhello-1.1.0+12/tests/basics/cxx{driver} -> libhello-1.1.0+12/tests/basics/obje{driver}
+ld libprint-1.0.0+12/libprint/libs{print}
+ld libformat-1.0.0+12/libformat/libs{format}
+ld libhello-1.1.0+12/libhello/libs{hello}
+ld libhello-1.1.0+12/tests/basics/exe{driver}
+updated libhello/1.1.0+12
+
++ bpkg install libhello
+pc libformat-1.0.0+12/libformat/libs{format} -> libformat-1.0.0+12/libformat/pcs{format}
+pc libformat-1.0.0+12/libformat/lib{format} -> libformat-1.0.0+12/libformat/pc{format}
+pc libprint-1.0.0+12/libprint/libs{print} -> libprint-1.0.0+12/libprint/pcs{print}
+pc libprint-1.0.0+12/libprint/lib{print} -> libprint-1.0.0+12/libprint/pc{print}
+pc libhello-1.1.0+12/libhello/libs{hello} -> libhello-1.1.0+12/libhello/pcs{hello}
+pc libhello-1.1.0+12/libhello/lib{hello} -> libhello-1.1.0+12/libhello/pc{hello}
+ld libhello-1.1.0+12/libhello/libs{hello}
+install -d /opt/libs/
+install -d /opt/libs/include/
+install -d /opt/libs/include/libhello/
+install libhello-1.1.0+12/libhello/hxx{export} -> /opt/libs/include/libhello/
+install libhello-1.1.0+12/libhello/hxx{hello} -> /opt/libs/include/libhello/
+install -d /opt/libs/share/
+install -d /opt/libs/share/doc/
+install -d /opt/libs/share/doc/libhello/
+install libhello-1.1.0+12/manifest{manifest} -> /opt/libs/share/doc/libhello/
+install libhello-1.1.0+12/libhello/hxx{version} -> /opt/libs/include/libhello/
+install -d /opt/libs/include/libprint/
+install libprint-1.0.0+12/libprint/hxx{export} -> /opt/libs/include/libprint/
+install libprint-1.0.0+12/libprint/hxx{print} -> /opt/libs/include/libprint/
+install -d /opt/libs/share/doc/libprint/
+install libprint-1.0.0+12/manifest{manifest} -> /opt/libs/share/doc/libprint/
+install libprint-1.0.0+12/libprint/hxx{version} -> /opt/libs/include/libprint/
+install libprint-1.0.0+12/libprint/libs{print} -> /opt/libs/lib/
+install -d /opt/libs/include/libformat/
+install libformat-1.0.0+12/libformat/hxx{export} -> /opt/libs/include/libformat/
+install libformat-1.0.0+12/libformat/hxx{format} -> /opt/libs/include/libformat/
+install -d /opt/libs/share/doc/libformat/
+install libformat-1.0.0+12/manifest{manifest} -> /opt/libs/share/doc/libformat/
+install libformat-1.0.0+12/libformat/hxx{version} -> /opt/libs/include/libformat/
+install libformat-1.0.0+12/libformat/libs{format} -> /opt/libs/lib/
+install libhello-1.1.0+12/libhello/libs{hello} -> /opt/libs/lib/
+install libhello-1.1.0+12/doc{README.md} -> /opt/libs/share/doc/libhello/
+installed libhello/1.1.0+12
+
++ tree /opt/libs
+/opt/libs
+├── include
+│   ├── libformat
+│   │   ├── export.hxx
+│   │   ├── format.hxx
+│   │   └── version.hxx
+│   ├── libhello
+│   │   ├── export.hxx
+│   │   ├── hello.hxx
+│   │   └── version.hxx
+│   └── libprint
+│   ├── export.hxx
+│   ├── print.hxx
+│   └── version.hxx
+├── lib
+│   ├── libformat-1.0.so
+│   ├── libformat.so -> libformat-1.0.so
+│   ├── libhello-1.1.so
+│   ├── libhello.so -> libhello-1.1.so
+│   ├── libprint-1.0.so
+│   ├── libprint.so -> libprint-1.0.so
+│   └── pkgconfig
+│   ├── libformat.pc
+│   ├── libformat.shared.pc
+│   ├── libhello.pc
+│   ├── libhello.shared.pc
+│   ├── libprint.pc
+│   └── libprint.shared.pc
+└── share
+ └── doc
+ ├── libformat
+ │   └── manifest
+ ├── libhello
+ │   ├── manifest
+ │   └── README.md
+ └── libprint
+ └── manifest
+
+12 directories, 25 files
+
++ bpkg uninstall libhello
+uninstall libhello-1.1.0+12/doc{README.md} <- /opt/libs/share/doc/libhello/
+uninstall libhello-1.1.0+12/libhello/libs{hello} <- /opt/libs/lib/
+uninstall libformat-1.0.0+12/libformat/libs{format} <- /opt/libs/lib/
+uninstall libformat-1.0.0+12/libformat/hxx{version} <- /opt/libs/include/libformat/
+uninstall libformat-1.0.0+12/manifest{manifest} <- /opt/libs/share/doc/libformat/
+uninstall -d /opt/libs/share/doc/libformat/
+uninstall libformat-1.0.0+12/libformat/hxx{format} <- /opt/libs/include/libformat/
+uninstall libformat-1.0.0+12/libformat/hxx{export} <- /opt/libs/include/libformat/
+uninstall -d /opt/libs/include/libformat/
+uninstall libprint-1.0.0+12/libprint/libs{print} <- /opt/libs/lib/
+uninstall libprint-1.0.0+12/libprint/hxx{version} <- /opt/libs/include/libprint/
+uninstall libprint-1.0.0+12/manifest{manifest} <- /opt/libs/share/doc/libprint/
+uninstall -d /opt/libs/share/doc/libprint/
+uninstall libprint-1.0.0+12/libprint/hxx{print} <- /opt/libs/include/libprint/
+uninstall libprint-1.0.0+12/libprint/hxx{export} <- /opt/libs/include/libprint/
+uninstall -d /opt/libs/include/libprint/
+uninstall libhello-1.1.0+12/libhello/hxx{version} <- /opt/libs/include/libhello/
+uninstall libhello-1.1.0+12/manifest{manifest} <- /opt/libs/share/doc/libhello/
+uninstall -d /opt/libs/share/doc/libhello/
+uninstall -d /opt/libs/share/doc/
+uninstall -d /opt/libs/share/
+uninstall libhello-1.1.0+12/libhello/hxx{hello} <- /opt/libs/include/libhello/
+uninstall libhello-1.1.0+12/libhello/hxx{export} <- /opt/libs/include/libhello/
+uninstall -d /opt/libs/include/libhello/
+uninstall -d /opt/libs/include/
+uninstall -d /opt/libs/
+uninstalled libhello/1.1.0+12
+
++ bpkg drop libhello
+following dependencies were automatically built but will no longer be used:
+ libformat
+ libprint
+drop unused packages? [Y/n]
+ drop libhello
+ drop libformat
+ drop libprint
+continue? [Y/n]
+disfigured libhello
+disfigured libformat
+disfigured libprint
+purged libhello
+purged libformat
+purged libprint
+
+Script done on 2024-06-14 09:01:38+02:00 [COMMAND_EXIT_CODE="0"]
diff --git a/review b/review
index 6d72827..abf923c 100755
--- a/review
+++ b/review
@@ -6,7 +6,7 @@
#
usage="usage: $0"
-modules="libbutl libbutl.bash build2 libbpkg bpkg bpkg-util bdep bdep-util brep libbbot bbot build2-toolchain libbuild2-kconfig libbuild2-autoconf"
+modules="libbutl libbutl.bash build2 libbpkg bpkg bpkg-util bdep bdep-util brep libbbot bbot build2-toolchain libbuild2-kconfig libbuild2-autoconf libbuild2-qt"
owd=`pwd`
trap "{ cd $owd; exit 1; }" ERR
@@ -23,7 +23,7 @@ for m in $modules; do
# Exclude submodules in build2-toolchain.
#
if [ $m = "build2-toolchain" ]; then
- exclude="$exclude submodules bdep bpkg build2 libbutl libbpkg libodb libodb-sqlite libsqlite3 libpkg-config libbuild2-kconfig libbuild2-autoconf"
+ exclude="$exclude submodules tests bdep bpkg build2 libbutl libbpkg libbuild2-kconfig libbuild2-autoconf libbuild2-qt"
fi
fo=
diff --git a/stage b/stage
index 2c572b3..797b767 100755
--- a/stage
+++ b/stage
@@ -350,6 +350,9 @@ etc/stage-pkg -c $mode -g build2 \
libbuild2-autoconf/libbuild2-autoconf \
libbuild2-autoconf/libbuild2-autoconf-tests
+# libbuild2-qt/libbuild2-qt \
+# libbuild2-qt/libbuild2-qt-tests
+
###fi
###
diff --git a/stage-queue b/stage-queue
index 2134bd5..a845e5e 100755
--- a/stage-queue
+++ b/stage-queue
@@ -70,6 +70,7 @@ done
# packaging/qt5/Qt5/libQt5Widgets \
# packaging/qt5/Qt5/libQt5WidgetsTests
+
etc/stage-pkg -Q alpha -c -d Qt6 packaging/qt6/Qt6/Qt6Moc \
packaging/qt6/Qt6/Qt6Rcc \
packaging/qt6/Qt6/Qt6Uic \
@@ -90,7 +91,14 @@ etc/stage-pkg -Q alpha -c -d odb \
../odb/odb/libodb-boost \
../odb/odb/libodb-qt \
../odb/odb/odb-tests \
- ../odb/odb/odb-examples
+ ../odb/odb/odb-examples
+
+# Standard pre-installed build system modules that cannot be fully tested in
+# the stage repository due to extra dependencies.
+#
+etc/stage-pkg -Q alpha -c -d build2 \
+ libbuild2-qt/libbuild2-qt \
+ libbuild2-qt/libbuild2-qt-tests
# Regenerate repository and publish.
#
diff --git a/version b/version
index 10b6760..fdfddaa 100755
--- a/version
+++ b/version
@@ -12,15 +12,15 @@ usage="usage: etc/version"
# NOTE: also update in libbuild2-<module>?
# NOTE: if upgrade is supported, should be previous release version.
#
-build2_min=0.16.0-
-bpkg_min=0.16.0-
+build2_min=0.16.0
+bpkg_min=0.16.0
-ver=0.17.0-a.0.z
-#ver=0.17.0
+#ver=0.18.0-a.0.z
+ver=0.17.0
mods=(libbutl libbutl.bash libbpkg libbbot bpkg bpkg-util build2)
-odb_ver=2.5.0-b.26.z
-#odb_ver=2.5.0-b.25
+#odb_ver=2.5.0-b.28.z
+odb_ver=2.5.0-b.27
odb_mods=(libodb libodb-pgsql) # Note: now only in brep.
#xml_ver=1.1.0-b.10.z