SBOUI.CONF(5)

NAME
sboui.conf - configuration file for sboui

DESCRIPTION
sboui.conf contains settings for sboui(8), an ncurses interface for SlackBuilds.org package managers. The system-wide file is /etc/sboui/sboui.conf, but ~/.sboui.conf overrides the system-wide file on a per-user basis. The user may also specify a different file at runtime via the -f command-line option. (See sboui(8) for more information on command-line options.) This manual describes the configuration settings specified in the configuration file.

Each setting in this file has the format:

    {variable name} = {value}

Boolean values may be true or false. String values must be enclosed with double quotes. Comments may be C-style (//), C++-style (/*...*/), or shell-style (#). Variable names, possible values, default values, whether each is required, and descriptions are listed below.

color_theme
    [string]
    default: dark
    required: no

    Defines colors to use for different elements of the user interface. sboui packages three color themes (in /usr/share/sboui/themes): dark, light, and commander. sboui will also look for user themes in $HOME/.local/share/sboui/themes.

    Color theme files use the same {variable} = {value} syntax as /etc/sboui/sboui.conf. Required variable names in color theme files are as follows: theme_name, fg_normal, bg_normal, fg_title, bg_title, fg_info, bg_info, fg_highlight_active, bg_highlight_active, fg_highlight_inactive, bg_highlight_inactive, header, header_popup, tagged, fg_popup, bg_popup, fg_warning, bg_warning, hotkey, fg_combobox, and bg_combobox. ``fg`` signifies a foreground (text) color, while ``bg`` signifies a background color.

    Each value in the color theme file is a string identifying any of the eight colors supported by ncurses: black, blue, cyan, green, magenta, red, yellow, or white. In addition, the keyword bright may be prepended to the color string to activate the bold attribute for that element, which also normally makes the color lighter. This attribute generally only works for foreground elements. For background elements, it may have no effect or an unexpected effect (such as blinking), depending on the terminal. Therefore, it is only recommended for foreground elements. The actual appearance of these colors is dependent on the terminal configuration.

confirm_changes
    true|false
    default: true
    required: no

    Whether or not to ask for confirmation before applying install, upgrade, reinstall, or remove operations.

    If true, sboui will present a dialog box presenting any packages to be changed, and the user can toggle any of these on and off before proceeding. After performing an operation, the user will be notified of completion before returning to the main window.

    If false, no dialog box will be presented. Instead, the default marked packages (the selected package and any dependencies to install or upgrade) will automatically be acted on, and the user will not be notified of completion. This option is useful for processing many tagged operations without requiring user intervention. If an error occurs during an operation, the user will still be notified before returning to the main window.

cumulative_filters
    true|false
    default: true
    required: no

    Whether or not filters act cumulatively. If true, each filter will act only on the current displayed list of SlackBuilds. If false, all filters will act on the entire list of all SlackBuilds in the repository.

enable_color
    true|false
    default: true
    required: no

    Whether or not to display the user interface in color.

    If true and the terminal supports color, the color theme specified by the color_theme variable will be used.

    If false or the terminal does not support color, the user interface will be displayed in black and white.

install_clos
    [string]
    default: [none]
    required: no

    Additional command-line options to pass to the package manager during install operations that are not already specified in the install_cmd variable. Care is necessary not to set options that conflict with those in install_cmd. If the default setting for install_cmd is used, it is possible to see its value in the options window.

    Note that these options will be applied during every install operation, including installation of dependencies.

install_cmd
    [string]
    default: [depends on package_manager]
    required: [for custom package_manager only]

    Command used by the package manager to install a package. The full command executed by sboui to install a package is as follows:

        # install_vars build_options \
        # install_cmd {software name} \
        # install_clos

    build_options are per-SlackBuild environment variables set within the UI.

    Because dependencies are resolved by sboui, the package manager should not also resolve dependencies. If the package manager's install command does resolve dependencies by default, install_cmd should include options to disable that behavior. This command should disable confirmation questions or notifications from the package manager during the install process, since sboui handles that as well. Otherwise, there may be duplicated questions and messages. When there is an error, the command should exit with an error code other than 0. This setting is only required for a custom package_manager.

    Using the built-in package_manager, the default value of this setting is sboui-backend install -f.

    If sbopkg is used as the package_manager, the default value of this setting is sbopkg -B -i.

    If sbotools is used as the package_manager, the default value of this setting is sboinstall -r.

    For a custom package_manager, no default value is set, and sboui will exit with an error if this setting is not present.

    WARNING: sboui will execute whatever is written in this command (most likely as root) without trying to determine whether it is harmful or not. DO NOT set this variable or any of the related variables (install_vars or install_clos) to any command that may damage your system. Neither sboui nor the author(s) are responsible for any damaged caused to your system by setting this command in a harmful way.

install_vars
    [string]
    default: [none]
    required: no

    Global environment variables to pass to the package manager during install operations. These can be used, for example, to activate optional dependencies or other flags for the build process.

    Note that these variables will be passed during every install operation, including installation of dependencies. Build options for individual SlackBuilds can be set within the UI.

layout
    horizontal|vertical
    default: horizontal
    required: no

    Layout of the two list boxes in the main window. The horizontal layout places the two list boxes side-by-side, and the vertical layout places them on top of each other. The layout can also be changed at runtime either with the l keyboard shortcut or in the options window.

package_manager
    built-in|sbopkg|sbotools|custom
    default: [none]
    required: yes

    Executable responsible for running SlackBuild scripts, installing and upgrading packages, and syncing the local repository.

    If a custom package manager is used, it must store a local copy of the SlackBuilds.org repository, and it must implement a valid install_cmd, upgrade_cmd, and sync_cmd. Requirements for each of these commands are given in their respective entries in this manual.

    If built-in, sbopkg, or sbotools is used as the package_manager, sboui sets default values for each of these commands.

rebuild_inv_deps
    true|false
    default: false
    required: no

    Whether to rebuild installed packages that depend on another package when the latter package is upgraded.

    If true, sboui will recursively find all installed packages that depend on the one to be upgraded and mark them for reinstallation. The user is free to change these marks interactively in the dialog provided the confirm_changes setting is enabled.

    If false, inverse dependencies will not be searched for or marked.

    Note that this option only applies to upgrade operations. It is disabled by default, because it is not always necessary to rebuild inverse dependencies when upgrading a package. It is, however, the safe thing to do to avoid errors arising from API/ABI changes.

reinstall_cmd
    [string]
    default: [depends on package_manager]
    required: [for custom package_manager only]

    Command used by the package manager to reinstall a package. The full command executed by sboui to reinstall a package is as follows:

        # install_vars build_options \
        # reinstall_cmd {software name} \
        # install_clos

    The considerations described in the install_cmd entry regarding the package manager's dependency resolution and notification settings also apply here. This setting is only required for a custom package_manager.

    Using the built-in package_manager, the default value of this setting is sboui-backend install -f.

    If sbopkg is used as the package_manager, the default value of this setting is sbopkg -B -i.

    If sbotools is used as the package_manager, the default value of this setting is sboinstall --reinstall. Note that sbotools currently does not allow "silent" reinstalls; you must choose yes at the prompts in order to reinstall, even if you have disabled prompting in sboui.

    For a custom package_manager, no default value is set, and sboui will exit with an error if this setting is not present.

    WARNING: The warnings for install_cmd apply here also. Please do not change this variable to something that will cause harm to your system when executed.

repo_dir
    [string]
    default: [none]
    required: yes

    Path to the top level directory of the local SlackBuilds repository. Directories for each group (e.g., academic, audio, development, games, etc.) must be present at this path. Because each package manager may use a different location, sboui does not set a default value for this setting.

repo_tag
    [string]
    default: _SBo
    required: no

    The last characters at the end of the names of packages installed from the SlackBuilds repository. This setting is used to identify packages that are present in the repository but were installed from somewhere else. For example, many Slackware users install packages from the Alien repository:

    www.slackware.com/~alien/slackbuilds/.

    Some of these packages are also available from SlackBuilds.org, but often with different software versions. When upgrading or reinstalling a package whose name does not end with repo_tag, a warning will be issued before proceeding, provided confirm_changes is enabled. This feature helps prevent the user from accidentally reinstalling one of these packages from the SlackBuilds repository.

resolve_deps
    true|false
    default: true
    required: no

    Whether or not to resolve dependencies when performing install, upgrade, reinstall, and remove operations.

    If true, sboui will recursively search through the requirements listed in *.info files to determine the proper build order for the package. When creating the build order, dependencies needing to be installed or upgraded are marked for processing by default, but already-installed dependencies are not marked for removal or reinstallation. The user is free to change these marks interactively in the dialog provided the confirm_changes setting is enabled.

    If false, dependencies will not be resolved, and only the requested package will be marked for installation, upgrade, reinstallation, or removal.

    Note that this option only applies to install, upgrade, reinstall, and remove operations. The ``Compute build order'' operation will resolve dependencies regardless of this setting.

save_buildopts
    true|false
    default: true
    required: no

    Whether or not to save build options to files in /var/lib/sboui/buildopts when they are set for a SlackBuild in the user interface.

    If true, sboui will save these files and also read them when starting up, allowing custom build options to be preserved across runs. If all build options are removed for a SlackBuild through the interface, its corresponding build options file will also be deleted.

    If false, build options files will neither be written nor read by sboui while it is running. Existing build options files in /var/lib/sboui/buildopts will be preserved.

sync_cmd
    [string]
    default: [depends on package_manager]
    required: [for custom package_manager only]

    Command for package manager to sync (update) the local repository. When there is an error, the command should exit with an error code other than 0. This setting is only required for a custom package_manager.

    Using the built-in package_manager, the default value of this setting is sboui-backend update.

    If sbopkg is used as the package_manager, the default value of this setting is sbopkg -r.

    If sbotools is used as the package_manager, the default value of this setting is sbosnap update.

    For a custom package_manager, no default value is set, and sboui will exit with an error if this setting is not present.

    WARNING: sboui will execute whatever is written in this command (most likely as root) without trying to determine whether it is harmful or not. DO NOT set this variable to any command that may damage your system. Neither sboui nor the author(s) are responsible for any damaged caused to your system by setting this command in a harmful way.

upgrade_clos
    [string]
    default: [none]
    required: no

    Same as install_clos, but applying to upgrade operations.

upgrade_cmd
    [string]
    default: [depends on package_manager]
    required: [for custom package_manager only]

    Command used by the package manager to upgrade a package. The full command executed by sboui to upgrade a package is as follows:

        # upgrade_vars build_options \
        # upgrade_cmd {software name} \
        # upgrade_clos

    The considerations described in the install_cmd entry regarding the package manager's dependency resolution and notification settings also apply here. This setting is only required for a custom package_manager.

    Using the built-in package_manager, the default value of this setting is sboui-backend install -f.

    If sbopkg is used as the package_manager, the default value of this setting is sbopkg -B -i.

    If sbotools is used as the package_manager, the default value of this setting is sboupgrade -r.

    For a custom package_manager, no default value is set, and sboui will exit with an error if this setting is not present.

    WARNING: The warnings for install_cmd apply here also. Please do not change this variable to something that will cause harm to your system when executed.

upgrade_vars
    [string]
    default: [none]
    required: no

    Same as install_vars, but applying to upgrade operations.

warn_invalid_pkgnames
    true|false
    default: true
    required: no

    When sboui starts up, it first must read information from the SlackBuilds repository and the list of installed packages. If it encounters an installed package with an invalid package name and this setting is true, a warning will be displayed. If false, no warning will be displayed. Any such packages will be ignored during the rest of the program's execution.

    It is recommended not to disable these warnings, but instead to fix the invalid package names, since these may cause problems for Slackware's pkgtools.

    Invalid package names can sometimes occur when using tools that repackage software from other distributions whose name does not conform to the Slackware naming convention. A valid Slackware package name has four components, separated by hyphens, as follows:

    {name}-{version}-{arch}-{build}

    The version, arch, and build components of the package name may not contain hyphens, but the name of the software may, because the components of the package name are parsed from right to left.

FILES

/etc/sboui/sboui.conf
    System-wide configuration file for sboui.

~/.sboui.conf
    Per-user override of /etc/sboui/sboui.conf. Note: this file is overwritten when settings are changed in the Options window of the user interface.

NOTES
sboui uses the libconfig++ library for parsing the configuration file and color theme files. For more information about this library see the project's website:

http://www.hyperrealm.com/libconfig/

SEE ALSO
sboui(8), sboui-backend(8), sboui-update-notifier(1), sboui-backend.conf(5), ncurses(3X), sbopkg(8), sboinstall(1)

AUTHORS
Daniel Prosser <dpross1100@msn.com>