From 1bbd01a9837c5a4297e53701055a309593945fa1 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Wed, 20 Oct 2021 13:43:58 +0200 Subject: Update intro scripts --- doc/release.cli | 5 +- intro2-tldr | 23 +++- intro2-tldr.orig | 20 +--- intro2-tour | 133 ++++++++++++++++++++--- intro2-tour.orig | 324 ++++++++++++++++++++++++++++++++++++------------------- 5 files changed, 357 insertions(+), 148 deletions(-) diff --git a/doc/release.cli b/doc/release.cli index bc37f56..2c34796 100644 --- a/doc/release.cli +++ b/doc/release.cli @@ -154,11 +154,12 @@ distribution from \c{etc/stage} and add the pre-distributed packages \ cd etc - ./intro2-tldr 2>&1 | tee intro2-tldr.out + script -qc ./intro2-tldr intro2-tldr.out && sed -i -e 's/\r//g' intro2-tldr.out diff -u intro2-tldr.orig intro2-tldr.out # Or use gitk. mv intro2-tldr.out intro2-tldr.orig - ./intro2-tour 2>&1 | tee intro2-tour.out + + 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 \ diff --git a/intro2-tldr b/intro2-tldr index ee1f487..6fd2d09 100755 --- a/intro2-tldr +++ b/intro2-tldr @@ -15,15 +15,28 @@ function error () { echo "$*" 1>&2; exit 1; } tmp=/tmp show=y +# Keep in sync with *-tour. +# function show () # ... { if [ $show = "y" ]; then echo echo "+ $*" - "${@}" - else - "${@}" fi + + local p=("$1") + + if [ "$1" = b -o "$1" = bpkg -o "$1" = bdep ]; then + p+=(--no-progress) + fi + + if [ "$1" = tree ]; then + p+=(-n) # No color. + fi + + shift + + "${p[@]}" "${@}" } cd "$tmp" @@ -39,7 +52,7 @@ git add . git commit -m "first commit" cd .. -show git clone file://$tmp/hello.git +show git clone --no-progress file://$tmp/hello.git show tree hello show cd hello @@ -64,7 +77,7 @@ show b sed -i -re 's/#v1.0.0//' repositories.manifest show bdep fetch -bdep sync +bdep sync --no-progress show bdep status -i show bdep sync libhello diff --git a/intro2-tldr.orig b/intro2-tldr.orig index 769f179..2b8531a 100644 --- a/intro2-tldr.orig +++ b/intro2-tldr.orig @@ -1,5 +1,6 @@ +Script started on Wed 20 Oct 2021 01:28:03 PM SAST created new executable project hello in /tmp/hello.git/ -[master (root-commit) 838e609] first commit +[master (root-commit) 032348d] first commit 13 files changed, 141 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore @@ -15,7 +16,7 @@ created new executable project hello in /tmp/hello.git/ create mode 100644 manifest create mode 100644 repositories.manifest -+ git clone file:///tmp/hello.git ++ git clone --no-progress file:///tmp/hello.git Cloning into 'hello'... + tree hello @@ -53,29 +54,20 @@ Hello, World! + b fetching git:build2.org/hello/libhello#v1.0.0 (prerequisite of dir:/tmp/hello) -querying https://git.build2.org/hello/libhello.git -fetching from https://git.build2.org/hello/libhello.git synchronizing /tmp/hello-gcc/: new libhello/1.0.0+4 (required by hello) upgrade hello/0.1.0#1 -distributing libhello/1.0.0+4 +version.in ../hello-gcc/libhello-1.0.0+4/libhello/version.hxx.in c++ ../hello-gcc/libhello-1.0.0+4/libhello/cxx{hello} c++ hello/cxx{hello}@../hello-gcc/hello/hello/ -version.in ../hello-gcc/libhello-1.0.0+4/libhello/version.hxx.in ld ../hello-gcc/libhello-1.0.0+4/libhello/libs{hello} ld ../hello-gcc/hello/hello/exe{hello} ln ../hello-gcc/hello/hello/exe{hello} -> hello/ + bdep fetch fetching git:build2.org/hello/libhello (prerequisite of dir:/tmp/hello) -querying https://git.build2.org/hello/libhello.git -fetching from https://git.build2.org/hello/libhello.git fetching git:build2.org/hello/libformat##HEAD (prerequisite of git:build2.org/hello/libhello) -querying https://git.build2.org/hello/libformat.git -fetching from https://git.build2.org/hello/libformat.git fetching git:build2.org/hello/libprint##HEAD (prerequisite of git:build2.org/hello/libhello) -querying https://git.build2.org/hello/libprint.git -fetching from https://git.build2.org/hello/libprint.git + bdep status -i hello configured 0.1.0#1 @@ -87,9 +79,6 @@ synchronizing: new libprint/1.0.0+8 (required by libhello) upgrade libhello/1.1.0+8 reconfigure hello/0.1.0#1 -distributing libformat/1.0.0+8 -distributing libprint/1.0.0+8 -distributing libhello/1.1.0+8 + bdep sync libhello/1.0.0 synchronizing: @@ -97,4 +86,3 @@ synchronizing: drop libformat/1.0.0+8 (unused) downgrade libhello/1.0.0+8 reconfigure hello/0.1.0#1 -distributing libhello/1.0.0+8 diff --git a/intro2-tour b/intro2-tour index 6f8c2a9..660ffc8 100755 --- a/intro2-tour +++ b/intro2-tour @@ -23,22 +23,35 @@ msvc=cl-15 repo=https://stage.build2.org/1/ trust="EC:50:13:E2:3D:F7:92:B4:50:0B:BF:2A:1F:7D:31:04:C6:57:6F:BC:BE:04:2E:E0:58:14:FA:66:66:21:1F:14" +# Keep in sync with *-tldr. +# function show () # ... { if [ $show = "y" ]; then echo echo "+ $*" - "${@}" - else - "${@}" fi + + local p=("$1") + + if [ "$1" = b -o "$1" = bpkg -o "$1" = bdep ]; then + p+=(--no-progress) + fi + + if [ "$1" = tree ]; then + p+=(-n) # No color. + fi + + shift + + "${p[@]}" "${@}" } cd "$tmp" function clean () { - rm -rf hello hello-gcc hello-clang hello-vc-* hello-mingw + rm -rf hello hello-host hello-build2 hello-base hello-gcc hello-gcc-1 hello-clang hello-vc-* hello-mingw } ## if false; then @@ -74,19 +87,19 @@ show b ../hello-clang/hello/ show b test: ../hello-clang/hello/ show ../hello-clang/hello/hello/hello World -b clean: ../hello-clang/hello/ +b --no-progress clean: ../hello-clang/hello/ show bdep test @clang show bdep test @gcc @clang show bdep init -C ../hello-mingw @mingw cc config.cxx=x86_64-w64-mingw32-g++ show bdep update @mingw show bdep test @mingw -show ../hello-mingw/hello/hello/hello.exe Windows +show ../hello-mingw/hello/hello/hello.exe Windows | cat # Strip term junk. show git add . show git commit -m "Initial implementation" show git remote add origin git@github.com:boris-kolpackov/hello.git -show git push origin master -u --force +show git push --no-progress origin master -u --force show bdep ci --simulate success show bdep deinit @gcc @clang @@ -221,6 +234,102 @@ show bdep sync ?sys:libsqlite3 cd .. +# Build-time Dependencies. +# +clean +show bdep new -t exe -l c++ hello +cd hello +show bdep init -C @gcc cc config.cxx=$gcc +show bdep init -C @clang cc config.cxx=$clang + +cat <>repositories.manifest +: +role: prerequisite +location: https://pkg.cppget.org/1/alpha +trust: 70:64:FE:E4:E0:F3:60:F1:B4:51:E1:FA:12:5C:E0:B3:DB:DF:96:33:39:B9:2E:E5:C2:68:63:4C:A6:47:39:43 +EOF +echo 'depends: * xxd >= 8.2.0' >>manifest +cat <hello/buildfile +import! [metadata] xxd = xxd%exe{xxd} + +exe{hello}: {hxx ixx txx cxx}{** -names} cxx{names} $libs testscript + +cxx{names}: file{names.txt} \$xxd +{{ + i = \$path(\$<[0]) + env --cwd \$directory(\$i) -- \$xxd -i \$leaf(\$i) >\$path(\$>) +}} +EOF +cat <hello/hello.cxx +#include +#include + +extern unsigned char names_txt[]; +extern unsigned int names_txt_len; + +int main (int argc, char* argv[]) +{ + using namespace std; + + if (argc < 2) + { + cerr << "error: missing name" << endl; + return 1; + } + + cout << string (reinterpret_cast (names_txt), names_txt_len) << ", " << argv[1] << '!' << endl; +} +EOF +echo -n "Hello" >hello/names.txt + +show bdep config list +#show bdep sync --create-host-config # Needed if not terminal. +show b +b --no-progress test +show bdep config list +show bdep update @clang + +echo 'depends: * libbuild2-hello' >>manifest +echo 'using hello' >>hello/buildfile + +#show bdep sync --create-build2-config # Needed if not terminal. +show b +show bdep config list +show bdep update @clang + +cd .. + + +# Linked Configurations. +# +clean +show bdep new -t exe -l c++ hello +cd hello + +cat <>repositories.manifest +: +role: prerequisite +location: $repo +trust: $trust +EOF +sed -i -re 's/^#depends: libhello/depends: libhello/' manifest # ^1.0.0 +sed -i -re 's/^#import/import/' hello/buildfile + +show bdep config create ../hello-base @base --no-default cc config.cxx=$gcc +show bdep config create ../hello-gcc @gcc --default cc config.cxx=$gcc +show bdep config create ../hello-clang @clang cc config.cxx=$clang + +show bdep config link @gcc @base +show bdep config link @clang @base + +show bdep init @gcc { @base }+ ?libhello +show bdep init @clang + +show bdep update @gcc +show bdep update @clang + +cd .. + # Versioning and Release Management. # clean @@ -228,13 +337,13 @@ show bdep new -C hello-gcc @gcc -t exe -l c++ hello cc config.cxx=$gcc cd hello git remote add origin git@github.com:boris-kolpackov/hello.git -git push origin :build2-control || true -git push -d origin v0.1.0-a.1 || true -git push -d origin v0.1.0 || true +git push --no-progress origin :build2-control || true +git push --no-progress -d origin v0.1.0-a.1 || true +git push --no-progress -d origin v0.1.0 || true git add . git commit -m "Initial implementation" -git push -f -u +git push --no-progress -f -u show bdep status show b info @@ -331,5 +440,3 @@ show /opt/tools/bin/hello World show tree /opt/tools show bpkg uninstall hello show bpkg drop hello - -echo "finished" diff --git a/intro2-tour.orig b/intro2-tour.orig index 02f006e..bbbb7f3 100644 --- a/intro2-tour.orig +++ b/intro2-tour.orig @@ -1,3 +1,4 @@ +Script started on Wed 20 Oct 2021 01:29:58 PM SAST + bdep new -t exe -l c++ hello created new executable project hello in /tmp/hello/ @@ -65,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.14.0 +depends: * bpkg >= 0.14.0 #depends: libhello ^1.0.0 + bdep init -C ../hello-gcc @gcc cc config.cxx=g++ @@ -180,12 +181,12 @@ ld ../hello-mingw/hello/hello/exe{hello} test hello/testscript{testscript}@../hello-mingw/hello/hello/ ../hello-mingw/hello/hello/exe{hello} + ../hello-mingw/hello/hello/hello.exe Windows -Hello, Windows! +Hello, Windows! + git add . + git commit -m Initial implementation -[master (root-commit) d998af5] Initial implementation +[master (root-commit) cf83f68] Initial implementation 13 files changed, 141 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore @@ -203,22 +204,20 @@ Hello, Windows! + git remote add origin git@github.com:boris-kolpackov/hello.git -+ git push origin master -u --force ++ git push --no-progress origin master -u --force To github.com:boris-kolpackov/hello.git - + 5557360...d998af5 master -> master (forced update) + + 35716b9...cf83f68 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@d998af5d8a31b2dc6e2c28e4fd1f242935b89b7e + in: https://github.com/boris-kolpackov/hello.git#master@cf83f6837196e738ae36c48a1ebbbb35a25e3ce9 package: hello - version: 0.1.0-a.0.20211016074742.d998af5d8a31 -continue? [y/n] % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 79 812 0 0 100 649 0 468 0:00:01 0:00:01 --:--:-- 468 100 812 100 163 100 649 117 468 0:00:01 0:00:01 --:--:-- 468 -CI request is queued: https://ci.stage.build2.org/@1773db76-9c9a-456c-a0ca-864c22b05ded -reference: 1773db76-9c9a-456c-a0ca-864c22b05ded + version: 0.1.0-a.0.20211020113017.cf83f6837196 +continue? [y/n] y +CI request is queued: https://ci.stage.build2.org/@b194b7d3-b76a-470f-aa55-4c46508604c8 +reference: b194b7d3-b76a-470f-aa55-4c46508604c8 + bdep deinit @gcc @clang deinitializing in project /tmp/hello/ @@ -243,8 +242,6 @@ synchronizing: new hello/0.1.0-a.0.19700101000000 + bpkg rep-info https://git.build2.org/hello/libhello.git -querying https://git.build2.org/hello/libhello.git -fetching from https://git.build2.org/hello/libhello.git 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 @@ -253,8 +250,6 @@ libhello/1.0.0+8 libhello/1.1.0+8 + bpkg rep-info https://git.build2.org/hello/libhello.git#HEAD -querying https://git.build2.org/hello/libhello.git -fetching from https://git.build2.org/hello/libhello.git 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 @@ -267,29 +262,29 @@ warning: authenticity of the certificate for repository pkg:stage.build2.org can certificate is for **build2.org, "Code Synthesis" certificate SHA256 fingerprint: EC:50:13:E2:3D:F7:92:B4:50:0B:BF:2A:1F:7D:31:04:C6:57:6F:BC:BE:04:2E:E0:58:14:FA:66:66:21:1F:14 -trust this certificate? [y/n] hello configured 0.1.0-a.0.19700101000000 available 0.1.0-a.0.19700101000000#1 +trust this certificate? [y/n] y +hello configured 0.1.0-a.0.19700101000000 available 0.1.0-a.0.19700101000000#1 + bdep sync synchronizing: - new libhello/1.0.0+7 (required by hello) + new libhello/1.0.0+8 (required by hello) upgrade hello/0.1.0-a.0.19700101000000#1 - 0K ... 100% 77.1M=0s + b synchronizing /tmp/hello-gcc/: upgrade hello/0.1.0-a.0.19700101000000#2 mkdir ../hello-gcc/hello/fsdir{hello/} -version.in ../hello-gcc/libhello-1.0.0+7/libhello/version.hxx.in -c++ ../hello-gcc/libhello-1.0.0+7/libhello/cxx{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/cxx{hello}@../hello-gcc/hello/hello/ -ld ../hello-gcc/libhello-1.0.0+7/libhello/libs{hello} +ld ../hello-gcc/libhello-1.0.0+8/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+7 + libhello ^1.0.0 configured 1.0.0+8 in configuration @clang: fetching pkg:stage.build2.org (prerequisite of dir:/tmp/hello) @@ -300,27 +295,26 @@ in configuration @gcc: in configuration @clang: synchronizing: - new libhello/1.0.0+7 (required by hello) + new libhello/1.0.0+8 (required by hello) upgrade hello/0.1.0-a.0.19700101000000#1 - 0K ... 100% 62.8M=0s + bdep test -ai in configuration @gcc: -c++ ../hello-gcc/libhello-1.0.0+7/tests/basics/cxx{driver} -ld ../hello-gcc/libhello-1.0.0+7/tests/basics/exe{driver} -test ../hello-gcc/libhello-1.0.0+7/tests/basics/exe{driver} +c++ ../hello-gcc/libhello-1.0.0+8/tests/basics/cxx{driver} +ld ../hello-gcc/libhello-1.0.0+8/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: mkdir ../hello-clang/hello/fsdir{hello/} -version.in ../hello-clang/libhello-1.0.0+7/libhello/version.hxx.in +version.in ../hello-clang/libhello-1.0.0+8/libhello/version.hxx.in c++ hello/cxx{hello}@../hello-clang/hello/hello/ -c++ ../hello-clang/libhello-1.0.0+7/libhello/cxx{hello} -c++ ../hello-clang/libhello-1.0.0+7/tests/basics/cxx{driver} -ld ../hello-clang/libhello-1.0.0+7/libhello/libs{hello} -ld ../hello-clang/libhello-1.0.0+7/tests/basics/exe{driver} +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/hello/hello/exe{hello} -test ../hello-clang/libhello-1.0.0+7/tests/basics/exe{driver} +ld ../hello-clang/libhello-1.0.0+8/tests/basics/exe{driver} +test ../hello-clang/libhello-1.0.0+8/tests/basics/exe{driver} test hello/testscript{testscript}@../hello-clang/hello/hello/ ../hello-clang/hello/hello/exe{hello} + bdep status @@ -328,27 +322,20 @@ 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+7 (unused) + drop libhello/1.0.0+8 (unused) upgrade hello/0.1.0-a.0.19700101000000#3 synchronizing: - new libhello/1.0.0+7 (required by hello) + new libhello/1.0.0+8 (required by hello) upgrade hello/0.1.0-a.0.19700101000000#4 - 0K ... 100% 11.2M=0s + bdep fetch fetching git:build2.org/hello/libhello (prerequisite of dir:/tmp/hello) -querying https://git.build2.org/hello/libhello.git -fetching from https://git.build2.org/hello/libhello.git fetching git:build2.org/hello/libformat##HEAD (prerequisite of git:build2.org/hello/libhello) -querying https://git.build2.org/hello/libformat.git -fetching from https://git.build2.org/hello/libformat.git fetching git:build2.org/hello/libprint##HEAD (prerequisite of git:build2.org/hello/libhello) -querying https://git.build2.org/hello/libprint.git -fetching from https://git.build2.org/hello/libprint.git fetching pkg:stage.build2.org (prerequisite of dir:/tmp/hello) + bdep status libhello -libhello configured 1.0.0+7 available [1.1.0+8] [1.0.0+8] +libhello configured 1.0.0+8 available [1.1.0+8] + bdep sync libhello synchronizing: @@ -356,9 +343,6 @@ synchronizing: new libprint/1.0.0+8 (required by libhello) upgrade libhello/1.1.0+8 reconfigure hello/0.1.0-a.0.19700101000000#4 -distributing libformat/1.0.0+8 -distributing libprint/1.0.0+8 -distributing libhello/1.1.0+8 + bdep status -r hello configured 0.1.0-a.0.19700101000000#4 @@ -367,7 +351,7 @@ hello configured 0.1.0-a.0.19700101000000#4 libprint ^1.0.0 configured 1.0.0+8 + bdep status -o libhello -libhello configured 1.1.0+8 available (1.1.0+8) [1.0.0+8] [1.0.0+7] +libhello configured 1.1.0+8 available (1.1.0+8) [1.0.0+8] + bdep sync libhello/1.0.0 synchronizing: @@ -375,7 +359,6 @@ synchronizing: drop libformat/1.0.0+8 (unused) downgrade libhello/1.0.0+8 reconfigure hello/0.1.0-a.0.19700101000000#4 -distributing libhello/1.0.0+8 + bdep new -C libextra-gcc -t lib -l c++ libextra cc config.cxx=g++ created new library project libextra in /tmp/libextra/ @@ -388,10 +371,10 @@ 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/pca{extra} pc libextra-gcc/libextra/libextra/pcs{extra} -pc libextra-gcc/libextra/libextra/pc{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} install unpkg-gcc/ install unpkg-gcc/include/ @@ -434,23 +417,14 @@ unpkg-gcc initializing in project /tmp/hello/ created configuration @gcc1 /tmp/hello-gcc-1/ 3 target auto-synchronized fetching git:build2.org/hello/libhello (prerequisite of dir:/tmp/hello) -querying https://git.build2.org/hello/libhello.git -fetching from https://git.build2.org/hello/libhello.git fetching git:build2.org/hello/libformat##HEAD (prerequisite of git:build2.org/hello/libhello) -querying https://git.build2.org/hello/libformat.git -fetching from https://git.build2.org/hello/libformat.git fetching git:build2.org/hello/libprint##HEAD (prerequisite of git:build2.org/hello/libhello) -querying https://git.build2.org/hello/libprint.git -fetching from https://git.build2.org/hello/libprint.git 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 hello/0.1.0-a.0.19700101000000 -distributing libformat/1.0.0+8 -distributing libprint/1.0.0+8 -distributing libhello/1.1.0+8 + b test: ../hello-gcc-1/ mkdir ../hello-gcc-1/hello/fsdir{hello/} @@ -459,21 +433,21 @@ 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/libformat/cxx{format} c++ ../hello-gcc-1/libformat-1.0.0+8/tests/basics/cxx{driver} -c++ ../hello-gcc-1/libhello-1.1.0+8/libhello/cxx{hello} 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/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/hello/hello/exe{hello} ld ../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/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} test hello/testscript{testscript}@../hello-gcc-1/hello/hello/ ../hello-gcc-1/hello/hello/exe{hello} + b configure: ../hello-gcc/ config.cc.poptions+=-I/tmp/unpkg-gcc/include config.cc.loptions+=-L/tmp/unpkg-gcc/lib @@ -496,6 +470,145 @@ synchronizing: configure sys:libsqlite3/* upgrade hello/0.1.0-a.0.19700101000000#5 ++ bdep new -t exe -l c++ hello +created new executable project hello in /tmp/hello/ + ++ bdep init -C @gcc cc config.cxx=g++ +initializing in project /tmp/hello/ +created configuration @gcc /tmp/hello-gcc/ 1 target default,forwarded,auto-synchronized +synchronizing: + new hello/0.1.0-a.0.19700101000000 + ++ bdep init -C @clang cc config.cxx=clang++-5.0 +initializing in project /tmp/hello/ +created configuration @clang /tmp/hello-clang/ 2 target auto-synchronized +synchronizing: + new hello/0.1.0-a.0.19700101000000 + ++ bdep config list +@gcc /tmp/hello-gcc/ 1 target default,forwarded,auto-synchronized +@clang /tmp/hello-clang/ 2 target auto-synchronized + ++ b +fetching pkg:cppget.org/alpha (prerequisite of dir:/tmp/hello) +fetching pkg:cppget.org/beta (complements pkg:cppget.org/alpha) +fetching pkg:cppget.org/testing (complements pkg:cppget.org/beta) +fetching pkg:cppget.org/stable (complements pkg:cppget.org/testing) + +creating configuration of host type in /tmp/hello-host/ and associating it with project(s): + /tmp/hello/ +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 +synchronizing /tmp/hello-gcc/: + new xxd/8.2.3075 [/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} +xxd ../hello-gcc/hello/hello/cxx{names} +c++ ../hello-gcc/hello/hello/cxx{names} +c++ hello/cxx{hello}@../hello-gcc/hello/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 config list +@gcc /tmp/hello-gcc/ 1 target default,forwarded,auto-synchronized +@clang /tmp/hello-clang/ 2 target auto-synchronized +@host /tmp/hello-host/ 3 host forwarded,auto-synchronized + ++ bdep update @clang +fetching pkg:cppget.org/alpha (prerequisite of dir:/tmp/hello) +fetching pkg:cppget.org/beta (complements pkg:cppget.org/alpha) +fetching pkg:cppget.org/testing (complements pkg:cppget.org/beta) +fetching pkg:cppget.org/stable (complements pkg:cppget.org/testing) +synchronizing: + upgrade hello/0.1.0-a.0.19700101000000#1 +mkdir ../hello-clang/hello/fsdir{hello/} +xxd ../hello-clang/hello/hello/cxx{names} +c++ ../hello-clang/hello/hello/cxx{names} +c++ hello/cxx{hello}@../hello-clang/hello/hello/ +ld ../hello-clang/hello/hello/exe{hello} + ++ b + +creating configuration of build2 type in /tmp/hello-build2/ and associating it with project(s): + /tmp/hello/ +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 +synchronizing /tmp/hello-gcc/: + new libbuild2-hello/0.1.0-a.0.20210928065245.4c3109c2b741 [/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-a.0.20210928065245.4c3109c2b741/libbuild2/hello/cxx{init} +ld ../hello-build2/libbuild2-hello-0.1.0-a.0.20210928065245.4c3109c2b741/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 + info: while applying rule alias to update ../hello-gcc/dir{hello/} +info: ../hello-gcc/dir{hello/} is up to date + ++ bdep config list +@gcc /tmp/hello-gcc/ 1 target default,forwarded,auto-synchronized +@build2 /tmp/hello-build2/ 4 build2 forwarded,auto-synchronized +@clang /tmp/hello-clang/ 2 target auto-synchronized +@host /tmp/hello-host/ 3 host forwarded,auto-synchronized + ++ bdep update @clang +hello/buildfile:10:7: info: module hello initialized + info: while applying rule alias to update ../hello-clang/dir{hello/} +info: ../hello-clang/dir{hello/} is up to date + ++ bdep new -t exe -l c++ hello +created new executable project hello in /tmp/hello/ + ++ bdep config create ../hello-base @base --no-default cc config.cxx=g++ +created configuration @base /tmp/hello-base/ 1 target auto-synchronized + ++ bdep config create ../hello-gcc @gcc --default cc config.cxx=g++ +created configuration @gcc /tmp/hello-gcc/ 2 target default,forwarded,auto-synchronized + ++ bdep config create ../hello-clang @clang cc config.cxx=clang++-5.0 +created configuration @clang /tmp/hello-clang/ 3 target auto-synchronized + ++ bdep config link @gcc @base +linked configuration @gcc (target) with configuration @base (target) + ++ bdep config link @clang @base +linked configuration @clang (target) with configuration @base (target) + ++ bdep init @gcc { @base }+ ?libhello +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 hello/0.1.0-a.0.19700101000000 + ++ bdep init @clang +initializing in project /tmp/hello/ +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 +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/cxx{hello}@../hello-gcc/hello/hello/ +ld ../hello-base/libhello-1.0.0+8/libhello/libs{hello} +ld ../hello-gcc/hello/hello/exe{hello} + ++ bdep update @clang +mkdir ../hello-clang/hello/fsdir{hello/} +c++ hello/cxx{hello}@../hello-clang/hello/hello/ +ld ../hello-clang/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/ created configuration @gcc /tmp/hello-gcc/ 1 target default,forwarded,auto-synchronized @@ -507,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) af66fb2] Initial implementation +[master (root-commit) 731bc3c] Initial implementation 13 files changed, 141 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore @@ -523,15 +636,15 @@ To github.com:boris-kolpackov/hello.git create mode 100644 manifest create mode 100644 repositories.manifest To github.com:boris-kolpackov/hello.git - + d998af5...af66fb2 master -> master (forced update) + + cf83f68...731bc3c 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.20211016074922.af66fb280c29 +hello configured 0.1.0-a.0.19700101000000 available 0.1.0-a.0.20211020113315.731bc3ce86e0 + b info project: hello -version: 0.1.0-a.0.20211016074922.af66fb280c29 +version: 0.1.0-a.0.20211020113315.731bc3ce86e0 summary: hello C++ executable url: https://example.org/hello src_root: /tmp/hello/ @@ -544,15 +657,15 @@ modules: version config test install dist + bdep sync synchronizing: - upgrade hello/0.1.0-a.0.20211016074922.af66fb280c29 + upgrade hello/0.1.0-a.0.20211020113315.731bc3ce86e0 + bdep status -hello configured 0.1.0-a.0.20211016074922.af66fb280c29 -[master f055ca5] Another commit +hello configured 0.1.0-a.0.20211020113315.731bc3ce86e0 +[master 008e72b] Another commit 1 file changed, 1 insertion(+) + bdep status -hello configured 0.1.0-a.0.20211016074922.af66fb280c29 available 0.1.0-a.0.20211016074925.f055ca500a96 +hello configured 0.1.0-a.0.20211020113315.731bc3ce86e0 available 0.1.0-a.0.20211020113318.008e72b6b68d + bdep release --alpha --push releasing: @@ -563,11 +676,11 @@ releasing: commit: yes tag: v0.1.0-a.1 push: origin/master -continue? [y/n] [master e99c5ac] Release version 0.1.0-a.1 +continue? [y/n] y +[master 0d6d0e7] Release version 0.1.0-a.1 1 file changed, 1 insertion(+), 1 deletion(-) -[master 29af065] Change version to 0.1.0-a.1.z +[master 3438da6] Change version to 0.1.0-a.1.z 1 file changed, 1 insertion(+), 1 deletion(-) -pushing branch master, tag v0.1.0-a.1 + bdep release --no-open --push releasing: @@ -577,9 +690,9 @@ releasing: commit: yes tag: v0.1.0 push: origin/master -continue? [y/n] [master ced585b] Release version 0.1.0 +continue? [y/n] y +[master 751fb24] Release version 0.1.0 1 file changed, 1 insertion(+), 1 deletion(-) -pushing branch master, tag v0.1.0 + bdep publish --simulate success synchronizing: @@ -593,18 +706,14 @@ publishing: section: alpha control: https://github.com/boris-kolpackov/hello.git warning: publishing using staged build2 toolchain -continue? [y/n] pushing branch build2-control -remote: -remote: Create a pull request for 'build2-control' on GitHub by visiting: -remote: https://github.com/boris-kolpackov/hello/pull/new/build2-control -remote: +continue? [y/n] y +remote: +remote: Create a pull request for 'build2-control' on GitHub by visiting: +remote: https://github.com/boris-kolpackov/hello/pull/new/build2-control +remote: Branch 'build2-control' set up to track remote branch 'build2-control' from 'origin'. -submitting hello-0.1.0.tar.gz - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 94 2203 0 0 100 2087 0 1315 0:00:01 0:00:01 --:--:-- 1315 100 2203 100 116 100 2087 73 1315 0:00:01 0:00:01 --:--:-- 1315 package submission is queued: https://queue.cppget.org/hello/0.1.0 -reference: 44aaead7a984 +reference: 1ba1d57aebbb + bdep release --open --push opening: @@ -613,9 +722,9 @@ opening: open: 0.2.0-a.0.z commit: yes push: origin/master -continue? [y/n] [master 78814f9] Change version to 0.2.0-a.0.z +continue? [y/n] y +[master 6d08d43] Change version to 0.2.0-a.0.z 1 file changed, 1 insertion(+), 1 deletion(-) -pushing branch master + bdep new -C hello-gcc @gcc -t exe -l c++ hello cc config.cxx=g++ created new executable project hello in /tmp/hello/ @@ -688,8 +797,8 @@ c++ ../libhello/tests/basics/cxx{driver}@../hello-gcc/libhello/tests/basics/ ld ../hello-gcc/libhello/libhello/libs{hello} ld ../hello-gcc/libhello/tests/basics/exe{driver} ld ../hello-gcc/hello/hello/exe{hello} -test ../hello-gcc/libhello/tests/basics/exe{driver} test hello/testscript{testscript}@../hello-gcc/hello/hello/ ../hello-gcc/hello/hello/exe{hello} +test ../hello-gcc/libhello/tests/basics/exe{driver} + bdep new -C hello-gcc @gcc -t exe -l c++ hello cc config.cxx=g++ created new executable project hello in /tmp/hello/ @@ -732,21 +841,21 @@ synchronizing: synchronizing: upgrade hello/0.1.0-a.0.19700101000000#2 mkdir ../hello-gcc/libhello/fsdir{libhello/} -mkdir ../hello-gcc/hello/fsdir{hello/} mkdir ../hello-gcc/libhello/tests/fsdir{basics/} +mkdir ../hello-gcc/hello/fsdir{hello/} version.in libhello/libhello/version.hxx.in -c++ libhello/libhello/cxx{hello}@../hello-gcc/libhello/libhello/ 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/ ld ../hello-gcc/libhello/libhello/libs{hello} -ld ../hello-gcc/hello/hello/exe{hello} ld ../hello-gcc/libhello/tests/basics/exe{driver} +ld ../hello-gcc/hello/hello/exe{hello} 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: 481e4c3d-c27d-49bc-80b3-842eef804942 + uuid: 6ce7c9f5-4d02-4334-a064-21c3a2399ac0 type: target + cd tools @@ -754,40 +863,29 @@ created new configuration in /tmp/tools/ + bpkg build hello@https://git.build2.org/hello/hello.git added git:build2.org/hello/hello fetching git:build2.org/hello/hello -querying https://git.build2.org/hello/hello.git -fetching from https://git.build2.org/hello/hello.git fetching git:build2.org/hello/libhello (prerequisite of git:build2.org/hello/hello) -querying https://git.build2.org/hello/libhello.git -fetching from https://git.build2.org/hello/libhello.git fetching git:build2.org/hello/libformat##HEAD (prerequisite of git:build2.org/hello/libhello) -querying https://git.build2.org/hello/libformat.git -fetching from https://git.build2.org/hello/libformat.git fetching git:build2.org/hello/libprint##HEAD (prerequisite of git:build2.org/hello/libhello) -querying https://git.build2.org/hello/libprint.git -fetching from https://git.build2.org/hello/libprint.git 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 -continue? [Y/n] distributing libformat/1.0.0+8 +continue? [Y/n] y checked out libformat/1.0.0+8 -distributing libprint/1.0.0+8 checked out libprint/1.0.0+8 -distributing libhello/1.1.0+8 checked out libhello/1.1.0+8 -distributing hello/1.0.0+7 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 libhello-1.1.0+8/libhello/version.hxx.in 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} -c++ libhello-1.1.0+8/libhello/cxx{hello} -c++ libformat-1.0.0+8/libformat/cxx{format} 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} @@ -912,11 +1010,13 @@ following dependencies were automatically built but will no longer be used: libhello libformat libprint -drop unused packages? [Y/n] drop hello +drop unused packages? [Y/n] y + drop hello drop libhello drop libformat drop libprint -continue? [Y/n] disfigured hello +continue? [Y/n] y +disfigured hello disfigured libhello disfigured libformat disfigured libprint -- cgit v1.1