Codebase list bglibs / HEAD bg-installer.1
HEAD

Tree @HEAD (Download .tar.gz)

bg-installer.1 @HEADraw · history · blame

.\" This file was automatically generated from bg-installer.cli, do not edit.
.TH bg-installer 1
.SH NAME
bg-installer \- Standardized installer program.
.SH SYNOPSIS
.B bg-installer
.I \fR[\fItop-directory\fR]\fI <LIST
.SH DESCRIPTION
The program \fBbg-installer\fR reads an installation instruction
file from standard input, and executes the instructions in the
directory named on the command line.

Each line in the file is an individual instruction.  Blank lines and
lines beginning with "#" are ignored.  Lines beginning with
">", if present, instruct bg-installer as to which base directory
to use (see below).  All other lines must have following format:

.RS
.nf
CMD:[OWNER]:[GROUP]:MODE:DIR[:FILENAME[:SOURCE]]
.fi
.RE
.TP
\fICMD\fR
is a single character specifying the installation command, optionally
followed by "?" indicating the command should only execute if the
source exists.  If the "?" is followed by a name, it is used
instead of \fISOURCE\fR as the filename to test.
.TP
\fIOWNER\fR
(optional) is the owner user ID or name for the target file.
.TP
\fIGROUP\fR
(optional) is the group ID or name for the target file.
.TP
\fIMODE\fR
is the permissions of the installed file in octal.
.TP
\fIDIR\fR
is the subdirectory of the installation prefix for the destination file.
.TP
\fIFILENAME\fR
(optional) is the name of the file to install into the directory.  It
may be omitted for directories.
.TP
\fISOURCE\fR
(optional) is the name of the source file to install, if it differs
from the destination file, or the path in the symlink.
.PP
If \fISOURCE\fR contains wildcards, the command is repeated once for each
matching filename.

If \fIFILENAME\fR is empty, it is replaced with the value of
\fISOURCE\fR after wildcard expansion.  Each instance of "$N" in
\fIFILENAME\fR where "N" is a single digit is replaced with the
Nth part of the source filename.  "$0" is replaced with the whole
source filename.

The target filename is "PREFIX/TOP/DIR/FILENAME" where
"PREFIX" is the value of \fI$install_prefix\fR if it is set,
\fITOP\fR is the directory given on the command line, and \fIDIR\fR
and \fIFILENAME\fR given in the installation file.
.TP
o
"c" lines copy regular files from the current directory
.TP
o
"d" lines create directories
.TP
o
"s" lines create symlinks (\fIUID\fR, \fIGID\fR, and \fIMODE\fR are ignored)
.TP
o
"l" lines copy libraries using libtool
.PP
When \fBbg-installer\fR encounters a base directory directive, as
indicated above, it opens the file named \fIconf-BASE\fR (where
\fIBASE\fR is the word on the directive line), reads the first line,
and uses that as the base directory (prefixed by \fI$install_prefix\fR
as above).
.SH OPTIONS
.TP
.B -v, --verbose
List the files as they are processed.
.TP
.B -n, --dry-run
Don't modify any files, just display.
.TP
.B -c, --check
Check destinations instead of installing.
.TP
.B -h, --help
Display usage information and exit.
.SH EXAMPLES
.RS
.nf
>bin
c:::755::prog2
c?:root:root:4750::prog2
>include
d:::755:package
c:::644:package:base.h:pkgbase.h
s:::::package.h:package/base.h
.fi
.RE

This reads \fIconf-bin\fR, and installs \fIprog1\fR and setuid root
\fIprog2\fR (if it was built) under it.  It then reads
\fIconf-include\fR, creates the directory \fIpackage\fR under it,
and installs \fIpkgbase.h\fR as \fIbase.h\fR in that directory. It
also creates a symlink \fIpackage.h\fR to \fIpackage/base.h\fR.
.SH ENVIRONMENT
.TP
\fIinstall_prefix\fR
If set, is prefixed to all destination file names.
.SH AUTHOR
Bruce Guenter <bruce@untroubled.org>