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

Charles ce at vejnar.org
Mon Sep 17 08:38:24 EDT 2012


Le 17/09/2012 14:26, Gerardo Exequiel Pozzi a écrit :
> 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?
>
Yes


More information about the arch-releng mailing list