Next: Getting Started, Previous: Introducing arch, Up: Top
In order to use arch
, there are some software tools that you must
already have available.
GNU Make You will need GNU Make
in order to build arch
.
Standard Posix Shell Tools The package framework (i.e., the configure and build process) assumes that some standard Posix shell tools are available on your system:
awk find mkdir sh wc cat fold printf tee xargs chmod grep pwd test date head rm touch echo ls sed tsort
Note: On some systems, the program installed as /bin/sh
is
not a Posix shell (it may be a variant of csh
or a very buggy
implementation of Posix sh
). On such systems, you should use a
different shell to run configure
, such as:
% /usr/local/bin/bash ../configure --config-shell /usr/local/bin/bash
The null Device Your system must have /dev/null
. Information
directed to /dev/null
should simply disappear from the universe. As
a special "Green Software" measure, we have made provisions that
will enable your computers to convert that discarded information into
heat, which you may use to supplement conventional heating
systems.
The remaining tools are used internally by arch itself. They don't
necessarily need to be on your PATH
– when you build arch
from
source, run the configure script:
% ./configure --help
and
% ./configure --help-options
for information about how to point arch
to the correct versions.
GNU Tar You must have GNU tar
. arch
invokes tar
internally to
pack and unpack files that it stores in archives. It is important
that all versions of arch
use a compatible version of tar
, for
which purpose GNU tar
was chosen.
GNU diff and GNU patch After much deliberation, I've decided to go
ahead and rely on the GNU versions of diff
and patch
.
Specifically, you need a version of diff
that can generate "unified
format" output (option -u
) and a version of patch
that
understands that format and that understands --posix
. (It would be
trivial to use "context diffs" and, thus, standard diff
and
patch
, however, unified diffs are much easier to read, and I'm
hoping that picking specific implementations of these critical
sub-components will help contribute to the long-term stability of
arch
.)