diff options
Diffstat (limited to 'doc/release.cli')
-rw-r--r-- | doc/release.cli | 39 |
1 files changed, 31 insertions, 8 deletions
diff --git a/doc/release.cli b/doc/release.cli index eecd155..2569a7d 100644 --- a/doc/release.cli +++ b/doc/release.cli @@ -163,7 +163,7 @@ distribution from \c{etc/stage} and add the pre-distributed packages \ul| - \li|Install guide: 1 & 2.| + \li|Install guide: 1 & 2 (also review build2-toolchain commit log).| \li|Toolchain introduction: 1, 2 & 3 (use \c{intro} script output for 2).| @@ -353,8 +353,9 @@ distribution from \c{etc/stage} and add the pre-distributed packages git -C build2-toolchain commit --amend # \"Change version to X.Y.Z\" \ - Note that \c{libbuild2-hello} is independently versioned but may still - need to update minimum \c{build2} version requirements (see below). + Note that \c{libbuild2-*} modules (e.g., \c{libbuild2-hello}) are + independently versioned but may still need to update minimum \c{build2} + version requirements (see below). | @@ -363,7 +364,21 @@ distribution from \c{etc/stage} and add the pre-distributed packages \li|Regenerate documentation in each package.| \li|Upgrade all dependencies in configure-only mode by executing - \c{etc/upgrade\ -c}.| + \c{etc/upgrade\ -c}. + + If the \c{build2}/\c{bpkg} requirements in the manifests have been + bumped to the version being released, then first bootstrap the build + system and update \c{bpkg}/\c{bdep} (might have to hack their + generated \c{version.hxx} to disable constraint checking; also if you + forget \c{BDEP_SYNC=0} it will most likely hose the build + configuration). + + \ + BDEP_SYNC=0 b-boot build2/build2/ + BDEP_SYNC=0 b bpkg/ bdep/ + \ + + | \li|Trigger regeneration of version files (might require several runs to \"close off\"): @@ -400,7 +415,7 @@ distribution from \c{etc/stage} and add the pre-distributed packages | - \li|Update \c{libbuild2-hello} if required.|| + \li|Update \c{libbuild2-*} modules if required.|| Verify key tests pass (in particular, the \c{bdep} tests will now be running against \c{public} services): @@ -453,7 +468,8 @@ distribution from \c{etc/stage} and add the pre-distributed packages \h#queuing|Queue| - Prepare packages and the toolchain distribution: + Prepare packages and the toolchain distribution (disable extra packages + first if any were enabled in the \c{stage} script): \ etc/stage -q -b @@ -524,7 +540,12 @@ distribution from \c{etc/stage} and add the pre-distributed packages \N|Note that the \c{queue} \c{buildtab} is shared between \c{public} and \c{queue} builds. As a result, after this update, \c{public} build hosts - may not have some of the new (or renamed) build machines.| + may not have some of the new (or renamed) build machines. + + This also means that if the \c{buildtab} contains anything new (options, + etc) that are incompatible with \c{public}, then they should only be + enabled later, when upgrading \c{public} \c{buildtab} (make a note if + that's the case).| Adjust \c{stage} and \c{devel} build host configurations (both \c{*-config} and hardware classes) to enable the \c{queue} toolchain. Shift most @@ -605,6 +626,8 @@ distribution from \c{etc/stage} and add the pre-distributed packages ~/work/build2/buildos/upload-machine <host> .../new-ver .../old-ver \ + Finally, add any new machines. + Uncomment the \c{public} toolchain in the build host configuration and regenerate. The only remaining step is to reboot (not yet): @@ -635,7 +658,7 @@ distribution from \c{etc/stage} and add the pre-distributed packages Note that once published, the existing install instructions/download links are no longer usable, so do not linger (in fact, may make sense to update Download and Install pages before publishing packages and - sync only them immediately after). + only sync them immediately after). \h#start-public|Start \c{public} builds| |