summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorroot2016-09-05 19:33:27 +0200
committerroot2016-09-05 19:33:27 +0200
commit0c399eecf6022c8e5c261b2c9fe0029cd29e9726 (patch)
tree495224bc52e52efd100404791c39e1788956a8f5
parent[xorg] Add xdotool (diff)
parent[vmware] Rely on usb config from server, only do fallback (diff)
downloadtm-scripts-0c399eecf6022c8e5c261b2c9fe0029cd29e9726.tar.gz
tm-scripts-0c399eecf6022c8e5c261b2c9fe0029cd29e9726.tar.xz
tm-scripts-0c399eecf6022c8e5c261b2c9fe0029cd29e9726.zip
Merge branch 'master' of git://git.openslx.org/openslx-ng/tm-scripts
-rw-r--r--remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/parse_vmx.inc38
1 files changed, 23 insertions, 15 deletions
diff --git a/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/parse_vmx.inc b/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/parse_vmx.inc
index 69ec513a..edbaeddc 100644
--- a/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/parse_vmx.inc
+++ b/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/parse_vmx.inc
@@ -18,7 +18,7 @@ echo 'ethernet0.addressType = "static"' >> "${TMPCONFIG}"
echo 'ethernet0.address = "'"${macaddr}"'"' >> "${TMPCONFIG}"
# DVD, CDROM
-# XXX: For now it's save to assume ide channel 1 is free, as we support only one HDD, and it it's IDE, it's on channel 0
+# XXX: For now it's safe to assume ide channel 1 is free, as we support only one HDD, and if it's IDE, it's on channel 0
cat >> "${TMPCONFIG}" <<-HEREEND
ide1:0.present = "$cdrom0"
ide1:0.autodetect = "TRUE"
@@ -60,17 +60,21 @@ MemAllowAutoScaleDown = "FALSE"
MemTrimRate = "-1"
HEREEND
-# USB
-if [ -n "$SLX_EXAM" ]; then
- # Exam mode: No USB (TODO: Configurable)
- sed -i '/^usb\./d' "${TMPCONFIG}"
- echo 'usb.present = "FALSE"' >> "${TMPCONFIG}"
-else
- cat >> "${TMPCONFIG}" <<-HEREEND
- usb.present = "TRUE"
- usb.generic.autoconnect = "TRUE"
- HEREEND
+# USB fallback: Only write usb config if there's none
+if ! grep -q -i "^usb\.present" "${TMPCONFIG}"; then
+ # Nothing found, go ahead
+ if [ -n "$SLX_EXAM" ]; then
+ # Exam mode: Default to no USB
+ sed -i '/^usb\./Id' "${TMPCONFIG}"
+ echo 'usb.present = "FALSE"' >> "${TMPCONFIG}"
+ else
+ cat >> "${TMPCONFIG}" <<-HEREEND
+ usb.present = "TRUE"
+ HEREEND
+ fi
fi
+sed -i '/^usb\.generic\.autoconnect/Id' "${TMPCONFIG}"
+echo 'usb.generic.autoconnect = "TRUE"' >> "${TMPCONFIG}"
# shared folders
if [ "$HGFS_DISABLED" = "FALSE" ]; then
@@ -120,7 +124,7 @@ else
fi
# Disable DPI scaling information passing via vmware tools
-sed -i '/^gui.applyHostDisplayScaling/d' "${TMPCONFIG}"
+sed -i '/^gui.applyHostDisplayScaling/Id' "${TMPCONFIG}"
echo 'gui.applyHostDisplayScalingToGuest = "FALSE"' >> "${TMPCONFIG}"
# Additinal exam mode settings
@@ -168,10 +172,14 @@ fi
#grep -qi '^vpmc\.enable' "${TMPCONFIG}" || echo 'vpmc.enable = "TRUE"' >> "${TMPCONFIG}"
# Disable space check warnings
-sed -i '/^mainMem.freeSpaceCheck/d' "${TMPCONFIG}"
+sed -i '/^mainMem.freeSpaceCheck/Id' "${TMPCONFIG}"
echo 'mainMem.freeSpaceCheck = "FALSE"' >> "${TMPCONFIG}"
# At last_ Let's copy it to $confdir/run-vmware.conf
-cp -p "${TMPCONFIG}" "$conffile" && writelog "Copied TMPDIR/IMGUUID ${TMPCONFIG} to conffile ${conffile}" || \
- ( writelog "Could not copy TMPDIR/IMGUUID -${TMPCONFIG}- to conffile ${conffile}!"; cleanexit 1 )
+if cp -p "${TMPCONFIG}" "$conffile"; then
+ writelog "Copied TMPDIR/IMGUUID ${TMPCONFIG} to conffile ${conffile}"
+else
+ writelog "Could not copy TMPDIR/IMGUUID -${TMPCONFIG}- to conffile ${conffile}!"
+ cleanexit 1
+fi