aboutsummaryrefslogtreecommitdiff
path: root/UPGRADE.cli
diff options
context:
space:
mode:
Diffstat (limited to 'UPGRADE.cli')
-rw-r--r--UPGRADE.cli66
1 files changed, 41 insertions, 25 deletions
diff --git a/UPGRADE.cli b/UPGRADE.cli
index 7b15afd..066153f 100644
--- a/UPGRADE.cli
+++ b/UPGRADE.cli
@@ -23,9 +23,9 @@ toolchain (similar to what we did during bootstrap), test it, uninstall the
old toolchain, install the new toolchain as \"final\", and finally uninstall
\c{-stage}.
-We recommend that you use a dirty upgrade for patch releases with the same
-\c{X.Y} (\c{MAJOR.MINOR}) version and a staged upgrade otherwise. With patch
-releases we guarantee not to alter the installation file set.
+We recommend that you use a dirty upgrade for toolchain patch releases with
+the same \c{X.Y} (\c{MAJOR.MINOR}) version and a staged upgrade otherwise.
+With patch releases we guarantee not to alter the installation file set.
\N|Without periodic upgrades your version of the toolchain may become too old
to be able to upgrade itself. In this case you will have to fall back onto the
@@ -42,26 +42,25 @@ The dirty upgrade is straightforward:
\
$ cd build2-toolchain-X.Y
$ bpkg fetch
-$ bpkg build --for install -ur build2 bpkg bdep
-$ bpkg install build2 bpkg bdep
+$ bpkg build --for install -pr
+$ bpkg install --all
\
-\N|The \c{-ur} options stands for \c{--upgrade} and \c{--recursive} \- upgrade
-the listed packages and their dependencies, recursively. See
-\l{bpkg-pkg-build(1)} for details.|
+\N|The \c{-pr} options stands for \c{--patch} and \c{--recursive} \- upgrade
+the built packages and their dependencies to the latest patch version,
+recursively. See \l{bpkg-pkg-build(1)} for details.|
-You may also want to issue the \c{status} command after \c{fetch} to examine
-which versions are available. By default \c{bpkg} will upgrade to the latest
-available but you can override this by specifying the desired version
-explicitly, for example:
+You can also issue the \c{status} command after \c{fetch} to examine which
+versions are available. The above \c{build} command will upgrade all the
+packages to the latest available patch versions but you can override this by
+specifying the desired packages and/or versions explicitly, for example:
\
-$ bpkg status build2 bpkg bdep
-!build2 configured 1.0.0 available 1.0.1 2.0.0
-!bpkg configured 1.0.0 available 1.0.1 2.0.0
-!bdep configured 1.0.0 available 1.0.1 2.0.0
+$ bpkg status
+!build2 configured 1.0.0 available 1.0.1 1.0.2 2.0.0
+...
-$ bpkg build --for install build2/1.0.1 bpkg/1.0.1 bdep/1.0.1
+$ bpkg build --for install build2/1.0.1
\
The staged upgrade consists of several steps:
@@ -106,19 +105,36 @@ Or, using Windows command prompt:
\li|\n\b{2. Build and Install as \c{-stage}}\n
-This step is similar to the dirty upgrade except we use the copied
-configuration and install the new toolchain with the \c{-stage} suffix:
+This step is similar to the dirty upgrade except that we use the copied
+configuration, upgrade (\c{--upgrade|-u}) instead of patching
+(\c{--patch|-p}), and install the new toolchain with the \c{-stage} suffix:
\
$ cd build2-toolchain-X.Z
-$ bpkg build --for install -ur build2 bpkg bdep
+$ bpkg build --for install -ur
+\
+
+In addition to upgrading existing packages, we may also need to build packages
+that were added in the new version (listed after the command for a number of
+previous releases):
+
+\
+$ bpkg build --for install ...
+
+# new in 0.14.0: libbuild2-kconfig
+\
+
+Once this is done, we can proceed to installing:
+
+\
$ bpkg install \
config.bin.suffix=-stage \
config.install.data_root=root/stage \
- build2 bpkg bdep
+ --all
\
-|
+You can also specify the desired packages and/or versions explicitly, again,
+similar to the dirty upgrade.|
\li|\n\b{3. Test Staged}\n
@@ -141,10 +157,10 @@ one and install the new one:
\
$ cd ../build2-toolchain-X.Y
-$ bpkg uninstall build2 bpkg bdep
+$ bpkg uninstall --all
$ cd ../build2-toolchain-X.Z
-$ bpkg-stage install build2 bpkg bdep
+$ bpkg-stage install --all
\
|
@@ -159,7 +175,7 @@ line history to find the corresponding \c{install} command and change it to
$ bpkg uninstall \
config.bin.suffix=-stage \
config.install.data_root=root/stage \
- build2 bpkg bdep
+ --all
\
You can also remove the old configuration in \c{build2-toolchain-X.Y/} if you