aede-policy - check change set is ready for aede
aede-policy [ option... ][ policy... ]
The aede-policy command is used to verify that a change set is ready to
end development. This is intended to be used by the develop_end_
policy_command field of the project configuration file.
"aede-policy -p $project -c $change all";
If any of the pilies should fail, the aede-policy command will fail
with an exit status of 1. This, in turn, will cause the aede(1)
command to leave the change in the being developed state.
Note that the aede(1) command sets the appropriate environment
variables, so the -Project and -Change options are rarely necessary.
If no policies appear on the command line, the aede-policy project
specific attribute will be checked. If it exists, it contains a list
of space separated policy names.
There are a range of policies that can be selected.
all Check all of the copyright, crlf, description and printable
This policy checks that each file in the change set contains a
copyright notice of the form
Copyright (C) year something
where year is the current year (you can have a range of years,
too). Binary files are ignored. Change sets marked with a
foreign-copyright=true attribute are ignored, as are files
similarly marked. The something part is either the project
specific copyright-owner attribute, or the executing users full
crlf This policy cheks that all files are using UNIX line
termination (NL), not DOS line termination (CRLF). Binary
files are ignored.
This policy checks that the change set brief_description and
description attributes have been updated to something other
than the defaults.
This policy checks that the FSF address, if present in source
files, is up-to-date. This is useful for Free Software
This policy checks files that cite the GNU GPL in their file
headers, to be sure they contain the correct version of the GNU
GPL. Defaults to version 3 if no version number specified.
This policy checks that files have this maximum line length.
Defaults to 80 if no width is specified. Can be overridden per
file using the aede-policy-line-length file attribute.
This policy requires that there be no fmerge(1) conflict lines
present in any source files. The name comes from the name of
the package containing this tool: fhist.
This policy requires that there be no merge(1) conflict lines
present in any source files. The name comes from the name of
the package containing this tool: rcs.
This policy checks that files have no tabs characters in them.
This is useful when a team of developers all use different
editors and differnt tab stops. By only using spaces, the code
is presented to all developers the same way.
This check is not applied to change sets with a Iforeign-
copyright=true attribute, because you have little control over
them (change the tabs in a later change set, if at all).
This check is not applied to files which are called Makefile or
similar, and it is not applied to files carrying a aede-policy-
This policy checks that each file in the change set contains
only printable text characters and white space. The content-
type file attribute is taken into account; if there is no
content-type file attribute, or there is no charset specified
by the content-type file attribute, plain 7-bit ASCII text is
text This policy checks that each file in the change set contains
only text, although international character sets are
acceptable. This is basically a test for NUL characters,
because everything else could be part of a valid character
encoding of some international character set.
This policy checks that there is no white space on the ends of
lines, that there are no blank lines at the ends of files.
If no policy is specified, only the description policy will be checked.
The following options are understood:
This option may be used to specify a particular change within a
project. See aegis(1) for a complete description of this
This option may be used to obtain more information about how to
use the aede-policy program.
-List List all of the available validations.
This option may be used to select the project of interest.
When no -Project option is specified, the AEGIS_PROJECT
environment variable is consulted. If that does not exist, the
user’s $HOME/.aegisrc file is examined for a default project
field (see aeuconf(5) for more information). If that does not
exist, when the user is only working on changes within a single
project, the project name defaults to that project. Otherwise,
it is an error.
See also aegis(1) for options common to all aegis commands.
All options may be abbreviated; the abbreviation is documented as the
upper case letters, all lower case letters and underscores (_) are
optional. You must use consecutive sequences of optional letters.
All options are case insensitive, you may type them in upper case or
lower case or a combination of both, case is not important.
For example: the arguments "-project, "-PROJ" and "-p" are all
interpreted to mean the -Project option. The argument "-prj" will not
be understood, because consecutive optional characters were not
Options and other command line arguments may be mixed arbitrarily on
the command line, after the function selectors.
The GNU long option names are understood. Since all option names for
aede-policy are long, this means ignoring the extra leading ’-’. The
"--option=value" convention is also understood.
The aede-policy command will exit with a status of 1 on any error. The
aede-policy command will only exit with a status of 0 if there are no
See aegis(1) for a list of environment variables which may affect this
command. See aepconf(5) for the project configuration file’s project_
specific field for how to set environment variables for all commands
executed by Aegis.
aede(1) end development of a change
project configuration file
aede-policy version 4.24.3.D001
Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Peter
The aede-policy program comes with ABSOLUTELY NO WARRANTY; for details
use the ’aede-policy -VERSion License’ command. This is free software
and you are welcome to redistribute it under certain conditions; for
details use the ’aede-policy -VERSion License’ command.
Peter Miller E-Mail: email@example.com
/\/\* WWW: http://www.canb.auug.org.au/~millerp/