[arch-projects] [ABS] [RFC] ABS(7)

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


ABS(7)
======
:doctype: manpage
:man source: ABS
:man manual: ABS Manual
:man version: %%ABS_VERSION%%


Name
----
ABS - the Arch Build System


Description
-----------
The 'Arch Build System', or *ABS*, is a ports-like system for building binary
packages from source code. With a collection of tools for package creation and
management, it provides a complete package management system for *Arch Linux*.

Typically, the process of building a program from source code would consist of
downloading, unpacking, patching, compiling, and installing the program. Of
course a few key steps were left out, such as building the required dependencies
and configuring the software for your system. The *ABS* does 'all' of this for
you! And it also creates a package that can be installed and tracked via
*pacman*(8).

To build a package from source code, the ABS uses *makepkg*(8) and a
*PKGBUILD*(5). '`makepkg`' is a package creation tool that automates the build
process, and a '`PKGBUILD`' is a build description file that contains the
information necessary for building the package. When run, `makepkg` reads the
PKGBUILD in the current directory, or the build script given with the `-p`
option, and follows the instructions therein to build the package. This will
result in *`<pkgname>-<pkgver>.pkg.tar.xz`*, which can then be installed with
*`pacman`*.

*abs*(8) is the utility that facilitates building packages from source code. It
utilizes the other package management tools to accomplish its function.


Overview
--------
*abs*::
	Fetches and creates the directory tree of PKGBUILDs for the official
	repositories. This hierarchy of directories is known as the *``ABS
	tree''* and has the same structure as the package database. It is
	created under '%%ABS_ROOT%%'.

*makepkg*::
	Compiles and builds a package that can be installed with `pacman`.
	Dependency handling is built-in and can be controlled through
	command-line options. A PKGBUILD is required to provide the build
	instructions.

*pacman*::
	The official package manager for 'Arch Linux'. Install or update a
	package after it is built by running either *`pacman -U <pkg>`* or
	*`makepkg -i`*.

*PKGBUILD*::
	A build description file that contains the URL of the source code as
	well as instructions for compilation and packaging.


Files
-----
*%%ABS_CONF_FILE%%*::
	ABS tree configuration file.

*%%PACMAN_CONF_DIR%%/makepkg.conf*::
	Build related configuration file.

*%%PACMAN_CONF_DIR%%/pacman.conf*::
	Package management configuration file.


See Also
--------
*abs*(8), *makepkg*(8), *pacman*(8), *PKGBUILD*(5), *abs.conf*(5),
*makepkg.conf*(5), *pacman.conf*(5)


include::footer.txt[]


More information about the arch-projects mailing list