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

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


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[]


More information about the arch-projects mailing list