aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2023-04-06 22:54:43 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2023-04-11 17:35:40 +0300
commit9abe5e449cc3dab0715ebc86de2a86e6cb8ecc63 (patch)
tree83f4126eeac2ee7b8d1d162836f40ebf303f1b7a /doc
parent1a795ad9f5b8fe368a1e597c1bfb12fa112d2101 (diff)
Add support for bbot.sys-install step in worker
Diffstat (limited to 'doc')
-rw-r--r--doc/manual.cli270
1 files changed, 259 insertions, 11 deletions
diff --git a/doc/manual.cli b/doc/manual.cli
index 5c76c32..2f6d660 100644
--- a/doc/manual.cli
+++ b/doc/manual.cli
@@ -1067,6 +1067,14 @@ bpkg -v update <package-name>
# bpkg.install
#
bpkg -v install <package-name>
+
+ # If bbot.install.ldconfig step is enabled:
+ #
+ {
+ # bbot.install.ldconfig
+ #
+ sudo ldconfig
+ }
}
# If bpkg.bindist.{debian,fedora,archive} step is enabled:
@@ -1079,6 +1087,51 @@ bpkg -v update <package-name>
<package-name>
}
+# If bbot.sys-install step is enabled:
+#
+{
+ # If <distribution> is 'debian':
+ #
+ {
+ # bbot.sys-install.apt-get.update
+ #
+ sudo apt-get update
+
+ # bbot.sys-install.apt-get.install
+ #
+ sudo apt-get install <distribution-package-file>...
+ }
+ #
+ # Otherwise, if <distribution> is 'fedora':
+ #
+ {
+ # bbot.sys-install.dnf.install
+ #
+ sudo dnf install <distribution-package-file>...
+ }
+ #
+ # Otherwise, if <distribution> is 'archive':
+ #
+ {
+ # For each package file:
+ #
+ {
+ # bbot.sys-install.tar.extract
+ #
+ [sudo] tar -xf <distribution-package-file> \\
+ <env-config-args> <tgt-config-args> <pkg-config-args>
+ }
+
+ # If bbot.sys-install.ldconfig step is enabled:
+ #
+ {
+ # bbot.sys-install.ldconfig
+ #
+ sudo ldconfig
+ }
+ }
+}
+
# If the main package is installed either from source or from the
# binary distribution package:
#
@@ -1152,6 +1205,32 @@ bpkg -v update <package-name>
}
}
+# If the main package is installed from the binary distribution package:
+#
+{
+ # If <distribution> is 'debian':
+ #
+ {
+ # bbot.sys-uninstall.apt-get.remove
+ #
+ sudo apt-get remove <distribution-package-name>...
+ }
+ #
+ # Otherwise, if <distribution> is 'fedora':
+ #
+ {
+ # bbot.sys-uninstall.dnf.remove
+ #
+ sudo dnf remove <distribution-package-name>...
+ }
+ #
+ # Otherwise, if <distribution> is 'archive':
+ #
+ {
+ # Noop.
+ }
+}
+
# If the main package is installed from source:
#
{
@@ -1342,6 +1421,14 @@ bpkg -v update -d <host-conf> <package-name>
# bpkg.install
#
bpkg -v install -d <install-conf> <package-name>
+
+ # If bbot.install.ldconfig step is enabled:
+ #
+ {
+ # bbot.install.ldconfig
+ #
+ sudo ldconfig
+ }
}
# If configuration is self-hosted and
@@ -1355,6 +1442,51 @@ bpkg -v update -d <host-conf> <package-name>
<package-name>
}
+# If bbot.sys-install step is enabled:
+#
+{
+ # If <distribution> is 'debian':
+ #
+ {
+ # bbot.sys-install.apt-get.update
+ #
+ sudo apt-get update
+
+ # bbot.sys-install.apt-get.install
+ #
+ sudo apt-get install <distribution-package-file>...
+ }
+ #
+ # Otherwise, if <distribution> is 'fedora':
+ #
+ {
+ # bbot.sys-install.dnf.install
+ #
+ sudo dnf install <distribution-package-file>...
+ }
+ #
+ # Otherwise, if <distribution> is 'archive':
+ #
+ {
+ # For each package file:
+ #
+ {
+ # bbot.sys-install.tar.extract
+ #
+ [sudo] tar -xf <distribution-package-file> \\
+ <env-config-args> <tgt-config-args> <pkg-config-args>
+ }
+
+ # If bbot.sys-install.ldconfig step is enabled:
+ #
+ {
+ # bbot.sys-install.ldconfig
+ #
+ sudo ldconfig
+ }
+ }
+}
+
# If the main package is installed either from source or from the
# binary distribution package:
#
@@ -1476,6 +1608,32 @@ bpkg -v update -d <host-conf> <package-name>
}
}
+# If the main package is installed from the binary distribution package:
+#
+{
+ # If <distribution> is 'debian':
+ #
+ {
+ # bbot.sys-uninstall.apt-get.remove
+ #
+ sudo apt-get remove <distribution-package-name>...
+ }
+ #
+ # Otherwise, if <distribution> is 'fedora':
+ #
+ {
+ # bbot.sys-uninstall.dnf.remove
+ #
+ sudo dnf remove <distribution-package-name>...
+ }
+ #
+ # Otherwise, if <distribution> is 'archive':
+ #
+ {
+ # Noop.
+ }
+}
+
# If the main package is installed from source:
#
{
@@ -1639,6 +1797,14 @@ bpkg -v update -d <module-conf> <package-name>
# bpkg.install
#
bpkg -v install -d <install-conf> <package-name>
+
+ # If bbot.install.ldconfig step is enabled:
+ #
+ {
+ # bbot.install.ldconfig
+ #
+ sudo ldconfig
+ }
}
# If configuration is self-hosted and
@@ -1652,6 +1818,51 @@ bpkg -v update -d <module-conf> <package-name>
<package-name>
}
+# If bbot.sys-install step is enabled:
+#
+{
+ # If <distribution> is 'debian':
+ #
+ {
+ # bbot.sys-install.apt-get.update
+ #
+ sudo apt-get update
+
+ # bbot.sys-install.apt-get.install
+ #
+ sudo apt-get install <distribution-package-file>...
+ }
+ #
+ # Otherwise, if <distribution> is 'fedora':
+ #
+ {
+ # bbot.sys-install.dnf.install
+ #
+ sudo dnf install <distribution-package-file>...
+ }
+ #
+ # Otherwise, if <distribution> is 'archive':
+ #
+ {
+ # For each package file:
+ #
+ {
+ # bbot.sys-install.tar.extract
+ #
+ [sudo] tar -xf <distribution-package-file> \\
+ <env-config-args> <tgt-config-args> <pkg-config-args>
+ }
+
+ # If bbot.sys-install.ldconfig step is enabled:
+ #
+ {
+ # bbot.sys-install.ldconfig
+ #
+ sudo ldconfig
+ }
+ }
+}
+
# If the main package is installed either from source or from the
# binary distribution package:
#
@@ -1725,6 +1936,32 @@ bpkg -v update -d <module-conf> <package-name>
}
}
+# If the main package is installed from the binary distribution package:
+#
+{
+ # If <distribution> is 'debian':
+ #
+ {
+ # bbot.sys-uninstall.apt-get.remove
+ #
+ sudo apt-get remove <distribution-package-name>...
+ }
+ #
+ # Otherwise, if <distribution> is 'fedora':
+ #
+ {
+ # bbot.sys-uninstall.dnf.remove
+ #
+ sudo dnf remove <distribution-package-name>...
+ }
+ #
+ # Otherwise, if <distribution> is 'archive':
+ #
+ {
+ # Noop.
+ }
+}
+
# If the main package is installed from source:
#
{
@@ -1798,7 +2035,7 @@ to the \c{buildtab} configuration file. Blank lines and lines that start with
<tgt-config-arg> = [[+|-]<prefix>:](<variable>|<option>) | \\
(+|-)<prefix>:
-<prefix> = <tool>[.<phase>][.<operation>[.<command>]]
+<prefix> = <tool>[.<cfg-type>][.<phase>][.<operation>[.<command>]]
\
Where \c{<machine-pattern>} is filesystem wildcard pattern that is matched
@@ -1850,12 +2087,20 @@ bpkg.install
# Disabled by default.
#
+bbot.install.ldconfig
+
+# Disabled by default.
+#
bpkg.bindist.{debian,fedora,archive}
# Disabled if bpkg.bindist.* is disabled.
#
bbot.sys-install
+# Disabled by default.
+#
+bbot.sys-install.ldconfig
+
b.test-installed.test
bpkg.test-separate-installed.update
bpkg.test-separate-installed.test
@@ -1952,12 +2197,14 @@ linux*-gcc_8 linux-gcc_8 x86_64-linux-gnu \"all gcc-8+:gcc-7+\"
If the \c{<tgt-config-arg>} list contains the \c{config.install.root} variable
that applies to the \c{bpkg.create} step, then in addition to building and
possibly running tests, the \c{bbot} worker will also test installing and
-uninstalling each package. Furthermore, if the package contains subprojects
-that support the test operation and/or refers to other packages via the
-\c{tests}, \c{examples}, or \c{benchmarks} manifest values which are not
-excluded by the \c{bbot} controller, then the worker will additionally build
-such subprojects/packages against the installation and run their tests (test
-installed and test separate installed phases).
+uninstalling each package (unless replaced with the \c{bbot.sys-install}
+step). Furthermore, if the package contains subprojects that support the test
+operation and/or refers to other packages via the \c{tests}, \c{examples}, or
+\c{benchmarks} manifest values which are not excluded by the \c{bbot}
+controller, then the worker will additionally build such subprojects/packages
+against the installation (created either from source or from the binary
+distribution package) and run their tests (test installed and test separate
+installed phases).
Two types of installations can be tested: \i{system} and \i{private}. A system
installation uses a well-known location, such as \c{/usr} or \c{/usr/local},
@@ -1977,10 +2224,11 @@ linux*-gcc* linux-gcc-sysinstall x86_64-linux-gnu \"all default gcc\" config.ins
linux*-gcc* linux-gcc-prvinstall x86_64-linux-gnu \"all default gcc\" config.install.root=/tmp/install config.cc.poptions=-I/tmp/install/include config.cc.loptions=-L/tmp/install/lib config.bin.rpath=/tmp/install/lib
\
-Note also that while building and running tests against the installation the
-worker makes the \c{bin} subdirectory of \c{config.install.root} the first
-entry in the \c{PATH} environment variable, except for build system modules
-which supposedly don't install any executables.
+Note also that while building and running tests against the installation
+created either from source or from the archive distribution package the worker
+makes the \c{bin} subdirectory of \c{config.install.root} the first entry in
+the \c{PATH} environment variable, except for build system modules which
+supposedly don't install any executables.
The \c{bbot} controller normally issues the build task by picking an unbuilt
package configuration and one of the produced (via the machine names match)