abs.conf(5) =========== :doctype: manpage :man source: abs.conf :man manual: ABS Manual :man version: %%ABS_VERSION%% Name ---- abs.conf - the Arch Build System configuration file SYNOPSIS -------- [verse] '~/.abs.conf' '%%ABS_CONF_FILE%%' Description ----------- The *`abs`* configuration file contains a number of variables that affect the utility's behavior; it uses the ``INI file format.'' There are three major sections: *`abs`*, *`makepkg`*, and *`pacman`*. Each section contains the configuration variables that affect abs's invocation of that utility; however, within the *makepkg* and *pacman* sections, not every variable coincides to the named utility. Some are specific to the functioning of the *`abs <command>`* that utilizes it. Configuration data is obtained from the following sources, ordered by precedence from highest to lowest: . command-line arguments . environment variables . user's configuration file . system-wide configuration file Syntax ~~~~~~ Every variable must be within a section and is case sensitive. A variable can be set as *name = value* or *name : value*, but do *not* quote the values. Leading and trailing whitespace is ignored; however, multi-line values require subsequent lines to be indented with at least one space. Comments begin with either the *#* or *;* character and continue to the end of the line. Array elements need to be separated by whitespace, *not* commas. Boolean values can be set as true/false, 1/0, yes/no, or on/off. Strings are case sensitive and should not contain whitespace or be quoted. Variables --------- Configuration variables separated by section. [abs] ~~~~~~~~~~~~~ The standard variables that affect every *`abs <command>`*. *absroot*:: The location of the *ABS tree*. Either an absolute or relative path can be given. The user running `abs` does not require write access unless an *`abs sync`* is issued. Defaults to '%%ABS_ROOT%%'. *builddir*:: The directory used for building the packages. Either an absolute or relative path can be given, and write access is required for this directory. Defaults to '%%ABS_BUILD_DIR%%'. *pkgdir*:: The directory where packages will be output. Either an absolute or relative path can be given, and write access is required for this directory. Defaults to '%%ABS_PKG_DIR%%'. *patchdir*:: The directory containing patches for the source code or ABS files. Either an absolute or relative path can be given, and write access is required for this directory. Defaults to '%%ABS_PATCH_DIR%%'. // The following line is needed to get the correct indentation!! + Patches must be in the unified format and in a directory with the same name as the package to which it will be applied (i.e., '%%ABS_PATCH_DIR%%/<pkg>'). *arch*:: The architectures to include in the *ABS tree*. This value is an array and all of the supported architectures can be set here. Nevertheless, when a cross compiler is not used, trying to build for an architecture not supported by your machine will fail. Defaults to 'i686'. *repos*:: An ordered array of repositories. When only a package name is provided, the array's order establishes the precedence of the repositories to search. Two situations cause this to occur: 1) the form of the `<pkgspec>` used is `<pkg>`, or 2) a `<pkgspec>` is *not* given and the *`pkgs`* variable is set to something other than *ALL*. Defaults to ('core extra community multilib'). *pkgs*:: The array of packages on which `abs` is to operate. When a `<pkgspec>` is *not* given and *`pkgs = ALL`*, the *working set* consists of all packages found in *`repos`*. Defaults to 'ALL'. *syncserver*:: The server to use for synchronization of the *ABS tree*. '`rsyncd`' must be running and setup properly for the ABS. A sample stanza can be found in the conf directory of the abs source code. Defaults to 'rsync.archlinux.org'. *mirrorlist*:: The mirror list used for syncing via tarball. Must be in the same format as defined in *REPOSITORY SECTIONS* of *pacman.conf*(5). Defaults to '/etc/pacman.d/mirrorlist'. [makepkg] ~~~~~~~~~~~~~~~~~ `makepkg` is used during an *`abs build`*, so these variables affect that command. *nodeps*:: A boolean value to prevent dependency checks. This will cause a build failure if the *makedepends* variable for a package is not empty. Moreover, the program will fail to run if installed without packages listed in *depends*. Defaults to 'false'. *builddeps*:: Build missing dependencies. If set to *true*, any missing dependencies will be added to the *working set* and treated as if they were explicitly included. Defaults to 'true'. *syncdeps*:: Install missing dependencies via *`pacman`*. If set to *true*, any missing dependencies will be downloaded and installed. Defaults to 'false'. NOTE: *builddeps* and *syncdeps* are mutually exclusive options that should never be 'true' at the same time. That said, since *builddeps* is 'true' by default, it will take priority over *syncdeps* if both are 'true'. [pacman] ~~~~~~~~~~~~~~~~ `pacman` is used during an *`abs install`* or *`abs build --syncdeps`*, so these variables affect those command. *noconfirm*:: A boolean value to bypass all confirmation messages. Defaults to 'false'. See Also -------- *abs*(8), *ABS*(7) include::footer.txt[]