Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
aede-policy(1)							aede-policy(1)

NAME
	aede-policy - check change set is ready	for aede

SYNOPSIS
	aede-policy [ option...	 ][ policy...  ]
	aede-policy -Help
	aede-policy -VERSion
	aede-policy -List

DESCRIPTION
	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.
		develop_end_policy_command =
		    "aede-policy -p $project -c	$change	all";
	If  any	of the policies	should fail, the aede-policy command will fail
	with an	exit status of 1.  This, in turn, will cause the aede(1)  com-
	mand to	leave the change in the	being developed	state.

	Note  that  the	aede(1)	command	sets the appropriate environment vari-
	ables, 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.

	The aede-policy(1) command expects to be invoked  on  changes  in  the
	being_developed	 state.	  If  invoked  for  a  change  in  the being_-
	integrated state (common if invoked as part  of	 the  build)  it  will
	silently  do  nothing.	All other change states	will result in a fatal
	error message.

   POLICIES
	There are a range of policies that can be selected.

	all	Check all of the copyright, crlf,  description	and  printable
		policies.

	comments
		This  policy  checks  for C comments in	C++ files, or C++ com-
		ments in C files.  The forms of	the  comments  give  sublimial
		hints  to  the reader as to what language is being read.  Mis-
		matched	comments make the code subtly harder to	read and  thus
		harder to maintain.

	copyright
		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.  The something	part is	either
		the project specific copyright-owner attribute,	or the execut-
		ing users full name.

		foreign-copyright
			Change	sets  marked with a foreign-copyright=true at-
			tribute	are ignored, as	are files similarly marked.

	crlf	This policy checks that	all files are using UNIX line termina-
		tion (NL), not DOS line	termination (CRLF).  Binary files  are
		ignored.

	description
		This  policy  checks that the change set brief_description and
		description attributes have been updated  to  something	 other
		than the defaults.

	escape-hyphen
		This  policy checks that hypen in roff sources (such as	man(1)
		pages) that contain  unescaped	minus  or  hyphen  characters.
		This  is  one  of the more annoying warnings produced by lint-
		ian(1) when building Debian packages.

		aede-policy-escape-hyphen
			This check is not applied to files  carrying  a	 aede-
			policy-escape-hyphen=false attribute.

	fsf-address
		This  policy checks that the FSF address, if present in	source
		files, is  up-to-date.	 This  is  useful  for	Free  Software
		projects.

	gpl-version

	gpl-version=nn
		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	speci-
		fied.

	line-length

	line-length=nn
		This policy checks that	files have this	maximum	 line  length.
		Defaults  to  80  if  no  width	 is specified.	It understands
		vim(1) mode lines, particularly	for the	"tabsize" setting.

	aede-policy-line-length
		Can be overridden per file using  the  aede-policy-line-length
		file attribute.

	man-pages
		This policy requires that each installable program be accompa-
		nied by	a man(1) manual	page.

	merge-fhist
		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.

	merge-rcs
		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.

	no-tabs
		This policy checks that	files have no tabs characters in them.
		This is	useful when a team of developers all use different ed-
		itors and different tab	stops.	By only	using spaces, the code
		is presented to	all developers the same	way.

		foreign-copyright
			This check is not applied to change sets with  a  for-
			eign-copyright=true attribute, because you have	little
			control	 over  them (change the	tabs in	a later	change
			set, if	at all).

		aede-policy-tabs-allowed
			This check is not applied to files  which  are	called
			Makefile  or  similar,	and it is not applied to files
			carrying a aede-policy-tabs-allowed=true attribute.

	printable
		This policy checks that	each file in the change	 set  contains
		only printable text characters and white space.

	content-type
		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 assumed.

	reserved
		This policy checks that	C and C++ identifiers reserved by  the
		ANSI  C	 and C++ Standards are used.  See section 2.10 of both
		standards.  Only C and C++ source files	are checked.

	text	This policy checks that	each file in the change	 set  contains
		only  text,  although international character sets are accept-
		able.  This is basically a test	for  NUL  characters,  because
		everything else	could be part of a valid character encoding of
		some international character set.

	version-info
		This  policy  checks  the  version-info	 rules	for shared li-
		braries, as laid out by	the libtool(1) manual, and required by
		the Debian Policy Manual.  This	is done	by examining  the  ac-
		tual shared libraries, the one being built, and	the one	in the
		ancestor  baseline  (i.e.  the	one to be replaced) to confirm
		that the version-info strings conform.	By examining  the  ac-
		tual  shared  libraries,  an  objective	 view of what has been
		added, modified	and removed can	be obtained.

		The shared library to examine is obtained from a  project_spe-
		cific attribute:

		aede-policy:version-info:library
			This  is  set  to  the	baseline-relative  name	of the
			shared library file.  You don't	have to	add the	secret
			libtool(1) ".libs" directory,  this  policy  can  work
			that out for itself.

		aemakegen:version-info
			This  is the string which aemakegen(1) would use if it
			were invoked.  This is also checked.   If  you	aren't
			using  aemakegen(1), it	is a good idea to set this at-
			tribute	anyway and access it via aesub(1) from	within
			your build system.

		This  policy  requires	nm(1)'s	 --dynamic option to work cor-
		rectly on the .so file (it is part of the GNU  binutils	 pack-
		age).

	vim-mode
		This  policy  checks that each file in the change set contains
		contains a vim(1) mode line.  Binary files are ignored.

		aede-policy-vim-mode-required
			Set this attribute to false on files for which this is
			not to be checked.

	white-space
		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.

OPTIONS
	The following options are understood:

	-Change	number
		This  option may be used to specify a particular change	within
		a project.  See	aegis(1) for a complete	 description  of  this
		option.

	-Help
		This  option  may be used to obtain more information about how
		to use the aede-policy program.

	-List	List all of the	available validations.

	-Project name
		This option may	be used	to select  the	project	 of  interest.
		When  no -Project option is specified, the AEGIS_PROJECT envi-
		ronment	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  sin-
		gle  project, the project name defaults	to that	project.  Oth-
		erwise,	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 op-
	tional.	 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	inter-
	preted to mean the -Project option.  The argument "-prj" will  not  be
	understood, because consecutive	optional characters were not supplied.

	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.

EXIT STATUS
	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 errors.

ENVIRONMENT VARIABLES
	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.

SEE ALSO
	aede(1)	end development	of a change

	aepconf(5)
		project	configuration file

COPYRIGHT
	aede-policy version 4.25.D510
	Copyright  (C)	1991,  1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
	2000, 2001, 2002, 2003,	2004, 2005,  2006,  2007,  2008,  2009,	 2010,
	2011, 2012 Peter Miller

	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.

AUTHOR
	Peter Miller   E-Mail:	 pmiller@opensource.org.au
	/\/\*		  WWW:	 http://miller.emu.id.au/pmiller/

Reference Manual		     Aegis			aede-policy(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=aede-policy&sektion=1&manpath=FreeBSD+Ports+14.3.quarterly>

home | help