regexps.com
In order to use arch
, there are some software tools that you must
already have available. These don't necessarily need to be on your
PATH
-- arch
can use a separate PATH
if you need it to.
GNU Make You will need GNU Make
in order to build arch
.
GNU Tar You must have GNU tar
. More specificially, you must have
a version of tar that has options:
-zcf F to create a gzip-compressed tar file called
F, where F may be `-', meaning to write
the tar file to the standard-output stream
-zxf F to extract files from a gzip-compressed tar
file called F, where F may be `-', meaning
to read the tar file from the standard-input
stream.
-T - This option reads a list of files from
standard input. Only those files are
read or written to the archive -- others
are ignored.
-m When extracting files, don't restore
modification times.
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 understand --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
.)
Standard Posix Shell Tools The package framework assumes that some
standard Posix shell tools are available on your system. At the
moment, sh
must be installed as /bin/sh
, but this will be
corrected in a future release:
awk
cat
chmod
date
echo
find
fold
grep
head
ls
mkdir
printf
pwd
rm
sed
sh
tee
test
touch
tsort
wc
xargs
ordinary -exec extension to find Your version of find
must be able to
expand {}
even in the context of a larger string. For example:
find . -exec echo ">>>{}<<<" ";"
should print a list of all files and directories, surrounded by '>>>'
and '<<<'. GNU find
has this property as do, I believe, most
implementations. (Posix explicitly requires only that {}
be
expanded in isolation, leaving undefined the meaning of {}
when
embedded in a longer string.)
The null Device Your system must have /dev/null
. Output directed
to /dev/null
should simply disappear from the universe, in the usual
way.
The BSD column program -- maybe If the program column
is on your
PATH
(or the path being used by arch
), it should be a program
which formats its input into columns and, with the option -x
, fills
columns before rows. If this program isn't found, it won't be used.
regexps.com