[arch-releng] [PATCH 5/5] [configs/releng] Rework automated_script() from initscript hooks to /root/.zlogin

Charles ce at vejnar.org
Sun Sep 16 17:01:29 EDT 2012


Le 12/09/2012 09:10, Gerardo Exequiel Pozzi a écrit :
> Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386 at yahoo.com.ar>
> ---
>   .../releng/root-image/root/.automated_script.sh    | 34 ++++++++++++++++++++++
>   configs/releng/root-image/root/.zlogin             |  1 +
>   2 files changed, 35 insertions(+)
>   create mode 100755 configs/releng/root-image/root/.automated_script.sh
>   create mode 100644 configs/releng/root-image/root/.zlogin
>
> diff --git a/configs/releng/root-image/root/.automated_script.sh b/configs/releng/root-image/root/.automated_script.sh
> new file mode 100755
> index 0000000..859452f
> --- /dev/null
> +++ b/configs/releng/root-image/root/.automated_script.sh
> @@ -0,0 +1,34 @@
> +#!/bin/bash
> +
> +script_cmdline ()
> +{
> +    local param
> +    for param in $(< /proc/cmdline); do
> +        case "${param}" in
> +            script=*) echo "${param##*=}" ; return 0 ;;
> +        esac
> +    done
> +}
> +
> +automated_script ()
> +{
> +    local script rt
> +    script="$(script_cmdline)"
> +    if [[ -n "${script}" ]]; then
> +        if [[ "${script}" =~ ^http:// || "${script}" =~ ^ftp:// ]]; then
> +            wget "${script}" -q -O /tmp/startup_script >/dev/null
> +            rt=$?
> +        else
> +            cp "${script}" /tmp/startup_script
> +            rt=$?
> +        fi
> +        if [[ ${rt} -eq 0 ]]; then
> +            chmod +x /tmp/startup_script
> +            /tmp/startup_script
> +        fi
> +    fi
> +}
> +
> +if [[ $(tty) == "/dev/tty1" ]]; then
> +    automated_script
> +fi
> diff --git a/configs/releng/root-image/root/.zlogin b/configs/releng/root-image/root/.zlogin
> new file mode 100644
> index 0000000..f598e43
> --- /dev/null
> +++ b/configs/releng/root-image/root/.zlogin
> @@ -0,0 +1 @@
> +~/.automated_script.sh
Hi,

Two problems:
- when the script is run, the network is not ready, making 
automated_script to fail. Adding the parameter "--retry-connrefused" to 
wget will fixed it.
- the hook /etc/rc.d/functions.d/automated_script has not been removed.

Thanks for trying to make this function work. Very useful to me !

Regards,

Charles



More information about the arch-releng mailing list