[arch-projects] [ABS] [RFC] abs.conf(5)

matt mooney mfm at muteddisk.com
Mon Jun 13 22:35:15 EDT 2011

:doctype: manpage
:man source: abs.conf
:man manual: ABS Manual
:man version: %%ABS_VERSION%%

abs.conf - the Arch Build System configuration file


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

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.

Configuration variables separated by section.

The standard variables that affect every *`abs <command>`*.

	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%%'.

	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%%'.

	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%%'.

	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.,

	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'.

	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').

	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'.

	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

	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

`makepkg` is used during an *`abs build`*, so these variables affect that

	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'.

	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'.

	Install missing dependencies via *`pacman`*. If set to *true*, any
	missing dependencies will be downloaded and installed. Defaults to

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` is used during an *`abs install`* or *`abs build --syncdeps`*, so these
variables affect those command.

	A boolean value to bypass all confirmation messages. Defaults to

See Also
*abs*(8), *ABS*(7)


More information about the arch-projects mailing list