BANDIT actions

The BANDIT actions

The bandit command accepts word parameters to instruct the BANDIT to perform some action on the toolkit, like edit the configuration or search the local database.

Usage:

$ bandit <action>

bandit help

The bandit help command provides help on different topics and actions available in the BANDIT toolkit.

See The bandit help command for more details on help actions.

bandit edit

The bandit edit action launches an editor in order to modify the configuration file bandit.conf for the active BANDIT.

See The bandit edit command for more details on edit actions.

BANDIT actions on entities

BANDIT can also work with different types of entities, namely repositories, catalogs, bundles, packages and systems, aside of working with the whole BANDIT toolkit as shown in the previous actions.

Any of these entities can be selected by using the corresponding argument when invoking the bandit command so the action request in the command will be applied to this entity.

Usage:

$ bandit <component> <action>

bandit repositories

To work with a given repository use the option bandit -r and the name of the repository.

$ bandit -r <repository> <action>

bandit catalogs

To work with a given catalog use the option bandit -c plus the name of the catalog.

$ bandit -c <catalog> <action>

bandit bundles

To work with a given bundle use the option bandit -b plus the name of the catalog.

$ bandit -b <catalog> <action>

BANDIT can assume that if a given action is not one of the specific actions for the toolkit itself, then it is an action on a bundle. This allows to omit the -b option.

$ bandit <catalog> <action>

Also, provided that two bundles with the same name can appear in different enabled catalogs, the BANDIT searches the list of enabled catalogs in the order of appearance in the variable BANDIT_CATALOG_LIST in bandit.conf and uses the first bundle that is found.

## Enabled catalogs
BANDIT_CATALOG_LIST=(
    localhost
    phyglos-latest
    aliens-latest
)

In the following example a fetch action is performed on the git-core bundle and BANDIT shows which catalog is using in the command, in this case phyglos-latest.

# bandit git-core fetch
Working with catalog: phyglos-latest
Working with repository: phyglos.org

--------------------
git-2.19.1 [Sun Mar 10 07:11:36 CET 2019]
---
...fetching git-2.19.1.tar.xz from sources cache...
...fetching git-manpages-2.19.1.tar.xz from sources cache...
...fetching git-2.19.1-x86_64-latest.tar.xz from builds cache ...

This behavior allows to overlay and therefore prioritize bundles with the same name of different catalogs.

Tip

An usual technique is to copy a given bundle in the localhost catalog, which usually is enabled before the original catalog. This way you can make modifications on the copied bundle, and use them while the original bundle remains intact but not accessible.

bandit systems

To work with a given system use the option bandit -s plus the name of the system.

$ bandit -s <system> <action>

The BANDIT understands three type of systems when working as a distro builder. These systems are host, builder and target.