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 <[email protected]>
---
.../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

Reply via email to