[arch-projects] [mkinitcpio][PATCH 1/4] init: simplify disabling of hooks

Dave Reisner d at falconindy.com
Sat Jun 4 13:28:58 EDT 2011


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 <d at falconindy.com>
> ---
>  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



More information about the arch-projects mailing list