SYNOPSIS
graft -i [-C] [-l log] [-n] [-v|V] [-s|-t target] package package ...
graft -d [-D] [-l log] [-n] [-v|V] [-s|-t target] package package ...
graft -p [-D] [-l log] [-n] [-v|V] [-s|-t target] package package ...
DESCRIPTION
graft duplicates a directory tree from a source location to a target
location.
graft will typically be used to duplicate the directory trees of many
disparate packages into a single common area so that search paths can
be minimised.
Directories are created as needed. Symbolic links from target files to
source files are created as needed. A file is considered to be anything
that is not a directory.
When installing a directory tree, graft will bypass a directory if it
contains a file called xGRAFT-IGNOREx.
When installing a directory tree, if a directory contains a file called
xGRAFT-EXCLUDEx, graft will exclude files and/or directories from the
directory if they are listed in the xGRAFT-EXCLUDEx file. The xGRAFT-
EXCLUDEx file should contain a list of files and/or directories to be
excluded, one file or directory name per line. Entries that do not
match files and/or directories in the directory containing the xGRAFT-
EXCLUDEx file will be ignored by graft. The processing of xGRAFT-
IGNOREx files takes precedence over the processing of xGRAFT-EXCLUDEx
files.
When installing a directory tree, if a directory contains a file called
xGRAFT-INCLUDEx, graft will include only those files and/or directories
listed in the xGRAFT-INCLUDEx file. The xGRAFT-INCLUDEx file should
contain a list of files and/or directories to be included, one file or
directory name per line. Entries that do not match files and/or direc-
tories in the directory containing the xGRAFT-INCLUDEx file will be
ignored by graft. Note that an empty xGRAFT-INCLUDEx file will force
graft to behave as if the directory contained a xGRAFT-IGNOREx file.
The processing of xGRAFT-EXCLUDEx files takes precedence over the pro-
cessing of xGRAFT-INCLUDEx files.
If a file or directory is listed in both a xGRAFT-INCLUDEx and xGRAFT-
EXCLUDEx file, it will be excluded.
When installing a directory tree, graft will fail if it encounters a
conflict. A conflict occurs when a target object exists and is not the
same type as the source object according to the following table:
center; lB lB l l. Source Object Target Object _ directory not a
directory file directory file file file T{ symbolic link to something
other than the source object T}
graft records its actions in a log file. The log file contains a time
stamp, the graft version number (a trailing + character indicates a
development version), the type of graft action that was performed, the
package installation directory and the graft target directory. If a
conflict arises during the processing of a package, another log entry
will be made with a qualifying C character added to the type indicator.
The following is an example extract of a graft log file.
center; l l l l l. 878790215 1.10+ I /pkgs/cpio-2.4.2 /pkgs
878799501 1.10+ I /pkgs/byteyears-1.0 /pkgs
878888916 2.1 I /pkgs/gzip-1.2.4 /pkgs
878888916 2.1 IC /pkgs/gzip-1.2.4/bin/gzip invalid symlink
878889045 2.1 D /pkgs/gzip-1.2.4 /pkgs
878889054 2.1 P /pkgs/gzip-1.2.4 /pkgs
878889063 2.1 I /pkgs/gzip-1.2.4 /pkgs
This shows that a development version of graft (1.10+) was used to
install symbolic links from /pkgs/cpio-2.4.2 and /pkgs/byteyears-1.0 to
/pkgs. A new version of graft (2.1) was used to install symbolic links
from /pkgs/gzip-1.2.4 to /pkgs. A conflict occurred during this
installation, the file /pkgs/bin/gzip was a symbolic link to something
other than /pkgs/gzip-1.2.4/bin/gzip. The package was deleted and then
pruned before being re-installed shortly afterwards.
OPTIONS
-i Install the named package(s). Cannot be used with the -d or -p
options. clusion of files and/or actly match: GRAFT-NEVERx
GRAFT-IGNOREx GRAFT-INCLUDEx
-d Delete the named package(s). Cannot be used with the -i or -p
options.
-p Prune files that will conflict with the grafting of the named
package(s). Cannot be used with -d or -i options.
-D When used with the -d option, PRUNED-SUFFIXx. If the PRUNED-SUF-
FIXx. Cannot be used with the -i option.
-l log Use the named file as the log file instead of the default log
file. The log file name must be fully qualified. The log file is
not used if the -n option is also supplied. Default: xLOGFILEx
-n Print a list of operations but do NOT perform them. Automati-
cally implies the very verbose option.
-v Be verbose.
-V Be very verbose.
-s Stow/Depot compatibility mode. Infer the graft target directory
EXIT STATUS
graft will terminate with an exit status of either 0, 1, 2 or 3 under
the following conditions:
center; cB cB c lw(3c). Exit Status Condition _ 0 All operations
succeeded. 1 A conflict occurred during installation. 2 Command
line syntax was incorrect. 3 T{ One or more packages listed on the
command line does not exist. Other valid packages listed on the command
line were processed correctly. T}
VERSION
Version xVERSIONx
AUTHOR
Peter Samuel, Gormand Pty Ptd
<peters@gormand.com.au>
LICENSE
graft is licensed under the terms of the GNU General Public License,
Version 2, June 1991.
AVAILABILITY
The latest version of graft should always be available from
http://www.gormand.com.au/peters/tools/
SEE ALSO
Graft - a package management utility
25 Feb 2002 GRAFT(1)
Man(1) output converted with
man2html