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

FreeBSD Manual Pages


home | help
aelock(1)							     aelock(1)

	aelock - take a	lock while a command runs

	aelock [ option...  ] command
	aelock -Help
	aelock -VERSion

	The aelock" command is used to take a project lock while a command
	runs.  This may	be used	to ensure that the project state is stable
	while it is being backed up.

	The named command is looked for	as an attribute	called aelock:command
	within the project_specific field of the project configuration file.

	The command is then passed through the usual aesub(5) substitutions
	before being executed.	The command is executed	as the project owner.
	If the command returns with a non-zero exit status, the	aelock(1) com-
	mand will return an exit status	of one.

   Security Issues
	This command is	a potential security problem.  Because it takes	a
	read-only lock of all active branches and changes in a project,	from
	the trunk down,	misuse of this command is a potential denial of	ser-
	vice attack.  Thus, this command is limited to project administrators

	This command could have	been designed to take an arbitrary command to
	execute, like sudo(1), but this	would have granted users, even project
	administrators,	more privileges	than usual.  For this reason, the com-
	mand is	held in	a source controlled, fully reviewed project configura-
	tion file, and is simply indicated by name.

	The command is run as the project owner, not the executing user.  It
	has full write access (that's the way Unix permissions work).  Like
	aeb(1),	this means it can wreak	havoc on the project baseline and
	meta-data.  Use	with extreme care.

	The following options are understood:

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

		This option may	be used	to obtain more information about how
		to use the aelock program.

	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
	aelock are long, this means ignoring the extra leading '-'.  The
	"--option=value" convention is also understood.

	The aelock command will	exit with a status of 1	on any error.  The ae-
	lock command will only exit with a status of 0 if there	are no errors.

	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.

	aelock 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 aelock program comes with ABSOLUTELY NO WARRANTY; for details use
	the 'aelock -VERSion License' command.	This is	free software and you
	are welcome to redistribute it under certain conditions; for details
	use the	'aelock	-VERSion License' command.

	Peter Miller   E-Mail:
	/\/\*		  WWW:

Reference Manual		     Aegis			     aelock(1)


Want to link to this manual page? Use this URL:

home | help