[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