cfm - manage entries in the cfm database for the executing host
cfm [-S] [-l] [-m <msg>] [-r] [-s <set> [-d <decr>]] [-u] [-v <level>] [-x] [-L <symlink> ...] [-F <reg_file> ...] [-D <dir> ...] [ [--] {<dir> | <file>} ...]
Cfm diff checks controlled versions of config files in the cfm database (cfmdb) against those on the executing host. You can use it to overwrite the host's file with the controlled copy or update a set's controlled copy in the cfmdb. To locate the appropiate controlled copy of the file cfm sequences thru the host's set list using the names as rcs tags. It uses the first existant version it finds. See assumptions:sets. Alternately you may specify an arbitrary set and version for comparison using the -s option. Control of symlinks is supported.
The cfm cmd accepts two type of arguments: dirs and files.
Dirs must exist on the executing host. Cfm will not create them. Cfm uses the filesystem to determine if the arg is a dir. With a dir arg cfm locates the corresponding dir in the cfmdb and diffs all the files it contains against those on the executing host. Files missing on the host will be detected and can be downloaded. Recursion is enabled with the -r option.
Normally file and symlink args must exist on the executing host; but see -F and -L options.
In both cases cfm locates the appropiate version of a file for the executing host by searching the corresponding cfmdb rcsfile for the first populated set using the host's sequence of set names as version tags. In addition to the set names visible in the host's set list the owning rpm name is tried if a file belongs to an rpm, the `all' set is tried, and the user's $LOGNAME is tried.
Use the -F and -L options to identify files and symlinks respectively which do not exist on the executing host. These may then be downloaded from the cfmdb.
Use the -D option to override the default behavior for a symlink used to remap a dir. Ie, the -D option will cause cfm to treat a dir symlink as a dir and expand its mapped contents rather than simply test the symlink itself.
Use the -S option to suppress the summary msg. The summary msg is normally output at verbosity levels above 0. See the -v option.
Use the -l option to display the rcs log for files. This includes the revision history as well as the set (rcs symbol) list that uses the file.
Use the -m option to specify a documentation message from the cmdline instead of entering it interactively. This is convenient when multiple cfmdb files are being modified for the same reason.
Use the -r option to recurse thru subdir levels in the cfmdb. If the target dir is not present on the executing its contents are presumed to be `not' installed and the dir is skipped. This option is only meaningful when the args are dirs.
Use the -s option to specify use of a specific set and optionally a previous version of that set for selecting the file version in the cfmdb. Using this option the sysadmin can make comparisons to previous and current versions of the file used on this and other hosts. Eg: `cfm -s other-host -1 cfg-file' would diff this hosts cfg-file against the cfg-file version used by set other-host before its last update. NOTE: You can NOT upload to a previous version. NOTE: In the absence of the -s option cfm searches for these set tags: <host>-pnp <host> <other_host_sets> <rpm-name> all <$LOGNAME>
Use the -u option to interactively update the executing host by downloading the controlled copy from the cfmdb, or update the cfmdb by uploading the host's file to be the new master for this host's set. Also see -x for non-interactive downloads.
Use the -v option to set the verbosity level. The default level is configurable in CFMROOT/config. 0 is dead quiet, returning only a success=0, fail=$err_cnt status. 1 reports errs and summary; no checklist, or diffs. 2 reports checklist, errs, and summary; no diffs. 3 reports checklist, diffs, errs, and summary. 4-... Will be debug if implemented.
WARNING this option is not interactive. It will overwrite files. The -x option downloads to overwrite the host's copy of any files that differ from those in the cfmdb master version for the executing host. NOTE that this does not include files in the $pnp set.
Derald Metzger <dmetz@remotesensing.org>
Surely: 000226-dam.
allfiles list of non-rpm config files put in the all set config misc cfm configuration params hostsets list of hosts and their sets list hsfiles list of host specific files put in each <host> set
cfm-cmd-list
Derald Metzger 1998 - 2000. This program is distributed under the GPL.