summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2022-07-29 09:09:58 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2022-07-29 09:09:58 +0200
commitb34e102801ae7624f3f08ee474d46b4313595f22 (patch)
treee8fe1df528c2982b5fb0e03be6bed16e8297069b
parentc702716c40d4ce645c82d7d0dd7bc06118bed555 (diff)
Updates for 0.15.0 releasev0.15.0
-rw-r--r--doc/release.cli57
-rw-r--r--git/modules3
-rw-r--r--intro2-tldr.orig18
-rw-r--r--intro2-tour.orig339
-rwxr-xr-xreview4
-rwxr-xr-xstage-queue18
-rwxr-xr-xupgrade2
-rwxr-xr-xversion19
8 files changed, 259 insertions, 201 deletions
diff --git a/doc/release.cli b/doc/release.cli
index 7a12889..ce19557 100644
--- a/doc/release.cli
+++ b/doc/release.cli
@@ -133,6 +133,27 @@ 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:
+
+ \
+ etc/upgrade -c
+
+ # Trigger header regeneration (ignore ODB version mismatch errors).
+ #
+ BDEP_SYNC=0 b --match-only ~/work/build2/builds/gcc7/
+
+ # Make sure the ODB compiler is up-to-date and run in all the relevant
+ # projects (bpkg, bdep, brep):
+ #
+ ./odb.sh ~/work/build2/builds/gcc7/
+
+ BDEP_SYNC=0 b build2/ bpkg/ bdep/
+ b build2/ bpkg/ bdep/ # Should be noop.
+ \
+
+ Then push \c{build2} repositories.
+
\h#hello|Update \c{hello/} projects|
@@ -151,8 +172,9 @@ distribution from \c{etc/stage} and add the pre-distributed packages
git push ...
\
- Once done, run the \c{intro} scripts and review any changes in the output
- (this information will be helpful on the next step):
+ Once done, make sure the latest \c{libhello} revision is on stage, run the
+ \c{intro} scripts, and review any changes in the output (this information
+ will be helpful on the next step):
\
cd etc
@@ -275,6 +297,12 @@ distribution from \c{etc/stage} and add the pre-distributed packages
etc/stage -b
\
+ Consider restaging queue for good measure.
+
+ \
+ etc/stage-queue
+ \
+
|
\li|While build machines are bootstrapping, upgrade \c{brep} on \c{stage},
@@ -298,12 +326,15 @@ distribution from \c{etc/stage} and add the pre-distributed packages
Test \c{cxx20-modules-examples} (see \c{test} script).
+ Test any third-party/demos (\c{build2-dynamic-module-demo},
+ \c{boost-dependency}).
+
Test on ARM Mac (run tests for \c{libbutl/build2/bpkg/bdep}.
Test build system modules (especially standard pre-installed).
- Test old toolchain version (can fetch and build old pckages from
- queue.stage).
+ Test old toolchain version (can fetch and build old packages from
+ \c{queue.stage}; add dummy package if all require to be released toolchain).
\h#install-stage|Test install scripts|
@@ -407,6 +438,9 @@ distribution from \c{etc/stage} and add the pre-distributed packages
bdep release --no-open --show-push
\
+ Also release \c{libbuild2-hello} (it's not standard pre-installed
+ but it gets published).
+
|
\li|Regenerate documentation in each package (including standard
@@ -509,7 +543,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{build2-toolchain} itself. @@ \c{libbuild-kconfig} not configured
+ out of tree? Or maybe 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,6 +656,8 @@ distribution from \c{etc/stage} and add the pre-distributed packages
replacements. We can only proceed further once we have a \"resolution\"
for every (newly) broken package.
+ \N|If public has been built with the staged toolchain, rebuilding of the
+ public repository (which takes days) can be omitted.|
\h#stop-queue|Stop \c{queue} builds|
@@ -658,8 +695,9 @@ distribution from \c{etc/stage} and add the pre-distributed packages
(effectively making it a no-toolchain configuration), regenerate, and power
on the new set of \c{public} build hosts.
- Review deployed machines against the updated \c{public} \c{buildtab} and
- remove those that are no longer used:
+
+ @@ 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:
\
cd private/buildos/
@@ -703,7 +741,7 @@ distribution from \c{etc/stage} and add the pre-distributed packages
\h#pub-dist|Publish distribution|
- Change \c{BUILD2_REPO} in \c{build2-toolchain} build scripts to \c{public},
+ Change \c{build2_repo} in \c{build2-toolchain} \c{buildfile} to \c{public},
commit, and publish the distribution (this also cleans/disables the
\c{queue} toolchain):
@@ -741,6 +779,9 @@ distribution from \c{etc/stage} and add the pre-distributed packages
we just smoke-test each script on its \"primary\" platform and make sure
\c{public} URLs/repositories are used.
+ Also test building an old package with the previous version of the
+ toolchain.
+
\h#web|Update web|
\ul|
diff --git a/git/modules b/git/modules
index e4ff5b5..d00eb6b 100644
--- a/git/modules
+++ b/git/modules
@@ -12,7 +12,6 @@ bdep-util \
brep \
libbbot \
bbot \
-libstd-modules \
libbuild2-hello \
libbuild2-rust \
libbuild2-kconfig \
@@ -46,7 +45,6 @@ bdep-util \
brep \
libbbot \
bbot \
-libstd-modules \
msvc-linux \
openssl-agent \
buildos"
@@ -67,7 +65,6 @@ bdep-util \
brep \
libbbot \
bbot \
-libstd-modules \
libbuild2-hello \
libbuild2-rust \
libbuild2-kconfig \
diff --git a/intro2-tldr.orig b/intro2-tldr.orig
index 2b8531a..37b10b8 100644
--- a/intro2-tldr.orig
+++ b/intro2-tldr.orig
@@ -1,6 +1,6 @@
-Script started on Wed 20 Oct 2021 01:28:03 PM SAST
+Script started on Tue 26 Jul 2022 11:35:07 AM SAST
created new executable project hello in /tmp/hello.git/
-[master (root-commit) 032348d] first commit
+[master (root-commit) 8db934f] first commit
13 files changed, 141 insertions(+)
create mode 100644 .gitattributes
create mode 100644 .gitignore
@@ -71,18 +71,18 @@ 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+8] [1.0.0+8]
+ libhello ^1.0.0 configured 1.0.0+4 available [1.1.0+10] [1.0.0+10]
+ bdep sync libhello
synchronizing:
- new libformat/1.0.0+8 (required by libhello)
- new libprint/1.0.0+8 (required by libhello)
- upgrade libhello/1.1.0+8
+ new libformat/1.0.0+10 (required by libhello)
+ new libprint/1.0.0+10 (required by libhello)
+ upgrade libhello/1.1.0+10
reconfigure hello/0.1.0#1
+ bdep sync libhello/1.0.0
synchronizing:
- drop libprint/1.0.0+8 (unused)
- drop libformat/1.0.0+8 (unused)
- downgrade libhello/1.0.0+8
+ drop libprint/1.0.0+10 (unused)
+ drop libformat/1.0.0+10 (unused)
+ downgrade libhello/1.0.0+10
reconfigure hello/0.1.0#1
diff --git a/intro2-tour.orig b/intro2-tour.orig
index bbbb7f3..be85de2 100644
--- a/intro2-tour.orig
+++ b/intro2-tour.orig
@@ -1,4 +1,4 @@
-Script started on Wed 20 Oct 2021 01:29:58 PM SAST
+Script started on Tue 26 Jul 2022 01:15:30 PM SAST
+ bdep new -t exe -l c++ hello
created new executable project hello in /tmp/hello/
@@ -66,8 +66,8 @@ description-file: README.md
url: https://example.org/hello
email: boris@codesynthesis.com
#build-error-email: boris@codesynthesis.com
-depends: * build2 >= 0.14.0
-depends: * bpkg >= 0.14.0
+depends: * build2 >= 0.15.0-
+depends: * bpkg >= 0.15.0-
#depends: libhello ^1.0.0
+ bdep init -C ../hello-gcc @gcc cc config.cxx=g++
@@ -186,7 +186,7 @@ Hello, Windows!
+ git add .
+ git commit -m Initial implementation
-[master (root-commit) cf83f68] Initial implementation
+[master (root-commit) 39e8769] Initial implementation
13 files changed, 141 insertions(+)
create mode 100644 .gitattributes
create mode 100644 .gitignore
@@ -206,18 +206,18 @@ Hello, Windows!
+ git push --no-progress origin master -u --force
To github.com:boris-kolpackov/hello.git
- + 35716b9...cf83f68 master -> master (forced update)
+ + 342c509...39e8769 master -> master (forced update)
Branch 'master' set up to track remote branch 'master' from 'origin'.
+ bdep ci --simulate success
submitting:
to: https://ci.stage.build2.org
- in: https://github.com/boris-kolpackov/hello.git#master@cf83f6837196e738ae36c48a1ebbbb35a25e3ce9
+ in: https://github.com/boris-kolpackov/hello.git#master@39e8769fd4cf680ddf9ee24d36074f912002ddc9
package: hello
- version: 0.1.0-a.0.20211020113017.cf83f6837196
+ version: 0.1.0-a.0.20220726111554.39e8769fd4cf
continue? [y/n] y
-CI request is queued: https://ci.stage.build2.org/@b194b7d3-b76a-470f-aa55-4c46508604c8
-reference: b194b7d3-b76a-470f-aa55-4c46508604c8
+CI request is queued: https://ci.stage.build2.org/@e250b05e-a618-4765-8177-37688a473592
+reference: e250b05e-a618-4765-8177-37688a473592
+ bdep deinit @gcc @clang
deinitializing in project /tmp/hello/
@@ -246,15 +246,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+8
-libhello/1.1.0+8
+libhello/1.0.0+10
+libhello/1.1.0+10
+ 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+8
+libhello/1.1.0+10
+ bdep status
fetching pkg:stage.build2.org (prerequisite of dir:/tmp/hello)
@@ -267,24 +267,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+8 (required by hello)
+ new libhello/1.0.0+10 (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.in ../hello-gcc/libhello-1.0.0+10/libhello/version.hxx.in
mkdir ../hello-gcc/hello/fsdir{hello/}
-version.in ../hello-gcc/libhello-1.0.0+8/libhello/version.hxx.in
-c++ ../hello-gcc/libhello-1.0.0+8/libhello/cxx{hello}
+c++ ../hello-gcc/libhello-1.0.0+10/libhello/cxx{hello}
c++ hello/cxx{hello}@../hello-gcc/hello/hello/
-ld ../hello-gcc/libhello-1.0.0+8/libhello/libs{hello}
+ld ../hello-gcc/libhello-1.0.0+10/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+8
+ libhello ^1.0.0 configured 1.0.0+10
in configuration @clang:
fetching pkg:stage.build2.org (prerequisite of dir:/tmp/hello)
@@ -295,26 +295,26 @@ in configuration @gcc:
in configuration @clang:
synchronizing:
- new libhello/1.0.0+8 (required by hello)
+ new libhello/1.0.0+10 (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+8/tests/basics/cxx{driver}
-ld ../hello-gcc/libhello-1.0.0+8/tests/basics/exe{driver}
+c++ ../hello-gcc/libhello-1.0.0+10/tests/basics/cxx{driver}
+ld ../hello-gcc/libhello-1.0.0+10/tests/basics/exe{driver}
+test ../hello-gcc/libhello-1.0.0+10/tests/basics/exe{driver}
test hello/testscript{testscript}@../hello-gcc/hello/hello/ ../hello-gcc/hello/hello/exe{hello}
-test ../hello-gcc/libhello-1.0.0+8/tests/basics/exe{driver}
in configuration @clang:
+version.in ../hello-clang/libhello-1.0.0+10/libhello/version.hxx.in
mkdir ../hello-clang/hello/fsdir{hello/}
-version.in ../hello-clang/libhello-1.0.0+8/libhello/version.hxx.in
+c++ ../hello-clang/libhello-1.0.0+10/libhello/cxx{hello}
+c++ ../hello-clang/libhello-1.0.0+10/tests/basics/cxx{driver}
c++ hello/cxx{hello}@../hello-clang/hello/hello/
-c++ ../hello-clang/libhello-1.0.0+8/tests/basics/cxx{driver}
-c++ ../hello-clang/libhello-1.0.0+8/libhello/cxx{hello}
-ld ../hello-clang/libhello-1.0.0+8/libhello/libs{hello}
+ld ../hello-clang/libhello-1.0.0+10/libhello/libs{hello}
ld ../hello-clang/hello/hello/exe{hello}
-ld ../hello-clang/libhello-1.0.0+8/tests/basics/exe{driver}
-test ../hello-clang/libhello-1.0.0+8/tests/basics/exe{driver}
+ld ../hello-clang/libhello-1.0.0+10/tests/basics/exe{driver}
+test ../hello-clang/libhello-1.0.0+10/tests/basics/exe{driver}
test hello/testscript{testscript}@../hello-clang/hello/hello/ ../hello-clang/hello/hello/exe{hello}
+ bdep status
@@ -322,10 +322,10 @@ 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+8 (unused)
+ drop libhello/1.0.0+10 (unused)
upgrade hello/0.1.0-a.0.19700101000000#3
synchronizing:
- new libhello/1.0.0+8 (required by hello)
+ new libhello/1.0.0+10 (required by hello)
upgrade hello/0.1.0-a.0.19700101000000#4
+ bdep fetch
@@ -335,29 +335,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+8 available [1.1.0+8]
+libhello configured 1.0.0+10 available [1.1.0+10]
+ bdep sync libhello
synchronizing:
- new libformat/1.0.0+8 (required by libhello)
- new libprint/1.0.0+8 (required by libhello)
- upgrade libhello/1.1.0+8
+ new libformat/1.0.0+10 (required by libhello)
+ new libprint/1.0.0+10 (required by libhello)
+ upgrade libhello/1.1.0+10
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+8
- libformat ^1.0.0 configured 1.0.0+8
- libprint ^1.0.0 configured 1.0.0+8
+ libhello ^1.0.0 configured 1.1.0+10
+ libformat ^1.0.0 configured 1.0.0+10
+ libprint ^1.0.0 configured 1.0.0+10
+ bdep status -o libhello
-libhello configured 1.1.0+8 available (1.1.0+8) [1.0.0+8]
+libhello configured 1.1.0+10 available (1.1.0+10) [1.0.0+10]
+ bdep sync libhello/1.0.0
synchronizing:
- drop libprint/1.0.0+8 (unused)
- drop libformat/1.0.0+8 (unused)
- downgrade libhello/1.0.0+8
+ drop libprint/1.0.0+10 (unused)
+ drop libformat/1.0.0+10 (unused)
+ downgrade libhello/1.0.0+10
reconfigure hello/0.1.0-a.0.19700101000000#4
+ bdep new -C libextra-gcc -t lib -l c++ libextra cc config.cxx=g++
@@ -371,11 +371,11 @@ mkdir libextra-gcc/libextra/fsdir{libextra/}
version.in libextra/libextra/version.hxx.in
c++ libextra/libextra/cxx{extra}@libextra-gcc/libextra/libextra/
c++ libextra/libextra/cxx{extra}@libextra-gcc/libextra/libextra/
-pc libextra-gcc/libextra/libextra/pcs{extra}
pc libextra-gcc/libextra/libextra/pca{extra}
-ld libextra-gcc/libextra/libextra/libs{extra}
pc libextra-gcc/libextra/libextra/pc{extra}
ar libextra-gcc/libextra/libextra/liba{extra}
+pc libextra-gcc/libextra/libextra/pcs{extra}
+ld libextra-gcc/libextra/libextra/libs{extra}
install unpkg-gcc/
install unpkg-gcc/include/
install unpkg-gcc/include/libextra/
@@ -421,53 +421,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+8 (required by libhello)
- new libprint/1.0.0+8 (required by libhello)
- new libhello/1.1.0+8 (required by hello)
+ new libformat/1.0.0+10 (required by libhello)
+ new libprint/1.0.0+10 (required by libhello)
+ new libhello/1.1.0+10 (required by hello)
new hello/0.1.0-a.0.19700101000000
+ b test: ../hello-gcc-1/
+version.in ../hello-gcc-1/libformat-1.0.0+10/libformat/version.hxx.in
+version.in ../hello-gcc-1/libprint-1.0.0+10/libprint/version.hxx.in
+version.in ../hello-gcc-1/libhello-1.1.0+10/libhello/version.hxx.in
mkdir ../hello-gcc-1/hello/fsdir{hello/}
-version.in ../hello-gcc-1/libhello-1.1.0+8/libhello/version.hxx.in
-version.in ../hello-gcc-1/libformat-1.0.0+8/libformat/version.hxx.in
-version.in ../hello-gcc-1/libprint-1.0.0+8/libprint/version.hxx.in
-c++ ../hello-gcc-1/libprint-1.0.0+8/libprint/cxx{print}
-c++ ../hello-gcc-1/libprint-1.0.0+8/tests/basics/cxx{driver}
-c++ ../hello-gcc-1/libformat-1.0.0+8/tests/basics/cxx{driver}
-c++ ../hello-gcc-1/libhello-1.1.0+8/tests/basics/cxx{driver}
-c++ ../hello-gcc-1/libformat-1.0.0+8/libformat/cxx{format}
+c++ ../hello-gcc-1/libprint-1.0.0+10/tests/basics/cxx{driver}
+c++ ../hello-gcc-1/libhello-1.1.0+10/libhello/cxx{hello}
+c++ ../hello-gcc-1/libprint-1.0.0+10/libprint/cxx{print}
+c++ ../hello-gcc-1/libformat-1.0.0+10/tests/basics/cxx{driver}
+c++ ../hello-gcc-1/libhello-1.1.0+10/tests/basics/cxx{driver}
c++ hello/cxx{hello}@../hello-gcc-1/hello/hello/
-c++ ../hello-gcc-1/libhello-1.1.0+8/libhello/cxx{hello}
-ld ../hello-gcc-1/libprint-1.0.0+8/libprint/libs{print}
-ld ../hello-gcc-1/libprint-1.0.0+8/tests/basics/exe{driver}
-ld ../hello-gcc-1/libformat-1.0.0+8/libformat/libs{format}
-ld ../hello-gcc-1/libformat-1.0.0+8/tests/basics/exe{driver}
-ld ../hello-gcc-1/libhello-1.1.0+8/libhello/libs{hello}
-ld ../hello-gcc-1/libhello-1.1.0+8/tests/basics/exe{driver}
+c++ ../hello-gcc-1/libformat-1.0.0+10/libformat/cxx{format}
+ld ../hello-gcc-1/libprint-1.0.0+10/libprint/libs{print}
+ld ../hello-gcc-1/libprint-1.0.0+10/tests/basics/exe{driver}
+ld ../hello-gcc-1/libformat-1.0.0+10/libformat/libs{format}
+ld ../hello-gcc-1/libformat-1.0.0+10/tests/basics/exe{driver}
+ld ../hello-gcc-1/libhello-1.1.0+10/libhello/libs{hello}
ld ../hello-gcc-1/hello/hello/exe{hello}
-test ../hello-gcc-1/libformat-1.0.0+8/tests/basics/exe{driver}
-test ../hello-gcc-1/libhello-1.1.0+8/tests/basics/exe{driver}
-test ../hello-gcc-1/libprint-1.0.0+8/tests/basics/exe{driver}
+ld ../hello-gcc-1/libhello-1.1.0+10/tests/basics/exe{driver}
test hello/testscript{testscript}@../hello-gcc-1/hello/hello/ ../hello-gcc-1/hello/hello/exe{hello}
+test ../hello-gcc-1/libformat-1.0.0+10/tests/basics/exe{driver}
+test ../hello-gcc-1/libhello-1.1.0+10/tests/basics/exe{driver}
+test ../hello-gcc-1/libprint-1.0.0+10/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+8/build/config.build
-save ../hello-gcc/libhello-1.0.0+8/tests/build/config.build
+save ../hello-gcc/libhello-1.0.0+10/build/config.build
+save ../hello-gcc/libhello-1.0.0+10/tests/build/config.build
+ b test
-version.in ../hello-gcc/libhello-1.0.0+8/libhello/version.hxx.in
-c++ ../hello-gcc/libhello-1.0.0+8/libhello/cxx{hello}
+version.in ../hello-gcc/libhello-1.0.0+10/libhello/version.hxx.in
+c++ ../hello-gcc/libhello-1.0.0+10/libhello/cxx{hello}
c++ hello/cxx{hello}@../hello-gcc/hello/hello/
-ld ../hello-gcc/libhello-1.0.0+8/libhello/libs{hello}
+ld ../hello-gcc/libhello-1.0.0+10/libhello/libs{hello}
ld ../hello-gcc/hello/hello/exe{hello}
ln ../hello-gcc/hello/hello/exe{hello} -> hello/
test hello/testscript{testscript}@../hello-gcc/hello/hello/ ../hello-gcc/hello/hello/exe{hello}
+ bdep sync ?sys:libsqlite3
synchronizing:
- configure sys:libsqlite3/*
+ configure sys:libsqlite3/* (required by hello)
upgrade hello/0.1.0-a.0.19700101000000#5
+ bdep new -t exe -l c++ hello
@@ -503,11 +503,11 @@ while searching for configuration for build-time dependency xxd of package hello
while synchronizing configuration /tmp/hello-gcc/
continue? [Y/n] y
synchronizing /tmp/hello-gcc/:
- new xxd/8.2.3075 [/tmp/hello-host/] (required by hello)
+ new xxd/8.2.3075+1 [/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/c{xxd}
-ld ../hello-host/xxd-8.2.3075/exe{xxd}
+c ../hello-host/xxd-8.2.3075+1/c{xxd}
+ld ../hello-host/xxd-8.2.3075+1/exe{xxd}
xxd ../hello-gcc/hello/hello/cxx{names}
c++ ../hello-gcc/hello/hello/cxx{names}
c++ hello/cxx{hello}@../hello-gcc/hello/hello/
@@ -551,7 +551,7 @@ ld ../hello-build2/libbuild2-hello-0.1.0-a.0.20210928065245.4c3109c2b741/libbuil
hello/buildfile:10:7: info: module hello initialized
hello/buildfile:10:7: info: module hello initialized
hello/buildfile:10:7: info: module hello initialized
- info: while applying rule alias to update ../hello-gcc/dir{hello/}
+ info: while applying rule build.alias to update ../hello-gcc/dir{hello/}
info: ../hello-gcc/dir{hello/} is up to date
+ bdep config list
@@ -562,7 +562,7 @@ info: ../hello-gcc/dir{hello/} is up to date
+ bdep update @clang
hello/buildfile:10:7: info: module hello initialized
- info: while applying rule alias to update ../hello-clang/dir{hello/}
+ info: while applying rule build.alias to update ../hello-clang/dir{hello/}
info: ../hello-clang/dir{hello/} is up to date
+ bdep new -t exe -l c++ hello
@@ -587,7 +587,7 @@ 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+8 [/tmp/hello-base/]
+ new libhello/1.0.0+10 [/tmp/hello-base/] (required by hello)
new hello/0.1.0-a.0.19700101000000
+ bdep init @clang
@@ -597,11 +597,11 @@ synchronizing:
new hello/0.1.0-a.0.19700101000000 [/tmp/hello-clang/]
+ bdep update @gcc
+version.in ../hello-base/libhello-1.0.0+10/libhello/version.hxx.in
mkdir ../hello-gcc/hello/fsdir{hello/}
-version.in ../hello-base/libhello-1.0.0+8/libhello/version.hxx.in
-c++ ../hello-base/libhello-1.0.0+8/libhello/cxx{hello}
+c++ ../hello-base/libhello-1.0.0+10/libhello/cxx{hello}
c++ hello/cxx{hello}@../hello-gcc/hello/hello/
-ld ../hello-base/libhello-1.0.0+8/libhello/libs{hello}
+ld ../hello-base/libhello-1.0.0+10/libhello/libs{hello}
ld ../hello-gcc/hello/hello/exe{hello}
+ bdep update @clang
@@ -620,7 +620,7 @@ 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) 731bc3c] Initial implementation
+[master (root-commit) dbb0b20] Initial implementation
13 files changed, 141 insertions(+)
create mode 100644 .gitattributes
create mode 100644 .gitignore
@@ -636,20 +636,20 @@ To github.com:boris-kolpackov/hello.git
create mode 100644 manifest
create mode 100644 repositories.manifest
To github.com:boris-kolpackov/hello.git
- + cf83f68...731bc3c master -> master (forced update)
+ + 39e8769...dbb0b20 master -> master (forced update)
Branch 'master' set up to track remote branch 'master' from 'origin'.
+ bdep status
-hello configured 0.1.0-a.0.19700101000000 available 0.1.0-a.0.20211020113315.731bc3ce86e0
+hello configured 0.1.0-a.0.19700101000000 available 0.1.0-a.0.20220726111944.dbb0b209a4f2
+ b info
project: hello
-version: 0.1.0-a.0.20211020113315.731bc3ce86e0
+version: 0.1.0-a.0.20220726111944.dbb0b209a4f2
summary: hello C++ executable
url: https://example.org/hello
-src_root: /tmp/hello/
-out_root: /tmp/hello-gcc/hello/
-amalgamation: ../
+src_root: /tmp/hello
+out_root: /tmp/hello-gcc/hello
+amalgamation: ..
subprojects:
operations: update clean test update-for-test install uninstall update-for-install
meta-operations: perform configure disfigure dist info
@@ -657,15 +657,15 @@ modules: version config test install dist
+ bdep sync
synchronizing:
- upgrade hello/0.1.0-a.0.20211020113315.731bc3ce86e0
+ upgrade hello/0.1.0-a.0.20220726111944.dbb0b209a4f2
+ bdep status
-hello configured 0.1.0-a.0.20211020113315.731bc3ce86e0
-[master 008e72b] Another commit
+hello configured 0.1.0-a.0.20220726111944.dbb0b209a4f2
+[master 33e97d9] Another commit
1 file changed, 1 insertion(+)
+ bdep status
-hello configured 0.1.0-a.0.20211020113315.731bc3ce86e0 available 0.1.0-a.0.20211020113318.008e72b6b68d
+hello configured 0.1.0-a.0.20220726111944.dbb0b209a4f2 available 0.1.0-a.0.20220726111948.33e97d934d6d
+ bdep release --alpha --push
releasing:
@@ -677,9 +677,9 @@ releasing:
tag: v0.1.0-a.1
push: origin/master
continue? [y/n] y
-[master 0d6d0e7] Release version 0.1.0-a.1
+[master 76c861c] Release version 0.1.0-a.1
1 file changed, 1 insertion(+), 1 deletion(-)
-[master 3438da6] Change version to 0.1.0-a.1.z
+[master cc09a1c] Change version to 0.1.0-a.1.z
1 file changed, 1 insertion(+), 1 deletion(-)
+ bdep release --no-open --push
@@ -691,7 +691,7 @@ releasing:
tag: v0.1.0
push: origin/master
continue? [y/n] y
-[master 751fb24] Release version 0.1.0
+[master acf02b4] Release version 0.1.0
1 file changed, 1 insertion(+), 1 deletion(-)
+ bdep publish --simulate success
@@ -723,7 +723,7 @@ opening:
commit: yes
push: origin/master
continue? [y/n] y
-[master 6d08d43] Change version to 0.2.0-a.0.z
+[master 2807863] 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++
@@ -788,17 +788,17 @@ synchronizing:
synchronizing:
upgrade hello/0.1.0-a.0.19700101000000#1
mkdir ../hello-gcc/libhello/fsdir{libhello/}
+version.in ../libhello/libhello/version.hxx.in
mkdir ../hello-gcc/hello/fsdir{hello/}
mkdir ../hello-gcc/libhello/tests/fsdir{basics/}
-version.in ../libhello/libhello/version.hxx.in
-c++ hello/cxx{hello}@../hello-gcc/hello/hello/
c++ ../libhello/libhello/cxx{hello}@../hello-gcc/libhello/libhello/
c++ ../libhello/tests/basics/cxx{driver}@../hello-gcc/libhello/tests/basics/
+c++ hello/cxx{hello}@../hello-gcc/hello/hello/
ld ../hello-gcc/libhello/libhello/libs{hello}
-ld ../hello-gcc/libhello/tests/basics/exe{driver}
ld ../hello-gcc/hello/hello/exe{hello}
-test hello/testscript{testscript}@../hello-gcc/hello/hello/ ../hello-gcc/hello/hello/exe{hello}
+ld ../hello-gcc/libhello/tests/basics/exe{driver}
test ../hello-gcc/libhello/tests/basics/exe{driver}
+test hello/testscript{testscript}@../hello-gcc/hello/hello/ ../hello-gcc/hello/hello/exe{hello}
+ bdep new -C hello-gcc @gcc -t exe -l c++ hello cc config.cxx=g++
created new executable project hello in /tmp/hello/
@@ -841,21 +841,21 @@ synchronizing:
synchronizing:
upgrade hello/0.1.0-a.0.19700101000000#2
mkdir ../hello-gcc/libhello/fsdir{libhello/}
+version.in libhello/libhello/version.hxx.in
mkdir ../hello-gcc/libhello/tests/fsdir{basics/}
mkdir ../hello-gcc/hello/fsdir{hello/}
-version.in libhello/libhello/version.hxx.in
c++ hello/hello/cxx{hello}@../hello-gcc/hello/hello/
-c++ libhello/libhello/cxx{hello}@../hello-gcc/libhello/libhello/
c++ libhello/tests/basics/cxx{driver}@../hello-gcc/libhello/tests/basics/
+c++ libhello/libhello/cxx{hello}@../hello-gcc/libhello/libhello/
ld ../hello-gcc/libhello/libhello/libs{hello}
-ld ../hello-gcc/libhello/tests/basics/exe{driver}
ld ../hello-gcc/hello/hello/exe{hello}
+ld ../hello-gcc/libhello/tests/basics/exe{driver}
test ../hello-gcc/libhello/tests/basics/exe{driver}
test hello/hello/testscript{testscript}@../hello-gcc/hello/hello/ ../hello-gcc/hello/hello/exe{hello}
+ 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: 6ce7c9f5-4d02-4334-a064-21c3a2399ac0
+ uuid: 37be367a-66c7-4f83-a1a0-22534165fcf4
type: target
+ cd tools
@@ -866,68 +866,69 @@ 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+8 (required by libhello)
- new libprint/1.0.0+8 (required by libhello)
- new libhello/1.1.0+8 (required by hello)
- new hello/1.0.0+7
+ new libformat/1.0.0+10 (required by libhello)
+ new libprint/1.0.0+10 (required by libhello)
+ new libhello/1.1.0+10 (required by hello)
+ new hello/1.0.0+9
continue? [Y/n] y
-checked out libformat/1.0.0+8
-checked out libprint/1.0.0+8
-checked out libhello/1.1.0+8
-checked out hello/1.0.0+7
-configured libformat/1.0.0+8
-configured libprint/1.0.0+8
-configured libhello/1.1.0+8
-configured hello/1.0.0+7
-version.in libprint-1.0.0+8/libprint/version.hxx.in
-version.in libhello-1.1.0+8/libhello/version.hxx.in
-version.in libformat-1.0.0+8/libformat/version.hxx.in
-c++ libformat-1.0.0+8/libformat/cxx{format}
-c++ libhello-1.1.0+8/libhello/cxx{hello}
-c++ libprint-1.0.0+8/libprint/cxx{print}
-c++ hello-1.0.0+7/hello/cxx{hello}
-ld libprint-1.0.0+8/libprint/libs{print}
-ld libformat-1.0.0+8/libformat/libs{format}
-ld libhello-1.1.0+8/libhello/libs{hello}
-ld hello-1.0.0+7/hello/exe{hello}
-updated hello/1.0.0+7
+checked out libformat/1.0.0+10
+checked out libprint/1.0.0+10
+checked out libhello/1.1.0+10
+checked out hello/1.0.0+9
+configured libformat/1.0.0+10
+configured libprint/1.0.0+10
+configured libhello/1.1.0+10
+configured hello/1.0.0+9
+version.in libprint-1.0.0+10/libprint/version.hxx.in
+version.in libformat-1.0.0+10/libformat/version.hxx.in
+version.in libhello-1.1.0+10/libhello/version.hxx.in
+c++ libformat-1.0.0+10/libformat/cxx{format}
+c++ libprint-1.0.0+10/libprint/cxx{print}
+c++ libhello-1.1.0+10/libhello/cxx{hello}
+c++ hello-1.0.0+9/hello/cxx{hello}
+ld libprint-1.0.0+10/libprint/libs{print}
+ld libformat-1.0.0+10/libformat/libs{format}
+ld libhello-1.1.0+10/libhello/libs{hello}
+ld hello-1.0.0+9/hello/exe{hello}
+updated hello/1.0.0+9
+ bpkg install hello
-pc libformat-1.0.0+8/libformat/pcs{format}
-pc libprint-1.0.0+8/libprint/pcs{print}
-pc libhello-1.1.0+8/libhello/pcs{hello}
-ld libhello-1.1.0+8/libhello/libs{hello}
-ld hello-1.0.0+7/hello/exe{hello}
+pc libformat-1.0.0+10/libformat/pcs{format}
+pc libprint-1.0.0+10/libprint/pcs{print}
+pc libhello-1.1.0+10/libhello/pcs{hello}
+ld libhello-1.1.0+10/libhello/libs{hello}
+ld hello-1.0.0+9/hello/exe{hello}
install /opt/tools/
install /opt/tools/include/
install /opt/tools/include/libhello/
-install libhello-1.1.0+8/libhello/hxx{export}
-install libhello-1.1.0+8/libhello/hxx{hello}
+install libhello-1.1.0+10/libhello/hxx{export}
+install libhello-1.1.0+10/libhello/hxx{hello}
install /opt/tools/share/
install /opt/tools/share/doc/
install /opt/tools/share/doc/libhello/
-install libhello-1.1.0+8/manifest{manifest}
-install libhello-1.1.0+8/libhello/hxx{version}
+install libhello-1.1.0+10/manifest{manifest}
+install libhello-1.1.0+10/libhello/hxx{version}
install /opt/tools/include/libprint/
-install libprint-1.0.0+8/libprint/hxx{print}
-install libprint-1.0.0+8/libprint/hxx{export}
+install libprint-1.0.0+10/libprint/hxx{print}
+install libprint-1.0.0+10/libprint/hxx{export}
install /opt/tools/share/doc/libprint/
-install libprint-1.0.0+8/manifest{manifest}
-install libprint-1.0.0+8/libprint/hxx{version}
-install libprint-1.0.0+8/libprint/libs{print}
+install libprint-1.0.0+10/manifest{manifest}
+install libprint-1.0.0+10/libprint/hxx{version}
+install libprint-1.0.0+10/libprint/libs{print}
install /opt/tools/include/libformat/
-install libformat-1.0.0+8/libformat/hxx{export}
-install libformat-1.0.0+8/libformat/hxx{format}
+install libformat-1.0.0+10/libformat/hxx{export}
+install libformat-1.0.0+10/libformat/hxx{format}
install /opt/tools/share/doc/libformat/
-install libformat-1.0.0+8/manifest{manifest}
-install libformat-1.0.0+8/libformat/hxx{version}
-install libformat-1.0.0+8/libformat/libs{format}
-install libhello-1.1.0+8/libhello/libs{hello}
+install libformat-1.0.0+10/manifest{manifest}
+install libformat-1.0.0+10/libformat/hxx{version}
+install libformat-1.0.0+10/libformat/libs{format}
+install libhello-1.1.0+10/libhello/libs{hello}
install /opt/tools/bin/
-install hello-1.0.0+7/hello/exe{hello}
+install hello-1.0.0+9/hello/exe{hello}
install /opt/tools/share/doc/hello/
-install hello-1.0.0+7/manifest{manifest}
-installed hello/1.0.0+7
+install hello-1.0.0+9/doc{README.md}
+install hello-1.0.0+9/manifest{manifest}
+installed hello/1.0.0+9
+ /opt/tools/bin/hello World
Hello, World!
@@ -963,7 +964,8 @@ Hello, World!
└── share
└── doc
├── hello
- │   └── manifest
+ │   ├── manifest
+ │   └── README.md
├── libformat
│   └── manifest
├── libhello
@@ -971,39 +973,40 @@ Hello, World!
└── libprint
└── manifest
-13 directories, 23 files
+13 directories, 24 files
+ bpkg uninstall hello
-uninstall hello-1.0.0+7/manifest{manifest}
+uninstall hello-1.0.0+9/manifest{manifest}
+uninstall hello-1.0.0+9/doc{README.md}
uninstall /opt/tools/share/doc/hello/
-uninstall hello-1.0.0+7/hello/exe{hello}
+uninstall hello-1.0.0+9/hello/exe{hello}
uninstall /opt/tools/bin/
-uninstall libhello-1.1.0+8/libhello/libs{hello}
-uninstall libformat-1.0.0+8/libformat/libs{format}
-uninstall libformat-1.0.0+8/libformat/hxx{version}
-uninstall libformat-1.0.0+8/manifest{manifest}
+uninstall libhello-1.1.0+10/libhello/libs{hello}
+uninstall libformat-1.0.0+10/libformat/libs{format}
+uninstall libformat-1.0.0+10/libformat/hxx{version}
+uninstall libformat-1.0.0+10/manifest{manifest}
uninstall /opt/tools/share/doc/libformat/
-uninstall libformat-1.0.0+8/libformat/hxx{format}
-uninstall libformat-1.0.0+8/libformat/hxx{export}
+uninstall libformat-1.0.0+10/libformat/hxx{format}
+uninstall libformat-1.0.0+10/libformat/hxx{export}
uninstall /opt/tools/include/libformat/
-uninstall libprint-1.0.0+8/libprint/libs{print}
-uninstall libprint-1.0.0+8/libprint/hxx{version}
-uninstall libprint-1.0.0+8/manifest{manifest}
+uninstall libprint-1.0.0+10/libprint/libs{print}
+uninstall libprint-1.0.0+10/libprint/hxx{version}
+uninstall libprint-1.0.0+10/manifest{manifest}
uninstall /opt/tools/share/doc/libprint/
-uninstall libprint-1.0.0+8/libprint/hxx{export}
-uninstall libprint-1.0.0+8/libprint/hxx{print}
+uninstall libprint-1.0.0+10/libprint/hxx{export}
+uninstall libprint-1.0.0+10/libprint/hxx{print}
uninstall /opt/tools/include/libprint/
-uninstall libhello-1.1.0+8/libhello/hxx{version}
-uninstall libhello-1.1.0+8/manifest{manifest}
+uninstall libhello-1.1.0+10/libhello/hxx{version}
+uninstall libhello-1.1.0+10/manifest{manifest}
uninstall /opt/tools/share/doc/libhello/
uninstall /opt/tools/share/doc/
uninstall /opt/tools/share/
-uninstall libhello-1.1.0+8/libhello/hxx{hello}
-uninstall libhello-1.1.0+8/libhello/hxx{export}
+uninstall libhello-1.1.0+10/libhello/hxx{hello}
+uninstall libhello-1.1.0+10/libhello/hxx{export}
uninstall /opt/tools/include/libhello/
uninstall /opt/tools/include/
uninstall /opt/tools/
-uninstalled hello/1.0.0+7
+uninstalled hello/1.0.0+9
+ bpkg drop hello
following dependencies were automatically built but will no longer be used:
diff --git a/review b/review
index 78f920b..6d72827 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 libstd-modules build2-toolchain libbuild2-kconfig"
+modules="libbutl libbutl.bash build2 libbpkg bpkg bpkg-util bdep bdep-util brep libbbot bbot build2-toolchain libbuild2-kconfig libbuild2-autoconf"
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"
+ exclude="$exclude submodules bdep bpkg build2 libbutl libbpkg libodb libodb-sqlite libsqlite3 libpkg-config libbuild2-kconfig libbuild2-autoconf"
fi
fo=
diff --git a/stage-queue b/stage-queue
index f67e379..9548466 100755
--- a/stage-queue
+++ b/stage-queue
@@ -61,7 +61,23 @@ etc/stage-pkg -Q -c -d kconfig packaging/kconfig/kconfig/liblkc \
#etc/stage-pkg -Q -c -d boost packaging/boost/boost/libboost-*/
+etc/stage-pkg -Q -c -d libb2 packaging/libb2/libb2
+
+etc/stage-pkg -Q -c -d libjpeg-turbo packaging/libjpeg-turbo/libjpeg-turbo/libjpeg-turbo
+
+etc/stage-pkg -Q -c -d freetype packaging/libfreetype/libfreetype
+
+etc/stage-pkg -Q -c -d harfbuzz packaging/harfbuzz/harfbuzz/libharfbuzz
+
+etc/stage-pkg -Q -c -d Qt5 packaging/qt5/Qt5/Qt5Moc \
+ packaging/qt5/Qt5/Qt5Rcc \
+ packaging/qt5/Qt5/libQt5Core
+
+etc/stage-pkg -Q -c -d Qt6 packaging/qt6/Qt6/Qt6Moc \
+ packaging/qt6/Qt6/Qt6Rcc \
+ packaging/qt6/Qt6/libQt6Core
+
# Regenerate repository and publish.
#
-etc/stage-pkg -Q -g --min-bpkg-version 0.13.0
+etc/stage-pkg -Q -g --min-bpkg-version 0.14.0
etc/stage-pkg -Q -p
diff --git a/upgrade b/upgrade
index 8cd4224..c98e9d6 100755
--- a/upgrade
+++ b/upgrade
@@ -15,7 +15,7 @@
# This script only upgrades the default configurations (including -libs, if
# present). To upgrade the rest you can use the normal way, for example:
#
-# bdep sync -fur @<cfg>|-a
+# bdep sync -Fur @<cfg>|-a
#
# If the -c option is specified, the configuration is upgraded and configured
# but only the build system is updated. This can be done at a later stage by
diff --git a/version b/version
index bc8b000..393e8d0 100755
--- a/version
+++ b/version
@@ -10,16 +10,17 @@ usage="usage: etc/version"
#
# NOTE: also update in 'bdep new'?
# NOTE: also update in libbuild2-<module>?
+# NOTE: if upgrade is supported, should be previous release version.
#
-build2_min=0.14.0-
-bpkg_min=0.14.0-
+build2_min=0.15.0-
+bpkg_min=0.15.0-
-ver=0.15.0-a.0.z
-#ver=0.15.0
-mods=(libstd-modules libbutl libbutl.bash libbpkg libbbot bpkg bpkg-util build2)
+#ver=0.15.0-a.0.z
+ver=0.15.0
+mods=(libbutl libbutl.bash libbpkg libbbot bpkg bpkg-util build2)
-odb_ver=2.5.0-b.22.z
-#odb_ver=2.5.0-b.23
+#odb_ver=2.5.0-b.24.z
+odb_ver=2.5.0-b.23
odb_mods=(libodb libodb-sqlite libodb-pgsql)
#xml_ver=1.1.0-b.10.z
@@ -28,9 +29,9 @@ xml_mods=(libstudxml)
# !!! NOTE: libpkg-config version constraint in build2 is updated manually.
# !!! NOTE: libcmark version constraint in brep is updated manually.
-# !!! NOTE: libsqlite3 version in bpkg.
+# !!! NOTE: libsqlite3 version in bpkg, bdep.
-all=(libstd-modules libbutl libbutl.bash build2 libbpkg bpkg bpkg-util bdep bdep-util libbbot bbot brep build2-toolchain msvc-linux openssl-agent buildos)
+all=(libbutl libbutl.bash build2 libbpkg bpkg bpkg-util bdep bdep-util libbbot bbot brep build2-toolchain msvc-linux openssl-agent buildos)
# In manifests for alpha/beta we use an exact match. For snapshots -- snapshot
# range. Otherwise an X.Y.* range.