aboutsummaryrefslogtreecommitdiff
path: root/doc/manual.cli
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2021-09-06 16:38:36 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2021-09-24 11:10:59 +0300
commit18baf3784407f28f61d9e8d90daf1ce99c7e86d3 (patch)
tree0e76ff770c63b2126c62d7cb02efea252fd347b2 /doc/manual.cli
parent762ecb665373d6ac6ed9e8f2b50aaa2e5cd56468 (diff)
Add support for target, host, and module package types
Diffstat (limited to 'doc/manual.cli')
-rw-r--r--doc/manual.cli62
1 files changed, 37 insertions, 25 deletions
diff --git a/doc/manual.cli b/doc/manual.cli
index 4326a5b..10616e3 100644
--- a/doc/manual.cli
+++ b/doc/manual.cli
@@ -330,12 +330,16 @@ version: <package-version>
repository-url: <repository-url>
[repository-type]: pkg|git|dir
[trust]: <repository-fp>
-[test-exclude]: <package-name>/<package-version>
+[requires]: <package-requirements>
+[tests]: <dependency-package>
+[examples]: <dependency-package>
+[benchmarks]: <dependency-package>
machine: <machine-name>
target: <target-triplet>
[environment]: <environment-name>
[config]: <config-args>
+[host]: true|false
[warning-regex]: <warning-regex>
[interactive]: <breakpoint>
\
@@ -396,18 +400,16 @@ some agents may only trust their internally-specified fingerprints to prevent
the \"man in the middle\" attacks.
-\h2#arch-task-test-exclude|\c{test-exclude}|
+\h2#arch-task-requires-tests-examples-benchmarks|\c{requires, tests, examples, benchmarks}|
-\
-[test-exclude]: <package-name>/<package-version>
-\
-
-The separate test, example, or benchmark package to exclude from building
-together with the primary package. This value may be specified multiple times.
+The primary package manifest values that need to be known by the \c{bbot}
+worker before it retrieves the primary package manifest. See
+\l{bpkg#manifest-package Package Manifest} for more information on these
+values.
-The controller adds this value for packages specified via the \c{tests},
-\c{examples}, and \c{benchmarks} primary package manifest values which should
-be excluded from building due to their \c{builds}, \c{build-include}, and
+The controller copies these values from the primary package manifest, except
+those \c{tests}, \c{examples}, and \c{benchmarks} values which should be
+excluded from building due to their \c{builds}, \c{build-include}, and
\c{build-exclude} manifest values.
@@ -469,6 +471,16 @@ Values can be separated with spaces or newlines. See \l{#arch-controller
Controller Logic} for details.
+\h2#arch-task-host|\c{host}|
+
+\
+[host]: true|false
+\
+
+If \c{true}, then the build configuration is self-hosted. If not specified,
+\c{false} is assumed. See \l{#arch-controller Controller Logic} for details.
+
+
\h2#arch-task-warning-regex|\c{warning-regex}|
\
@@ -864,8 +876,7 @@ bpkg -v update <package-name>
}
# For each package referred to by the tests, examples, or benchmarks
-# package manifest values and not excluded by the test-exclude task
-# manifest values:
+# package manifest values not excluded by the bbot controller:
#
{
# bpkg.test-separate.configure.build (bpkg.configure.build)
@@ -907,8 +918,7 @@ bpkg -v update <package-name>
}
# If any of the tests, examples, or benchmarks package manifest
- # values are specified and are not all excluded by the test-exclude
- # task manifest values:
+ # values are not excluded by the bbot controller:
#
{
# bpkg.test-installed.create (bpkg.create)
@@ -924,8 +934,8 @@ bpkg -v update <package-name>
bpkg -v fetch --trust <repository-fp>
# For each package referred to by the tests, examples, or
- # benchmarks package manifest values and not excluded by the
- # test-exclude task manifest values:
+ # benchmarks package manifest values not excluded by the
+ # bbot controller:
#
{
# bpkg.test-separate-installed.configure.build (
@@ -1066,11 +1076,13 @@ should be used to detect warnings in the logs.
The build configurations can belong to multiple classes with their names
reflecting some common configuration aspects, such as the operating system,
compiler, build options, etc. Predefined class names are \c{default}, \c{all},
-and \c{none}. The default configurations are built by default. A configuration
-must also belong to the \c{all} unless it is hidden. Valid custom class names
-must contain only alpha-numeric characters, \c{_}, \c{+}, \c{-}, and \c{.},
-except as the first character for the last three. Class names that start with
-\c{_} are reserved for the future hidden/special class functionality.
+\c{none}, and \c{host}. The default configurations are built by default. A
+configuration must also belong to the \c{all} unless it is hidden. A
+configuration that is self-hosted must also belong to the \c{host} class.
+Valid custom class names must contain only alpha-numeric characters, \c{_},
+\c{+}, \c{-}, and \c{.}, except as the first character for the last
+three. Class names that start with \c{_} are reserved for the future
+hidden/special class functionality.
Regular expressions must start with \c{~}, to be distinguished from
configuration options and variables. Note that the \c{<config-arg>} and
@@ -1157,9 +1169,9 @@ 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{test-exclude} task manifest values, then the worker will
-additionally build such subprojects/packages against the installation and run
-their tests (test installed and test separate installed phases).
+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).
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},