summaryrefslogtreecommitdiffstats
path: root/dev-tools/exampleDracutModule/apply-package.sh
diff options
context:
space:
mode:
authorjandob2016-03-29 19:06:22 +0200
committerjandob2016-03-29 19:06:22 +0200
commit7a14d8932f1f4bba79ba4e7b8d5fe4129788e4ac (patch)
tree0de5de71c12e08e3783bc885fb7c30c4b0346c2b /dev-tools/exampleDracutModule/apply-package.sh
parentadd logging to file functionality (diff)
parentFix. (diff)
downloadsystemd-init-7a14d8932f1f4bba79ba4e7b8d5fe4129788e4ac.tar.gz
systemd-init-7a14d8932f1f4bba79ba4e7b8d5fe4129788e4ac.tar.xz
systemd-init-7a14d8932f1f4bba79ba4e7b8d5fe4129788e4ac.zip
Merge branch 'master' of git.openslx.org:openslx-ng/systemd-init
Diffstat (limited to 'dev-tools/exampleDracutModule/apply-package.sh')
-rwxr-xr-xdev-tools/exampleDracutModule/apply-package.sh38
1 files changed, 34 insertions, 4 deletions
diff --git a/dev-tools/exampleDracutModule/apply-package.sh b/dev-tools/exampleDracutModule/apply-package.sh
index 218740ef..07d3c0a5 100755
--- a/dev-tools/exampleDracutModule/apply-package.sh
+++ b/dev-tools/exampleDracutModule/apply-package.sh
@@ -1,8 +1,38 @@
#!/usr/bin/env bash
# -*- coding: utf-8 -*-
-source /etc/openslx
+source '/usr/lib/rebash/core.sh'
+core.import exceptions
+core.import logging
+type emergency_shell >/dev/null 2>&1 || source /lib/dracut-lib.sh
-echo --------------------------------------------------------------------------
-echo TEST
-echo --------------------------------------------------------------------------
+exceptions.try
+{
+ logging.set_commands_level debug
+ logging.set_level debug
+ # NOTE: "getarg" raises an exception so deactivate exceptions for now.
+ exceptions.deactivate
+ slx_server="$(getarg slxsrv=)"
+ slx_server_base="$(getarg slxbase=)"
+ exceptions.activate
+
+ logging.info 'Getting package.'
+ IFS_backup="$IFS"
+ IFS=','
+ for host in ${slx_server}; do
+ logging.info "Trying host \"$host\"."
+ if wget --timeout 5 \
+ "http://${host}/${slx_server_base}config.tar.gz" \
+ --output-document - | tar --extract --verbose --gzip --directory \
+ "$NEWROOT"
+ then
+ break
+ fi
+ done
+ IFS="$IFS_backup"
+}
+exceptions.catch
+{
+ logging.error "$exceptions_last_traceback"
+ emergency_shell "error in ${BASH_SOURCE[0]}"
+}