| icon | list-radio |
|---|---|
| description | List of Binaries/Packages Generated during Build (TYPE: RECOMMENDED) |
{% code overflow="wrap" %}
#Example ONLY
# $pkg itself will always be a default value, so not needed if contains only 1 program and that 1 program is $pkg itself
provides:
- "prog-a"
- "prog-b"{% endcode %}
- This is Optional & can be left empty or removed completely (TYPE:
RECOMMENDED) - This lists all programs that are fetched/built during the
x_exec.runpart. - If this field is empty or doesn't exist, the interpreter will use
$pkgas the only value ofprovidesby default. - If this field exists, soar will treat it as a
$pkgfamily containing all programs fromprovides -
soar install$pkgby default, will install all programs fromprovides. This is the same as$pkgwhenprovidesis empty/nonexistent. -
soar install$pkg/$progwill only install$progfrom the$pkg's.SBUILD - Can have single or multiple entries
{% hint style="info" %}
It is possible to specify aliases with : as a separator, provided that the original $prog is the first value (Only used for METADATA)
{% code overflow="wrap" %}
#Example ONLY
# $pkg itself will always be a default value, so not needed if contains only 1 program and that 1 program is $pkg itself, however we can name it explictly if the prog is also known by another name with :
provides:
- "prog-original:prog-alias"
#Example:
# - "chaos:chaos-cli" --> Chaos is same as `.pkg`, but since `chaos-cli` is also defined, searching for either chaos:chaos-cli will return the same result
#If a $pkg has multiple aliases, it can be specified by using : before each alias
provides:
- "prog-original:prog-alias-1:prog-alias-2:prog-alias-3"{% endcode %} {% endhint %}
{% hint style="info" %}
It is possible to specify symlinks with == as a separator, provided that the original $prog is the first value (INSTALL_ONLY1)
{% code overflow="wrap" %}
#Example ONLY
# $pkg itself will always be a default value, so not needed if contains only 1 program and that 1 program is $pkg itself, however we can name it explictly if the prog is also meant to be Symlinked with known by another name with ==
provides:
- "prog-original==prog-symlink"
#Example:
# - "busybox==whoami" --> busybox is the main program , but since `whoami` is also defined, soar will create a whoami symlink that points to buysbox
#If a $pkg has multiple symlinks, it can be specified in this way
provides:
- "prog-original==prog-symlink-1"
- "prog-original==prog-symlink-2"
- "prog-original==prog-symlink-3"{% endcode %} {% endhint %}
{% hint style="warning" %}
It is possible to specify a symlink-only2 operation with => as a separator, provided that the original $prog is the first value (INSTALL_ONLY3)
This also means, Only the SYMLINK would be available in $PATH
{% code overflow="wrap" %}
provides:
- "prog-original=>prog-new" # prog-original would get symlinked as prog-new
#Example:
# - "ripgrep=>rg" --> ripgrep is the main program , but since `rg` is also defined with =>, soar will symlink the ripgrep package as rg in BINDIR
#Only renames the symlink, the original name will still be present in INSTALL_DIR
#When Invoked from the cmdline, only rg would be found{% endcode %} {% endhint %}