aelock(1) aelock(1) NNAAMMEE aelock - take a lock while a command runs SSYYNNOOPPSSIISS aaeelloocckk [ _o_p_t_i_o_n... ] _c_o_m_m_a_n_d aaeelloocckk --HHeellpp aaeelloocckk --VVEERRSSiioonn DDEESSCCRRIIPPTTIIOONN The _a_e_l_o_c_k_" 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:_c_o_m_m_a_n_d within the _p_r_o_j_e_c_t___s_p_e_c_i_f_i_c field of the project configuration file. The command is then passed through the usual _a_e_s_u_b(5) substitutions before being executed. The command is executed as the project owner. If the command returns with a non-zero exit status, the _a_e_l_o_c_k(1) com- mand will return an exit status of one. SSeeccuurriittyy IIssssuueess 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 only. This command could have been designed to take an arbitrary command to execute, like _s_u_d_o(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 _a_e_b(1), this means it can wreak havoc on the project baseline and meta-data. Use with extreme care. OOPPTTIIOONNSS The following options are understood: --PPrroojjeecctt _n_a_m_e This option may be used to select the project of interest. When no --PPrroojjeecctt option is specified, the _A_E_G_I_S___P_R_O_J_E_C_T envi- ronment variable is consulted. If that does not exist, the user's _$_H_O_M_E_/_._a_e_g_i_s_r_c file is examined for a default project field (see _a_e_u_c_o_n_f(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. --HHeellpp This option may be used to obtain more information about how to use the _a_e_l_o_c_k program. See also _a_e_g_i_s(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 inter- preted to mean the --PPrroojjeecctt 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 _a_e_l_o_c_k are long, this means ignoring the extra leading '-'. The "----_o_p_t_i_o_n==_v_a_l_u_e" convention is also understood. EEXXIITT SSTTAATTUUSS The _a_e_l_o_c_k command will exit with a status of 1 on any error. The _a_e_l_o_c_k command will only exit with a status of 0 if there are no errors. EENNVVIIRROONNMMEENNTT VVAARRIIAABBLLEESS See _a_e_g_i_s(1) for a list of environment variables which may affect this command. See _a_e_p_c_o_n_f(5) for the project configuration file's _p_r_o_j_e_c_t___s_p_e_c_i_f_i_c field for how to set environment variables for all commands executed by Aegis. CCOOPPYYRRIIGGHHTT aelock version 4.25.D611 Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 Peter Miller The aelock program comes with ABSOLUTELY NO WARRANTY; for details use the '_a_e_l_o_c_k _-_V_E_R_S_i_o_n _L_i_c_e_n_s_e' command. This is free software and you are welcome to redistribute it under certain conditions; for details use the '_a_e_l_o_c_k _-_V_E_R_S_i_o_n _L_i_c_e_n_s_e' command. AAUUTTHHOORR Peter Miller E-Mail: pmiller@opensource.org.au /\/\* WWW: http://miller.emu.id.au/pmiller/ Reference Manual Aegis aelock(1)