summaryrefslogtreecommitdiff
path: root/stage
diff options
context:
space:
mode:
Diffstat (limited to 'stage')
-rwxr-xr-xstage88
1 files changed, 62 insertions, 26 deletions
diff --git a/stage b/stage
index 49a65ab..d9d3df4 100755
--- a/stage
+++ b/stage
@@ -33,10 +33,14 @@ bpkg --version >/dev/null
bdep --version >/dev/null
# Make sure the build system if up to date (otherwise update will be triggered
-# by libbuild2-hello distribution).
+# by libbuild2-* module distribution). Also make sure the package manager is
+# up to date since it depend on libbuild2. Update project manager for good
+# measure.
#
-b build2/build2/
-b --version >/dev/null
+b build2/build2/ bpkg/bpkg/ bdep/bdep/
+b --version >/dev/null
+bpkg --version >/dev/null
+bdep --version >/dev/null
v="$(sed -n -re 's/^version: ([^.]+\.[^.]+\.[^-]+(-[ab]\.[^.+]+)?).*$/\1/p' build2-toolchain/manifest)"
vf="$(echo $v | sed -re 's/^([^.]*)\.([^.]*)\.([^-]*).*$/\1.\2.\3/')" # Final.
@@ -167,6 +171,7 @@ if [ "$script_only" != true ]; then
XZ_OPT=-9 \
GZIP_OPT=-9 \
b dist: build2-toolchain-default/ \
+ config.dist.root=/tmp/dist \
"config.dist.archives=$owd/$dist_src/$v/tar.xz $owd/$dist_src/$v/tar.gz" \
config.dist.checksums=sha256
fi
@@ -203,6 +208,9 @@ for f in "${scripts[@]}"; do
checksum_line "$f"
done
+##fi
+##
+
# Sync the distribution.
#
# Note that we do the distribution first so that the toolchain changes are
@@ -225,53 +233,69 @@ function sync_dist () # <dist-src> <dist-dst> [<rsync-options>]
--prune-empty-dirs $rsync_ops "$@" "$s/" "$d/"
}
-sync_dist "$dist_src" "$dist_dst" $rsync_del
+###
+###if false; then
-# Also sync (disable) queue.
+# If we are not preparing packages, publish the distribution now. Otherwise,
+# wait until we have prepared all the packages (which can take a considerable
+# time).
#
-if [ "$mode" = "-p" ]; then
- sync_dist "$queue_dist_src" "$queue_dist_dst" --delete-after
-fi
+if [ "$script_only" -o "$mode" = "-p" ]; then
-##fi
-##
+ sync_dist "$dist_src" "$dist_dst" $rsync_del
-if [ "$script_only" = true ]; then
- exit 0
-fi
+ # Also sync (disable) queue.
+ #
+ if [ "$mode" = "-p" ]; then
+ sync_dist "$queue_dist_src" "$queue_dist_dst" --delete-after
+ fi
-if [ "$mode" = "-p" ]; then
exit 0
fi
# Distribute packages, regenerate and sync the repository.
#
+# Note: $mode is either empty or -q (which implies -d).
-# These are just for testing (though libodb-mysql needs libmysqlclient).
+# Extra packages for testing.
#
+if false; then
+etc/stage-pkg -c $mode -d curl packaging/curl/curl/libcurl
+etc/stage-pkg -c $mode -d curl packaging/curl/curl/curl
+etc/stage-pkg -c $mode -d curl packaging/curl/ca-certificates-curl/libca-certificates-curl
+
+etc/stage-pkg -c $mode -d icu packaging/icu/icu/libicuuc
+etc/stage-pkg -c $mode -d icu packaging/icu/icu/libicui18n
+etc/stage-pkg -c $mode -d icu packaging/icu/icu/libicuio
+fi
+
etc/stage-pkg -c $mode -d zlib packaging/zlib/zlib/libz
-etc/stage-pkg -c $mode -d openssl packaging/openssl/openssl/libcrypto
-etc/stage-pkg -c $mode -d openssl packaging/openssl/openssl/libssl
-etc/stage-pkg -c $mode -d openssl packaging/openssl/openssl/openssl
+etc/stage-pkg -c $mode -d openssl packaging/openssl/openssl/libcrypto \
+ packaging/openssl/openssl/libssl \
+ packaging/openssl/openssl/openssl
etc/stage-pkg -c $mode -d mariadb packaging/mariadb/libmariadb
etc/stage-pkg -c $mode -d mysql packaging/mysql/mysql/libmysqlclient
etc/stage-pkg -c $mode -d libcutl ../cutl/libcutl
-etc/stage-pkg -c $mode -d cli ../cli/cli
+
+etc/stage-pkg -c $mode -d cli ../cli/cli/cli
+etc/stage-pkg -c $mode -d cli ../cli/cli/cli-tests
+etc/stage-pkg -c $mode -d cli ../cli/cli/cli-examples
#
#
etc/stage-pkg -c $mode -d libapr packaging/libapr/libapr1
etc/stage-pkg -c $mode -d libapreq packaging/libapreq/libapreq2
-etc/stage-pkg -c $mode -d postgresql packaging/postgresql/libpq
+
+etc/stage-pkg -c $mode -d postgresql packaging/postgresql/postgresql/libpq
etc/stage-pkg -c $mode -d sqlite \
packaging/sqlite/sqlite/libsqlite3 \
packaging/sqlite/sqlite/sqlite3
-etc/stage-pkg -c $mode -d pkgconf packaging/pkgconf/pkgconf/libpkgconf
+etc/stage-pkg -c $mode -d libpkg-config libpkg-config/libpkg-config
etc/stage-pkg -c $mode -d cmark-gfm \
packaging/cmark-gfm/cmark-gfm/libcmark-gfm \
@@ -294,22 +318,34 @@ etc/stage-pkg -c $mode -d odb \
../odb/builds/default/libodb-boost \
../odb/builds/default/libodb-qt
-etc/stage-pkg -c $mode build2 \
+# Regenerate the repository (unless $mode is -q) but do not publish.
+#
+etc/stage-pkg -c $mode -g build2 \
libbutl \
libbutl.bash \
build2 \
libbpkg \
bpkg \
- bpkg-rep \
+ bpkg-util \
bdep \
+ bdep-util \
libbbot \
brep \
bbot \
openssl-agent \
libbuild2-hello/libbuild2-hello \
- libbuild2-hello/libbuild2-hello-tests
+ libbuild2-hello/libbuild2-hello-tests \
+ libbuild2-kconfig/kconfig-hello \
+ libbuild2-kconfig/libbuild2-kconfig \
+ libbuild2-kconfig/libbuild2-kconfig-tests \
+ libbuild2-autoconf/libbuild2-autoconf \
+ libbuild2-autoconf/libbuild2-autoconf-tests
+###fi
+###
+sync_dist "$dist_src" "$dist_dst" $rsync_del
-# msvc-linux
-# libstd-modules
+if [ "$mode" != "-q" ]; then
+ etc/stage-pkg -p
+fi