From b34e102801ae7624f3f08ee474d46b4313595f22 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Fri, 29 Jul 2022 09:09:58 +0200 Subject: Updates for 0.15.0 release --- doc/release.cli | 57 ++++++++-- git/modules | 3 - intro2-tldr.orig | 18 +-- intro2-tour.orig | 339 ++++++++++++++++++++++++++++--------------------------- review | 4 +- stage-queue | 18 ++- upgrade | 2 +- version | 19 ++-- 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 @|-a +# bdep sync -Fur @|-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-? +# 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. -- cgit v1.1