DEPOT.CONF(5)

NAME
depot.conf - depot collection configuration options

SYNOPSIS
[collectiondir]/depot.conf
[targetdir]/depot/depot.conf

DESCRIPTION
The file, depot.conf, specifies how the contents of a collection are to be mapped onto the target directory, [targetdir] by depot(1). The depot.conf file is optional and depot(1) may be run with out it.

The depot.conf can exist in the top level of the collection as well as in the depot directory of the environment. If there is a depot.conf in the depot directory, then the information in this file takes precedence over any depot.conf found in any collection.

Each line in the collection depot.conf may be a comment, a special specification entry termed a tilde-specification, or a mapping specification. Specifications are sequentially processed and later specifications may override the effects of earlier specifications.

Lines in depot.conf starting with a # are treated as comments and are ignored by depot(1).

Lines in depot.conf starting with a ~ are treated as tilde-specifications. Depot(1) recognizes the following tilde-specifcations:

~delete path
    prevents the specified path from being mapped by any earlier specification. A / should be used to specify the top level of the collectiondir. All other paths specified must be relative to collectiondir.

~command label outputfilelist
    causes depot(1) to execute the command specified by the label at the end of all other operations. This creates the specified output files.The outputfilelist is the only way, other than marking a file "special", for a generated file to be recognized or mapped by depot. The command to be executed should be specified using the command resource in the environment customization file,depot.pref(5). The outputfilelist must be a list of pathnames relative to targetdir and each of the pathnames should be separated by a whitespace.

Mapping entries specify what should be exported from the collection directory to the target directory. Mapping entries may also specify that files and directories in the collection directory should actually appear in a different location in the target directory. Mapping entries are one on each line of the form

frompath topath or path

The second form is equivalent to a mapping specification of

path path

and is used for brevity. A / should be used to specify the top level of the collectiondir as the frompath for mapping. All other frompaths specified must be relative to collectiondir. Similarly, a / should be used to specify the top level of the targetdir as the topath for mapping. All other topaths specified must be relative to targetdir. The specification

frompath topath

causes depot(1) to map the contents of collectiondir/frompath to targetdir/topath. If a collection does not have a depot.conf, the default is to map everything in the collection. e.g.

/    /

The global depot.conf provides a method for the environment maintainer to customize the environment, even overrriding the depot.conf's in the collections. This file resides in the depot directory. The syntax of global depot.conf is the same as for the collection depot.conf except that each entry applies to a specific collection and therefore the name of the collection is the first argument to any global depot.conf specification. The use of a global depot.conf automatically creates the '/' mapping.

EXAMPLE

An example of how depot(1) maps files would be:

usr/local /

In this case, all the files under the usr/local directory will be mapped to /, the top level environment. This makes it seem as though all the files and directories under usr/local are actulally two levels up.

A sample use of the global depot.conf is to change the mapping of the foo collection, the global depot.conf woud be:

     foo bin lib/log
     foo ~delete bin

This would take the files in bin and foo and map them into lib/log and the ~delete would keep the bin directory and any files from the foo collection from being mapped into the target directory.

AUTHOR
Sohan C. Ramakrishna-Pillai

SEE ALSO
depot(1), depot.pref(5)