sourCEntral - mobile manpages

pdf

icmstart

NAME

icmstart − A startup script for icmbuild program maintenance

SYNOPSIS

icmstart [Options] top-dir [program|library]

DESCRIPTION

The icmstart script is a generic script that can be used to start program maintenance using icmake(1) and icmbuild(1). Icmstart will create an initial directory top-dir and will install the files CLASSES and icmconf below top-dir. If provided, program or library may be specified, to become the default mode of operation of the icmbuild(1) script. Skeleton files for the main directory and subdirectories, by default listed in the file /usr/share/icmake/icmstart.rc, may be installed as well (see below at SKELETON FILES).

After changing to the top-level directory created by icmstart the icmbuild script may be called for program maintenance.

OPTIONS

Icmstart may be called with the following options, which (f specified) must be the first arguments to icmstart:

o

-d

Do not execute any commands, but show the commands that would have been executed on the standard output.

o

-I

Do not install skeleton files.

o

-r Unconditionally replace existing (skeleton) files. If -r is not provided icmstart will ask the user to confirm that an existing file must be overwritten. If a skeleton specification refers to a directory, the full directory and its subdirectories will be replaced.

o

-s skeleton-path

By default skeleton files are listed in the skeleton resource file /usr/share/icmake/icmstart.rc. Alternatively, the skeleton resource file may be specified by the ICM environment variable, which -in turn- may be overruled by the path specified with the -s option. The skeleton path may be specified as a full file-path or as a directory, in which case the skeleton resource file is assumed to be icmstart.rc (see below at SKELETON FILES). Since icmstart uses tar to install files, tar must be available when icmstart should install skeleton files.

SKELETON FILES

Skeleton resource files may contain comment (empty lines and lines beginning with the hash-mark (#)) which is ignored, and should otherwise contain absolute or relative (with respect to the directory containing the skeleton resource file) file- or directory names.

These entries are copied to the top-level directory using tar(1). During this process tar(1) will remove leading / and ../ specifications from specified file- and directory names. E.g., if a skeleton name /tmp/scanner/scanner.h is listed, and the top-level directory is named demo then demo/tmp/scanner/scanner.h is installed.

Skeleton specifications may be specified on separate lines, or lines may contain multiple specifications. The first entry on a line may be a question mark, in which case the user is asked to confirm that the skeletons specified on that line must be installed. Confirmation is requested for each subsequent element on a line. Once installation is not confirmed all remaining entries on that line are skipped.

For example, the default icmstart.rc may contain the following lines:

main.cc
main.ih
usage.cc
version.cc
? scanner parser

In this case, main.cc, main.ih, usage.cc and version.cc will be installed, but confirmation is requested for the scanner directory. If installation is confirmed, the scanner directory and its contents are installed into the top-level directory. Next, confirmation is requested to install parser. If installation of scanner is not confirmed, installation of parser is skipped.

Installation of a directory does not imply that the file CLASSES will contain that directory as one of its entries. It is the user’s responsibility to update CLASSES, if necessary.

FILES

The mentioned paths are sugestive only and may be installation dependent:

o

/usr/share/icmake/icmconf Example of a icmstart configuration file;

o

/usr/share/icmake/CLASSES Example of a icmstart CLASSES file.

o

/usr/share/icmake/icmstart.rc Default skeleton resource file.

SEE ALSO

icmake(1), icmbuild(1), tar(1)

LICENSE

This is free software, distributed under the terms of the ‘GNU General Public License’. Copyright remains with the author.

ORGANIZATION

Computing Center, University of Groningen.

BUGS

Please report bugs to the author:

AUTHOR

Frank B. Brokken (f.b.brokken@rug.nl).

pdf