aelock

aelock(1)                                                            aelock(1)



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
        Peter Miller   E-Mail:   millerp@canb.auug.org.au
        /\/\*             WWW:   http://www.canb.auug.org.au/~millerp/



Reference Manual                     Aegis                           aelock(1)