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