NAME

bg-installer - Standardized installer program.

SYNOPSIS

bg-installer [top-directory] <LIST

DESCRIPTION

The program bg-installer 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:
 
CMD:[OWNER]:[GROUP]:MODE:DIR[:FILENAME[:SOURCE]]
CMD
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 SOURCE as the filename to test.
OWNER
(optional) is the owner user ID or name for the target file.
GROUP
(optional) is the group ID or name for the target file.
MODE
is the permissions of the installed file in octal.
DIR
is the subdirectory of the installation prefix for the destination file.
FILENAME
(optional) is the name of the file to install into the directory. It may be omitted for directories.
SOURCE
(optional) is the name of the source file to install, if it differs from the destination file, or the path in the symlink.
If SOURCE contains wildcards, the command is repeated once for each matching filename.
 
If FILENAME is empty, it is replaced with the value of SOURCE after wildcard expansion. Each instance of "$N" in FILENAME 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 $install_prefix if it is set, TOP is the directory given on the command line, and DIR and FILENAME given in the installation file.
o
"c" lines copy regular files from the current directory
o
"d" lines create directories
o
"s" lines create symlinks (UID, GID, and MODE are ignored)
o
"l" lines copy libraries using libtool
When bg-installer encounters a base directory directive, as indicated above, it opens the file named conf-BASE (where BASE is the word on the directive line), reads the first line, and uses that as the base directory (prefixed by $install_prefix as above).

OPTIONS

-v, --verbose
List the files as they are processed.
-n, --dry-run
Don't modify any files, just display.
-c, --check
Check destinations instead of installing.
-h, --help
Display usage information and exit.

EXAMPLES

>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
 
This reads conf-bin, and installs prog1 and setuid root prog2 (if it was built) under it. It then reads conf-include, creates the directory package under it, and installs pkgbase.h as base.h in that directory. It also creates a symlink package.h to package/base.h.

ENVIRONMENT

install_prefix
If set, is prefixed to all destination file names.

AUTHOR

Bruce Guenter <[email protected]>