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

Gerardo Exequiel Pozzi vmlinuz386 at yahoo.com.ar
Mon Sep 17 08:22:54 EDT 2012


On 09/17/2012 06:42 AM, Charles wrote:
> Le 17/09/2012 01:12, Gerardo Exequiel Pozzi a écrit :
>> On 09/16/2012 06:01 PM, Charles wrote:
>>> 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.
>> "network ready" issues is a thing that should be fixed in some way. 
>> For now adding such switch seems to be fine ;)
>>> - the hook /etc/rc.d/functions.d/automated_script has not been removed.
>> Is removed, ensure that you are working on clean enviroment (remove 
>> files from /usr/share/archiso, etc)
>>
>> rm -r /usr/lib/initcpio/archiso_* /usr/lib/initcpio/hooks/archiso* 
>> /usr/lib/initcpio/install/archiso* /usr/share/doc/archiso 
>> /usr/share/archiso /usr/sbin/mkarchiso
>>>
>>> Thanks for trying to make this function work. Very useful to me !
>> Thanks you for testing.
>>>
>>> Regards,
>>>
>>> Charles
>>>
>>>
>>
>>
>
> Hi Gerardo,
>
> > Is removed, ensure that you are working on clean enviroment (remove 
> files from /usr/share/archiso, etc)
>
> I don't get that. the file 
> "http://projects.archlinux.org/archiso.git/tree/configs/releng/root-image/etc/rc.d/functions.d/automated_script" 
> is still there, isn't it ? or is there another patch ?
>
> Charles
>
>

These RFC patchs are not merged in master and main repo. Only in my 
repo, inside experimental branch.

https://github.com/djgera/archiso/compare/master...experimental



-- 
Gerardo Exequiel Pozzi
\cos^2\alpha + \sin^2\alpha = 1



More information about the arch-releng mailing list