[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