summaryrefslogtreecommitdiffstats
path: root/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/vm_installer
diff options
context:
space:
mode:
authorChristian Rößler2017-04-24 17:18:42 +0200
committerChristian Rößler2017-04-24 17:18:42 +0200
commit40cbdf108ab1d85c69fcfd1d506340b7b102f40c (patch)
tree855a4357b517de1239b5e8d7a9afe755bbebe1b6 /core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/vm_installer
parent[pam] add missing content package (diff)
downloadmltk-40cbdf108ab1d85c69fcfd1d506340b7b102f40c.tar.gz
mltk-40cbdf108ab1d85c69fcfd1d506340b7b102f40c.tar.xz
mltk-40cbdf108ab1d85c69fcfd1d506340b7b102f40c.zip
[run-virt] Floppy (fd1)-scripts: Some more testing, some hardening
Diffstat (limited to 'core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/vm_installer')
-rwxr-xr-xcore/modules/run-virt/data/opt/openslx/vmchooser/data/linux/vm_installer107
1 files changed, 86 insertions, 21 deletions
diff --git a/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/vm_installer b/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/vm_installer
index 323ed0a4..240c0a27 100755
--- a/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/vm_installer
+++ b/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/vm_installer
@@ -1,5 +1,7 @@
#!/bin/bash
+# set -x
+
PS=$(which ps)
GREP=$(which grep)
LOGGER=$(which logger)
@@ -18,6 +20,25 @@ case $(${PS} --pid 1 -o comm h) in
else
SERVICEDIR=/usr/lib/systemd/system/
fi
+
+ if [ -L "${SERVICEDIR}/graphical.target.wants/${SERVICEMOUNT}" ] \
+ || [ -L "${SERVICEDIR}/graphical.target.wants/${SERVICEUMOUNT}" ] \
+ || [ -L "${SERVICEDIR}/graphical.target.wants/${SERVICERESOLUTION}" ]; then
+ while [ "$RESCRIPT" != "y" ] && [ "$RESCRIPT" != "n" ]; do
+ RESCRIPTDEF=y
+ read -e -p "There seems to an older install. Delete (y/n, Default is $RESCRIPTDEF, Ctrl-C to exit): " RESCRIPT
+ RESCRIPT="${RESCRIPT:-$RESCRIPTDEF}"
+ done
+ fi
+
+ if [ "${RESCRIPT}" == "y" ]; then
+ # Just unlink stuff...
+ echo "Deleting old links..."
+ unlink "${SERVICEDIR}/graphical.target.wants/${SERVICEMOUNT}" 2>/dev/null
+ unlink "${SERVICEDIR}/shutdown.target.wants/${SERVICEUMOUNT}" 2>/dev/null
+ unlink "${SERVICEDIR}/basic.target.wants/${SERVICERESOLUTION}" 2>/dev/null
+ fi
+
echo "openslx praeinstaller: installing systemd service (mounter) to ${SERVICEDIR}/${SERVICEMOUNT}."
cat <<-HEREDOC > "$SERVICEDIR"/"$SERVICEMOUNT"
[Unit]
@@ -50,30 +71,74 @@ case $(${PS} --pid 1 -o comm h) in
RemainAfterExit=no
THEREDOC
- echo "openslx praeinstaller: installing systemd service (resolution utility) to ${SERVICEDIR}/${SERVICERESOLUTION}."
- cat <<-THEREDOC > "$SERVICEDIR"/"${SERVICERESOLUTION}"
- [Unit]
- Description=openSLX resolution utility
- After=display-manager.service
-
- [Service]
- Type=oneshot
- ExecStartPre=${MKDIR} -p /mnt/diskmount
- ExecStartPre=-${MOUNT} /dev/fd1 /mnt/diskmount
- ExecStart=${LOGGER} "openslx service file: resolution utility started."
- ExecStart=${MOUNTDIR}/linux/resolution
- ExecStart=${LOGGER} "openslx service file: done."
- RemainAfterExit=yes
- THEREDOC
+# This bloc was meant for a resolution setting alternative via xorg.conf.d. As this did not work on time, it's
+# just commented for now due to programmer's laziness, who was too lazy to store it elsewhere.
+# echo
+# echo "openslx praeinstaller: Which resolution script to install?"
+# echo
+# echo "There are two possibilies:"
+# echo ""
+# echo '1) A script which waits until the xserver started, then checks for possible'
+# echo ' modelines (writes one if no sufficient modeline is detected, and waits for'
+# echo ' some time afterwards whether resolution changes again (eg. via display manager'
+# echo ' or such stuff. Fairly stable no more XSetup/Xreset patching.'
+# echo
+# echo '2) Just a screen configuration dropped to xorg.conf.d, which restricts'
+# echo ' possible screen resolutions to just one. This may give trouble when screen,'
+# echo ' monitor etc. are hard-wired elsewhere (xorg.conf, xorg.conf.d).'
+# echo
+#
+# while [ "$RESCRIPT" != "1" ] && [ "$RESCRIPT" != "2" ]; do
+# RESCRIPTDEF=1
+# read -e -p "Well, which one do you choose? (1/2, Default is $RESCRIPTDEF): " RESCRIPT
+# RESCRIPT="${RESCRIPT:-$RESCRIPTDEF}"
+# done
+#
+# case $RESCRIPT in
+# 1) echo "openslx praeinstaller: installing systemd service (resolution utility) to ${SERVICEDIR}/${SERVICERESOLUTION}."
+ echo "openslx praeinstaller: installing systemd service (resolution utility) to ${SERVICEDIR}/${SERVICERESOLUTION}."
+ cat <<-SOMEWHEREDOC > "$SERVICEDIR"/"${SERVICERESOLUTION}"
+ [Unit]
+ Description=openSLX resolution utility
+ After=display-manager.service
+ [Service]
+ Type=oneshot
+ ExecStartPre=${MKDIR} -p /mnt/diskmount
+ ExecStartPre=-${MOUNT} /dev/fd1 /mnt/diskmount
+ ExecStart=${LOGGER} "openslx service file: resolution utility started."
+ ExecStart=${MOUNTDIR}/linux/resolution
+ ExecStart=${LOGGER} "openslx service file: done."
+ RemainAfterExit=yes
+ SOMEWHEREDOC
+# ;;
+# 2) echo "openslx praeinstaller: installing systemd service (xorg.conf.d entry) to ${SERVICEDIR}/${SERVICERESOLUTION}."
+# cat <<-THEREDOC > "$SERVICEDIR"/"${SERVICERESOLUTION}"
+# [Unit]
+# Description=openSLX xorg.conf.d entry
+# Before=display-manager.service
+# [Service]
+# Type=oneshot
+# ExecStartPre=${MKDIR} -p /mnt/diskmount
+# ExecStartPre=-${MOUNT} /dev/fd1 /mnt/diskmount
+# ExecStart=${LOGGER} "openslx service file: resolution utility started."
+# ExecStart=${MOUNTDIR}/linux/xorgconf
+# ExecStart=${LOGGER} "openslx service file: done."
+# RemainAfterExit=yes
+# THEREDOC
+# ;;
+# *) echo "openslx praeinstaller: This should not have happened: RESCRIPT ($RESCRIPT) not set!"
+# exit 1
+# ;;
+#esac
- [ ! -d /etc/systemd/system/graphical.target.wants ] && mkdir /etc/systemd/system/graphical.target.wants 2>/dev/null
- [ ! -d /etc/systemd/system/basic.target.wants ] && mkdir /etc/systemd/system/basic.target.wants 2>/dev/null
- [ ! -d /etc/systemd/system/shutdown.target.wants ] && mkdir /etc/systemd/system/shutdown.target.wants 2>/dev/null
+ [ ! -d "$SERVICEDIR"/graphical.target.wants ] && mkdir "$SERVICEDIR"/graphical.target.wants 2>/dev/null
+ [ ! -d "$SERVICEDIR"/basic.target.wants ] && mkdir "$SERVICEDIR"/basic.target.wants 2>/dev/null
+ [ ! -d "$SERVICEDIR"/shutdown.target.wants ] && mkdir "$SERVICEDIR"/shutdown.target.wants 2>/dev/null
- ln -s "${SERVICEDIR}"/"${SERVICEMOUNT}" /etc/systemd/system/graphical.target.wants/"${SERVICEMOUNT}"
- ln -s "${SERVICEDIR}"/"${SERVICEUMOUNT}" /etc/systemd/system/shutdown.target.wants/"${SERVICEUMOUNT}"
- ln -s "${SERVICEDIR}"/"${SERVICERESOLUTION}" /etc/systemd/system/basic.target.wants/"${SERVICERESOLUTION}"
+ ln -s "${SERVICEDIR}"/"${SERVICEMOUNT}" "$SERVICEDIR"/graphical.target.wants/"${SERVICEMOUNT}"
+ ln -s "${SERVICEDIR}"/"${SERVICEUMOUNT}" "$SERVICEDIR"/shutdown.target.wants/"${SERVICEUMOUNT}"
+ ln -s "${SERVICEDIR}"/"${SERVICERESOLUTION}" "$SERVICEDIR"/basic.target.wants/"${SERVICERESOLUTION}"
echo "openslx praeinstaller: doing systemd reload."
systemctl daemon-reload