diff options
author | Steffen Ritter | 2018-07-09 13:59:20 +0200 |
---|---|---|
committer | Steffen Ritter | 2018-07-09 13:59:20 +0200 |
commit | a26b9e7eb44b04aae7465b67787a17fb9b6eb952 (patch) | |
tree | 8eb2e832f1e40e0584339dc502d3200327e8c397 /core/modules/run-virt/data/opt/openslx/vmchooser/run-virt.d/setup_virtual_floppy.inc | |
parent | [run-virt] Linux scripts: mounting of (pseudo)floppy fd1 via systemd (diff) | |
download | mltk-a26b9e7eb44b04aae7465b67787a17fb9b6eb952.tar.gz mltk-a26b9e7eb44b04aae7465b67787a17fb9b6eb952.tar.xz mltk-a26b9e7eb44b04aae7465b67787a17fb9b6eb952.zip |
[run-virt] Handle visibility flag for lecture runscript
Diffstat (limited to 'core/modules/run-virt/data/opt/openslx/vmchooser/run-virt.d/setup_virtual_floppy.inc')
-rw-r--r-- | core/modules/run-virt/data/opt/openslx/vmchooser/run-virt.d/setup_virtual_floppy.inc | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/core/modules/run-virt/data/opt/openslx/vmchooser/run-virt.d/setup_virtual_floppy.inc b/core/modules/run-virt/data/opt/openslx/vmchooser/run-virt.d/setup_virtual_floppy.inc index 706cae62..f7fee6e9 100644 --- a/core/modules/run-virt/data/opt/openslx/vmchooser/run-virt.d/setup_virtual_floppy.inc +++ b/core/modules/run-virt/data/opt/openslx/vmchooser/run-virt.d/setup_virtual_floppy.inc @@ -99,15 +99,22 @@ setup_virtual_floppy() { fi ## Runscript - # Check downloaded runscript, handle extension marker + # Check downloaded runscript and handle options like + # extension, visibility flag, ... + # options are 'key=value' pairs separated with ';' if load_dmsd_resource RUNSCRIPT; then - local EXT= if [ -s "$RUNSCRIPT" ]; then - EXT=$(head -n 1 "$RUNSCRIPT" | grep -o -i '^EXT=.*$' | cut -d '=' -f 2-) - [ -n "$EXT" ] && [ "x${EXT:0:1}" != "x." ] && EXT=".$EXT" + declare -A OPTIONS + for OPT in $(head -n 1 "$RUNSCRIPT" | tr ";" "\n") + do + KEY=$(cut -s -d '=' -f 1 <<< "${OPT^^}") + [ -n "$KEY" ] && OPTIONS["$KEY"]=$(cut -s -d '=' -f 2- <<< "$OPT") + done + + [ ${OPTIONS[EXT]} ] && [ "x${OPTIONS[EXT]:0:1}" != "x." ] && OPTIONS[EXT]=".${OPTIONS[EXT]}" fi fi - + # Write info file local UNAME= [ -s "${HOME}/.openslx/account" ] && UNAME=$(cat "${HOME}/.openslx/account") @@ -119,8 +126,8 @@ setup_virtual_floppy() { createMissingRemap=${SHARE_CREATE_MISSING_REMAP} remapMode=${SHARE_REMAP_MODE_INI} homeDrive=${SHARE_HOME_DRIVE} - megaDrive=SEGA - scriptExt=${EXT} + scriptExt=${OPTIONS[EXT]} + scriptVisibility=${OPTIONS[VISIBILITY]} passCreds=${SHARE_CREDENTIAL_PASSTHROUGH} bootIp=${SLX_PXE_CLIENT_IP} @@ -150,9 +157,9 @@ setup_virtual_floppy() { mcopy -s -i "${SLX_FLOPPY_IMG}" "$VMCHOOSER_DIR/data/linux" "::/" # User supplied runscript - if [ -n "$EXT" ]; then + if [ -n "${OPTIONS[EXT]}" ]; then sed -i '1d' "${RUNSCRIPT}" - mcopy -i "${SLX_FLOPPY_IMG}" "${RUNSCRIPT}" "::/runscript${EXT}" + mcopy -i "${SLX_FLOPPY_IMG}" "${RUNSCRIPT}" "::/runscript${OPTIONS[EXT]}" fi # Admin supplied runscript(s) |