NAME¶
aelock - take a lock while a command runs
SYNOPSIS¶
aelock [
option... ]
command
aelock -Help
aelock -VERSion
DESCRIPTION¶
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) command 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 service attack. Thus, this command is
limited to project administrators only.
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 command is
held in a source controlled, fully reviewed project configuration 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.
OPTIONS¶
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
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.
- -Help
-
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 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 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.
EXIT STATUS¶
The
aelock command will exit with a status of 1 on any error. The
aelock 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.
COPYRIGHT¶
aelock 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 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.
AUTHOR¶