Command line usage
kas - setup tool for bitbake based project
usage: kas [-h] [--version] [-d] [-l {debug,info,warning,error,critical}]
{build,checkout,dump,for-all-repos,shell,menu} ...
Positional Arguments
- cmd
Possible choices: build, checkout, dump, for-all-repos, shell, menu
sub command help
Named Arguments
- --version
show program’s version number and exit
- -d, --debug
Enable debug logging (deprecated, use –log-level debug).
- -l, --log-level
Possible choices: debug, info, warning, error, critical
Set log level (default: info)
Default: “info”
Sub-commands
build
Checks out all necessary repositories and builds using bitbake as specified in the configuration file.
kas build [-h] [--skip SKIP] [--force-checkout] [--update] [--target TARGET]
[-c TASK]
[config] [extra_bitbake_args ...]
Positional Arguments
- config
Config file, using .config.yaml in KAS_WORK_DIR if none is specified
- extra_bitbake_args
Extra arguments to pass to bitbake (typically requires separation via ‘–‘)
Named Arguments
- --skip
Skip build steps
Default: []
- --force-checkout
Always checkout the desired commit/branch/tag of each repository, discarding any local changes
Default: False
- --update
Pull new upstream changes to the desired branch even if it is already checked out locally
Default: False
- --target
Select target to build
- -c, --cmd, --task
Select which task should be executed
checkout
Checks out all necessary repositories and sets up the build directory as specified in the configuration file.
kas checkout [-h] [--skip SKIP] [--force-checkout] [--update] [config]
Positional Arguments
- config
Config file, using .config.yaml in KAS_WORK_DIR if none is specified
Named Arguments
- --skip
Skip build steps
Default: []
- --force-checkout
Always checkout the desired commit/branch/tag of each repository, discarding any local changes
Default: False
- --update
Pull new upstream changes to the desired branch even if it is already checked out locally
Default: False
dump
Expand and dump the final config to stdout. When resolving branches, this is done before patches are applied.
kas dump [-h] [--skip SKIP] [--force-checkout] [--update]
[--format {yaml,json}] [--indent INDENT] [--resolve-refs]
[--resolve-env | --lock] [-i]
[config]
Positional Arguments
- config
Config file, using .config.yaml in KAS_WORK_DIR if none is specified
Named Arguments
- --skip
Skip build steps
Default: []
- --force-checkout
Always checkout the desired commit/branch/tag of each repository, discarding any local changes
Default: False
- --update
Pull new upstream changes to the desired branch even if it is already checked out locally
Default: False
- --format
Possible choices: yaml, json
Output format (default: yaml)
Default: “yaml”
- --indent
Line indent (# of spaces, default: 4)
Default: 4
- --resolve-refs
Replace floating refs with exact SHAs
Default: False
- --resolve-env
Set env defaults to captured env value
Default: False
- --lock
Create lockfile with exact SHAs
Default: False
- -i, --inplace
Update lockfile in-place (requires –lock)
Default: False
for-all-repos
Runs a specified command in all checked out repositories.
kas for-all-repos [-h] [--skip SKIP] [--force-checkout] [--update] [-E]
[config] command
Positional Arguments
- config
Config file, using .config.yaml in KAS_WORK_DIR if none is specified
- command
Command to be executed as a string.
Named Arguments
- --skip
Skip build steps
Default: []
- --force-checkout
Always checkout the desired commit/branch/tag of each repository, discarding any local changes
Default: False
- --update
Pull new upstream changes to the desired branch even if it is already checked out locally
Default: False
- -E, --preserve-env
Keep current user environment block
Default: False
shell
Run a shell in the build environment.
kas shell [-h] [--skip SKIP] [--force-checkout] [--update] [-E] [-k]
[-c COMMAND]
[config]
Positional Arguments
- config
Config file, using .config.yaml in KAS_WORK_DIR if none is specified
Named Arguments
- --skip
Skip build steps
Default: []
- --force-checkout
Always checkout the desired commit/branch/tag of each repository, discarding any local changes
Default: False
- --update
Pull new upstream changes to the desired branch even if it is already checked out locally
Default: False
- -E, --preserve-env
Keep current user environment block
Default: False
- -k, --keep-config-unchanged
Skip steps that change the configuration
Default: False
- -c, --command
Run command
Default: “”
Environment variables
Environment variables |
Description |
---|---|
|
The path of the kas work directory, current work directory is the default. |
|
The path build directory,
|
|
The path to the repository reference directory. Repositories in this directory are used as references when cloning. In order for kas to find those repositories, they have to be named in a specific way. The repo URLs are translated like this: “https://github.com/siemens/meta-iot2000.git” resolves to the name “github.com.siemens.meta-iot2000.git”. Repositories that are not found will be cloned below this directory. Multiple instances of kas can simultaneously work on the same directory, as long as the underlying filesystem is POSIX compatible. |
|
This overwrites the respective setting in the configuration file. |
|
Specifies alternatives for repo URLs. Just like
bitbake |
|
Variable containing the private key that should be added to an internal ssh-agent. This key cannot be password protected. This setting is useful for CI build servers. On desktop machines, an ssh-agent running outside the kas environment is more useful. |
|
Path to the private key file that should be added to an internal ssh-agent. This key cannot be password protected. This setting is useful for CI build servers. On desktop machines, an ssh-agent running outside the kas environment is more useful. |
|
SSH authentication socket. Used for cloning over
SSH (alternative to |
|
Environment variables that are transferred to the bitbake environment. |
|
These variables define the proxy configuration bitbake should use. |
|
Set proxy for native git fetches. |
|
The shell to start when using the shell plugin. |
|
The terminal options used in the shell plugin. |
|
Path to the awscli configuration and credentials files that are copied to the kas home dir. |
|
Allows to set and configure the git credential helper in the .gitconfig of the kas user. |
|
Path to a .netrc file which will be copied to the kas home dir as .netrc. |
|
Environment variables from gitlab CI, if set
.netrc is configured to allow fetching from
the gitlab instance. An entry will be appended
in case |
|
Environment variables to control the concurrency |