On Sat, Jun 04, 2011 at 01:17:58PM -0400, Dave Reisner wrote: > Instead of dynamically creating variables to test against, simply remove > the read permission from the hook. > > Signed-off-by: Dave Reisner <[email protected]> > --- > init | 21 ++++++++------------- > 1 files changed, 8 insertions(+), 13 deletions(-) > > diff --git a/init b/init > index 1f6bc4e..67039c8 100644 > --- a/init > +++ b/init > @@ -40,9 +40,9 @@ else > fi > > if [ -n "${disablehooks}" ]; then > - for d in $(echo "${disablehooks}" | sed 's|,| |g'); do > - eval "hook_${d}=disabled" > - done > + cd /hooks >/dev/null > + chmod -r ${disablehooks//,/ } 2>/dev/null > + cd - >/dev/null > fi > > if [ -n "${earlymodules}" ]; then > @@ -60,16 +60,11 @@ fi > > if [ -e "/hooks" ]; then > for h in ${HOOKS}; do > - TST="" > - eval "TST=\$hook_${h}" > - if [ "${TST}" != "disabled" ]; then > - run_hook () { msg "${h}: no run function defined"; } > - if [ -e "/hooks/${h}" ]; then > - . /hooks/${h} > - msg ":: Running Hook [${h}]" > - run_hook > - fi > - fi > + [ -r "/hooks/$h" ] || continue > + run_hook () { msg "${h}: no run function defined"; } > + . /hooks/${h} > + msg ":: Running Hook [${h}]" > + run_hook > done > fi > > -- > 1.7.5.4 >
Strike this. The shell test passes regardless since we're root. d
