Command line usage

kas - setup tool for bitbake based project

usage: kas [-h] [--version] [-d] {build,checkout,for-all-repos,shell,menu} ...

Positional Arguments

cmd

Possible choices: build, checkout, for-all-repos, shell, menu

sub command help

Named Arguments

--version show program’s version number and exit
-d, --debug

Enable debug logging

Default: False

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 refspec of each repository, discarding any local changes

Default: False

--update

Pull new upstream changes to the desired refspec 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 refspec of each repository, discarding any local changes

Default: False

--update

Pull new upstream changes to the desired refspec even if it is already checked out locally

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 refspec of each repository, discarding any local changes

Default: False

--update

Pull new upstream changes to the desired refspec even if it is already checked out locally

Default: False

-E, --preserve-env
 

Keep current user enviornment 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 refspec of each repository, discarding any local changes

Default: False

--update

Pull new upstream changes to the desired refspec even if it is already checked out locally

Default: False

-E, --preserve-env
 

Keep current user enviornment 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
KAS_WORK_DIR The path of the kas work directory, current work directory is the default.
KAS_BUILD_DIR The path build directory, ${KAS_WORK_DIR}/build is the default.
KAS_REPO_REF_DIR 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”.
KAS_DISTRO KAS_MACHINE KAS_TARGET KAS_TASK This overwrites the respective setting in the configuration file.
KAS_PREMIRRORS Specifies alternatives for repo URLs. Just like bitbake PREMIRRORS, this variable consists of new-line separated entries. Each entry defines a regular expression to match a URL and, space-separated, its replacement. E.g.: “http://.*.someurl.io/ http://localmirror.net/
SSH_PRIVATE_KEY 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.
SSH_PRIVATE_KEY_FILE 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_AUTH_SOCK SSH authentication socket. Used for cloning over SSH (alternative to SSH_PRIVATE_KEY or SSH_PRIVATE_KEY_FILE).
DL_DIR SSTATE_DIR TMPDIR Environment variables that are transferred to the bitbake environment.
http_proxy https_proxy ftp_proxy no_proxy These variables define the proxy configuration bitbake should use.
GIT_PROXY_COMMAND NO_PROXY Set proxy for native git fetches. NO_PROXY is evaluated by OpenEmbedded’s oe-git-proxy script.
SHELL The shell to start when using the shell plugin.
TERM The terminal options used in the shell plugin.
AWS_CONFIG_FILE AWS_SHARED_CREDENTIALS_FILE Path to the awscli configuration and credentials file that are copied to the kas home dir.
GIT_CREDENTIAL_HELPER Allows to set the git credential helper in the .gitconfig of the kas user.
NETRC_FILE Path to a .netrc file which will be copied to the kas home dir as .netrc.
CI_SERVER_HOST CI_JOB_TOKEN Environment variables from gitlab CI, if set .netrc is configured to allow fetching from the gitlab instance. An entry will be appended in case NETRC_FILE was given as well. Note that if the file already contains an entry for that host most tools would probably take that first one.