[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:46:53 EDT 2012


On 09/17/2012 09:38 AM, Charles wrote:
> 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
>
Oooh thats wrong, you need to apply all patches, or just use my 
experimetal branch. Otherwise non-native systemd things will be used.

I guess this was your problem about no network available... If you have 
some time, you can build again but using "experimental" branch, and 
removing --retry-connrefused, at least in my case works, when I made 
this patch.

Thanks.


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



More information about the arch-releng mailing list