[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:26:08 EDT 2012


On 09/17/2012 09:22 AM, Gerardo Exequiel Pozzi wrote:
> 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
>
>
>
When you tested this, how do you do? Only applied this patch over master?

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



More information about the arch-releng mailing list