diff options
Diffstat (limited to 'rt/config')
-rw-r--r-- | rt/config | 256 |
1 files changed, 256 insertions, 0 deletions
diff --git a/rt/config b/rt/config new file mode 100644 index 000000000..b9418a66d --- /dev/null +++ b/rt/config @@ -0,0 +1,256 @@ +/* + * This is the project ``config'' file. It controls many aspects of + * how Aegis interacts with your project. + * + * There are several sections of this file, each dealing with a different + * aspect of the interaction between Aegis and the tools used to manage + * yout project. + */ + +/* + * ------------------------------------------------------------------------- + * + * The build tool is delegated. + */ + +/* + * The build_command field of the config file is used to invoke the relevant + * build command. The following command tells cook where to find the recipes. + * The ${s Howto.cook} expands to a path into the baseline during development + * if the file is not in the change. Look in aesub(5) for more information + * about command substitutions. + */ +build_command = + ""; + +/* cook -book ${s Howto.cook} search_path=$search_path \ +project=$p change=$c version=$v -star -no-log -action -notouch"; + +/* + * The recipes in the User Guide will all remove their targets before + * constructing them, which qualifies them to use the following entry in the + * config file. The targets MUST be removed first if this field is true, + * otherwise the baseline would cease to be self-consistent. + * + * Fortunately, Cook has a nifty ``set unlink;'' statement which is + * placed at the top of the cookbook. + */ +link_integration_directory = true; + + +/* + * ------------------------------------------------------------------------- + * + * The history tool is delegated. + * + * The fhist program was written by David I. Bell and is admirably + * suited to providing a history mechanism with out the "cruft" that + * SCCS and RCS impose. The fhist program also comes with two other + * utilities, fcomp and fmerge, which use the same minimal difference + * algorithm. + * + * Please note that the [# edit #] feature needs to be avoided, or the + * -Fored_Update (-fu) flag needs to be used in addition to the + * -Conditional_Update (-cu) flag, otherwise updates will complain that + * ``Input file "XXX" contains edit A instead of B for module "YYY"'' + * + * The history_create_command and the history_put_command are + * intentionally identical. This minimizes problems when using + * branches. + * + * The ${quote ...} construct is used to quote filesnames whicg contain + * shell special characters. A minimum of quoting is performed, so if + * the filenames do not contail shell special characters, no quotes will + * be used. + */ + +/* + * This command is used to create a new project history. The command is + * always executed as the project owner. Note he the source is left in + * the baseline. The following substitutions are available: + * + * ${Input} + * absolute path of the source file + * ${History} + * absolute path of the history file + * + * The history_create_command and the history_put_command are + * intentionally identical. This minimizes problems when using + * branches. + */ +history_create_command = + "fhist ${quote ${basename $input}} -cr -cu -i ${quote $input} \ +-p ${quote ${dirname $history}} -r"; + +/* + * This command is used to get a specific edit back from history. The + * command may be executed by developers. The following substitutions + * are available: + * + * ${History} + * absolute path of the history file + * ${Edit} + * edit number, as given by history_query_command + * ${Output} + * absolute path of the destination file + * + * Note that the destination filename will never look anything like the + * history source filename, so the -p is essential. + */ +history_get_command = + "fhist ${quote ${basename $history}} -e ${quote $e} \ +-o ${quote $output} -p ${quote ${dirname $history}}"; + +/* + * This command is used to add a new "top-most" entry to the history + * file. This command is always executed as the project owner. Note + * that the source file is left in the baseline. The following + * substitutions are available: + * + * ${Input} + * absolute path of source file + * ${History} + * absolute path of history file + * + * The history_create_command and the history_put_command are + * intentionally identical. This minimizes problems when using + * branches. + */ +history_put_command = + "fhist ${quote ${basename $input}} -cr -cu -i ${quote $input} \ +-p ${quote ${dirname $history}} -r"; + +/* + * This command is used to query what the history mechanism calls the + * "top-most" edit of a history file. The result may be any arbitrary + * string, it need not be anything like a number, just so long as it + * uniquely identifies the edit for use by the history_get_command at a + * later date. The edit number is to be printed on the standard output. + * This command may be executed by developers. The following + * substitutions are available: + * + * ${History} + * absolute path of the history file + */ +history_query_command = + "fhist ${quote ${basename $history}} -l 0 \ +-p ${quote ${dirname $history}} -q"; + +/* + * ------------------------------------------------------------------------- + * + * The difference and merge tools are delegated. + */ + +/* + * Compare two files using fcomp. The -w option produces an output of + * the entire file, with insertions an deletions marked by "change bars" + * in the left margin. This is superior to context difference, as it + * shows the entire file as context. The -s option could be added to + * compare runs of white space as equal. + * + * This command is used by aed(1) to produce a difference listing when + * file in the development directory was originally copied from the + * current version in the baseline. + * + * All of the command substitutions described in aesub(5) are available. + * In addition, the following substitutions are also available: + * + * ${ORiginal} + * The absolute path name of a file containing the version + * originally copied. Usually in the baseline. + * ${Input} + * The absolute path name of the edited version of the file. + * Usually in the development directory. + * ${Output} + * The absolute path name of the file in which to write the + * difference listing. Usually in the development directory. + * + * An exit status of 0 means successful, even of the files differ (and + * they usually do). An exit status which is non-zero means something + * is wrong. + * + * The non-zero exit status may be used to overload this command with + * extra tests, such as line length limits. The difference files must + * be produced in addition to these extra tests. + */ +diff_command = + "fcomp -w ${quote $original} ${quote $input} -o ${quote $output}"; + +/* + * Compare three files using fmerge. Conflicts are marked in the + * output. + * + * This command is used by aed(1) to produce a difference listing when a + * file in the development directory is out of date compared to the + * current version in the baseline. + * + * All of the command substitutions described in aesub(5) are available. + * In addition, the following substitutions are also available: + * + * ${ORiginal} + * The absolute path name of a file containing the common ancestor + * version of ${MostRecent} and {$Input}. Usually the version + * originally copied into the change. Usually in a temporary file. + * ${Most_Recent} + * The absolute path name of a file containing the most recent + * version. Usually in the baseline. + * ${Input} + * The absolute path name of the edited version of the file. + * Usually in the development directory. + * ${Output} + * The absolute path name of the file in which to write the + * difference listing. Usually in the development directory. + * + * An exit status of 0 means successful, even of the files differ (and + * they usually do). An exit status which is non-zero means something + * is wrong. + */ +merge_command = + "fmerge ${quote $original} ${quote $MostRecent} ${quote $input} \ +-o ${quote $output} -c /dev/null"; + +/* + * ------------------------------------------------------------------------- + * + * The new file templates are very handy. They allow all sorts of things + * to be se automatically. You need to edit them to add your own name, + * and copyright conditions. + */ + +file_template = +[ + { + pattern = [ "*" ]; + body = "${read_file ${source etc/template/generic abs}}"; + + } +]; + +/* ------------------------------------------------------------------------- + * + * The integrate_begin_exceptions are files which are not hard linked + * from the baseline to the integration directory. In this case, this + * is done to ensure the version stmp is updated appropriately. + */ + +integrate_begin_exceptions = [ ]; + + + + +/* ------------------------------------------------------------------------- + * + * The trojan_horse_suspect field is a list of filename patterns which + * indicate files which *could* host a Trojan horse attack. It makes + * aedist --receive more cautions. It is NOT a silver bullet: just + * about ANY file can host a Trojan, one way or the other. + */ + +trojan_horse_suspect = [ ]; + +build_covers_all_architectures = true; + +test_command = "make test"; + +build_time_adjust=dont_adjust; |