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

Reply via email to