[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