LinuxCommandLibrary

sfdk-config

Configure Software Factory Development Kit settings

TLDR

Show configuration in all scopes

$ sfdk config --show
copy

Set a configuration value
$ sfdk config [name]=[value]
copy

Mask an option as empty
$ sfdk config [name]=
copy

Mask an option as empty without pushing it at the inner scope
$ sfdk config [name]
copy

Clear option value
$ sfdk --drop [name]
copy

Run subcommand in specified scope (global, session or command)
$ sfdk config --[scope] [subcommand]
copy

SYNOPSIS

sfdk-config [OPTIONS] COMMAND_TYPE [ARGUMENTS]

Examples:
sfdk-config --list targets
sfdk-config --add engine --name <my_engine> --path /opt/sdk/vm
sfdk-config --remove target --name <jolla_phone>

PARAMETERS

--help, -h
    Displays a help message and exits, showing usage details for the command.

--list, -l <type>
    Lists existing configurations of a specified type. Common types include targets, engines, and sdks.

--add, -a <type>
    Adds a new configuration of a specified type. This command usually requires the --name option and other type-specific parameters.

--remove, -r <type>
    Removes an existing configuration of a specified type. It requires the --name option to identify which configuration to remove.

--update, -u <type>
    Updates an existing configuration of a specified type. It requires the --name option and parameters to modify.

--name <name>
    Specifies the unique name for the configuration being added, removed, or updated.

--path <path>
    Used when adding or updating sdk or engine configurations, specifying the installation path.

--sdk-version <version>
    Specifies the Sailfish OS SDK version when defining a new target or SDK configuration.

--toolchain <toolchain_name>
    Used with target configurations to specify the associated build toolchain.

--architecture <arch>
    Specifies the target architecture (e.g., armv7hl, aarch64) for a new or updated target configuration.

--sdk <sdk_name>
    Associates a target configuration with a previously defined sdk configuration.

--verbose
    Enables verbose output, providing more detailed information about the operation's progress.

DESCRIPTION

The sfdk-config command is a utility included with the Sailfish OS SDK (Software Development Kit). Its primary purpose is to manage various aspects of the SDK's configuration, enabling developers to define, list, add, remove, and update build targets, build engines, and SDK versions.

Build targets typically represent different Sailfish OS versions or architectures (e.g., a specific release for a specific device), while build engines are the virtual machines or environments where the actual compilation occurs. This tool is essential for setting up and maintaining a robust development environment for Sailfish OS applications, ensuring that the correct SDK components and build environments are available and properly configured for development and compilation tasks.

CAVEATS

The sfdk-config command is specific to the Sailfish OS SDK and is not a standard Linux utility found in most distributions. It requires the Sailfish OS SDK to be properly installed and configured on the system. Usage and available options may vary slightly with different versions of the SDK, and incorrect configuration can lead to build environment issues for Sailfish OS applications.

CONFIGURATION TYPES

The sfdk-config command operates on different types of configurations, which are specified as arguments to commands like --list, --add, --remove, and --update. The primary types are:
targets: Define specific build environments, usually associated with a Sailfish OS version and architecture.
engines: Represent the virtual machines or local environments where compilation and SDK tasks are performed.
sdks: Refer to the base Sailfish OS SDK installations themselves.

HISTORY

sfdk-config is an integral part of the Sailfish OS SDK, which is developed by Jolla Ltd. Its evolution is closely tied to the development of the Sailfish OS and its tooling ecosystem. It has been a core component for managing the SDK's complex environment, allowing developers to adapt their setup for various Sailfish OS releases and hardware targets since the early days of the SDK's release.

SEE ALSO

sfdk(1), sfdk build(1), sfdk deploy(1)

Copied to clipboard