From cc1e028c1c402b2c29d119b29b258c62d0ce086a Mon Sep 17 00:00:00 2001 From: Michael Neves Date: Fri, 3 May 2013 19:30:05 +0200 Subject: delete old vmchooser dir --- .../data/opt/openslx/vmchooser/bin/run-virt.sh | 440 --------------------- .../data/opt/openslx/vmchooser/bin/vmplayer | 8 - .../data/opt/openslx/vmchooser/bin/vmware | 8 - .../data/opt/openslx/vmchooser/bin/xmlfilter.sh | 50 --- 4 files changed, 506 deletions(-) delete mode 100755 remote/modules/vmchooser/data/opt/openslx/vmchooser/bin/run-virt.sh delete mode 100755 remote/modules/vmchooser/data/opt/openslx/vmchooser/bin/vmplayer delete mode 100755 remote/modules/vmchooser/data/opt/openslx/vmchooser/bin/vmware delete mode 100755 remote/modules/vmchooser/data/opt/openslx/vmchooser/bin/xmlfilter.sh diff --git a/remote/modules/vmchooser/data/opt/openslx/vmchooser/bin/run-virt.sh b/remote/modules/vmchooser/data/opt/openslx/vmchooser/bin/run-virt.sh deleted file mode 100755 index b3863a2e..00000000 --- a/remote/modules/vmchooser/data/opt/openslx/vmchooser/bin/run-virt.sh +++ /dev/null @@ -1,440 +0,0 @@ -#!/bin/bash -# ----------------------------------------------------------------------------- -# Copyright (c) 2007..2010 - RZ Uni FR -# Copyright (c) 2007..2011 - OpenSLX GmbH -# -# This program is free software distributed under the GPL version 2. -# See http://openslx.org/COPYING -# -# If you have any feedback please consult http://openslx.org/feedback and -# send your suggestions, praise, or complaints to feedback@openslx.org -# -# General information about OpenSLX can be found at http://openslx.org/ -# ----------------------------------------------------------------------------- -# run-virt.sh -# - This is the generic wrapper for the several virtualization solutions. -# The idea is to setup a set of variables used by at least two different -# tools and then include the specific plugin which configures the speci- -# fied virtualization tool. -################################################################################ - -. /etc/opt/openslx/openslx.conf - -################################################################################ -### Define default dirs / get configs -################################################################################ - -PLUGINCONFROOT=${OPENSLX_DEFAULT_CONFDIR}/plugins -PLUGINCONFDIR=${PLUGINCONFROOT}/vmchooser -# include general configuration from vmchooser -[ -f ${PLUGINCONFROOT}/vmchooser/vmchooser.conf ] && \ - . ${PLUGINCONFROOT}/vmchooser/vmchooser.conf -# load general virtualization information -[ -f ${PLUGINCONFROOT}/virtualization/virtualization.conf ] && \ - . ${PLUGINCONFROOT}/virtualization/virtualization.conf - -################################################################################ -### Functions used throughout the script -################################################################################ - -# function to write to stdout and logfile -LOGFILE=${OPENSLX_DEFAULT_LOGDIR}/run-virt.${USER}.$$.log -writelog () { - # write to stdout - echo -e "$1" - # log into file - echo -e "$1" >> ${LOGFILE} -} - -# remove config dirs when exit -cleanexit () { - if echo "${RMDIRS}" 2>/dev/null | grep -q ${xmlvirt}; then - writelog "${xmlvirt} exited. Cleanning up... \c" - rm -rf ${RMDIRS} >/dev/null 2>&1 - writelog "done" - fi - - exit "$1" -} - -# check for important files used -filecheck () -{ - filecheck=$(LANG=us ls -lh ${diskfile} 2>&1) - writelog "Filecheck:\n${filecheck}\n" - noimage=$(echo ${filecheck} | grep -i "no such file or directory" | wc -l) - rightsfile=${diskfile} - - # check if link - if [ -L "${diskfile}" ]; then - # take link target - rightsfile=$(ls -lh ${diskfile} 2>&1 | awk -F '-> *' '{print $2}') - rightsfile=${vmdir}/${rightsfile} - filecheck=$(LANG=us ls -lh ${rightsfile} 2>&1) - fi - - # does file exist - if [ "${noimage}" -ge "1" ]; then - writelog "Virtual Machine Image Problem:\c " - writelog "\tThe image you've specified doesn't exist." - writelog "Filecheck says:\c " - writelog "\t\t${diskfile}:\n\t\t\tNo such file or directory" - writelog "Hint:\c " - writelog "\t\t\tCompare spelling of the image with your options.\n" - exit 1 - fi - - # readable by calling user - if ! [ -r "${diskfile}" >/dev/null 2>&1 \ - -o -r "${diskfile}" >/dev/null 2>&1 ]; then - writelog "Vmware Image Problem:\c " - writelog "\tThe image you've specified has wrong rights." - writelog "Filecheck says:\t\t$(echo ${filecheck} \ - | awk '{print $1" "$3" "$4}') ${rightsfile}" - writelog "Hint:\t\t\tChange rights with: chmod a+r ${rightsfile}\n" - exit 1 - fi - - # writable (for persistent-mode)? - if ! [ -w "${diskfile}" >/dev/null 2>&1 \ - -o -w "${diskfile}" >/dev/null 2>&1 ] \ - && [ "${np}" = "independent-persistent" ]; then - writelog "Vmware Image Problem:\c " - writelog "\tThe image you have specified has wrong rights." - writelog "Filecheck says:\t\t$(echo ${filecheck} \ - | awk '{print $1" "$3" "$4}') ${rightsfile}" - writelog "Hint:\t\t\tUse nonpersistent-mode or change rights to rw\n" - exit 1 - fi -} - -################################################################################ -### Get XML file and dir -################################################################################ - -# absolute or relative path? -xmlfile=$1 -if ls ${xmlfile} 2>/dev/null | grep '/' >/dev/null 2>&1; then - xmlpath=$(dirname ${xmlfile}) - xmlfile=$(basename ${xmlfile}) -else - xmlpath=${vmchooser_xmlpath} -fi -# full path -xmlfile="${xmlpath}/${xmlfile%.xml}.xml" - -################################################################################ -### Sanity checks -################################################################################ - -# test if the xml file is valid -if ! [ -r "${xmlfile}" ]; then - writelog "${xmlfile} not a readable XML file!" - exit 1 -fi - -# test if XML file -if ! grep '/dev/null 2>&1; then - writelog \ - "Submitted configuration file ${xmlfile} seems to have wrong XML format" - exit 1 -fi - -# check for running in graphical environment otherwise no much use here -[ -z "$DISPLAY" ] && echo -e "\n\tStart only within a graphical desktop!\n" \ - && exit 1 - -################################################################################ -### Logo for console -################################################################################ - -cat </dev/null | grep -q '^/' >/dev/null 2>&1; then - imgpath=$(dirname ${imgname}) - imgname=$(basename ${imgname}) - vmpath=${imgpath}/${imgname} -# If old vmchooser binary stuff -# We do not need folder name as it is already included by vmchooser -elif echo ${xmlfile} 2>/dev/null | grep -q '^/tmp/' >/dev/null 2>&1; then - vmpath=$imgname - imgname=$(basename ${imgname}) -# Else use same path as xml -else - imgpath=${xmlpath} - vmpath=${imgpath}/${imgname} -fi - -# Check if virtual machine container file exists -if ! [ -e "${vmpath}" ]; then - writelog "Virtual machine image ${vmpath} not found!" - exit 1 -fi - -# Name of the virt machine, sed because of Windows formatting -vm_name=$(grep -o 'short_description param=.*"' ${xmlfile} \ - | sed -e "s/&.*;/; /g" | awk -F '"' '{print $2}') -# If ${vm_name} not defined use ${xmlfile} -vm_name=${vm_name:-${xmlfile%.xml}} - -# Define vm_shortname since vm_name can be very long -vm_shortname=$(basename ${xmlfile%.xml} | sed -e "s, ,-,g") - -# vm_name = displayname, define for old scripts -displayname=${vm_name} - -# image is for the following virtual machine -xmlvirt=$(grep -o 'virtualmachine param=.*"' ${xmlfile} \ - | sed -e "s/&.*;/; /g" | awk -F '"' '{print $2}') - -# choose the proper virtualization/emulator plugin -[ "x${xmlvirt}" != "x" -a "x${xmlvirt}" != "xqemukvm" -a \ - "x${xmlvirt}" != "xvirtualbox" -a "x${xmlvirt}" != "xvmware" ] && \ - xmlvirt="emufe" - -# make a guess from the filename extension if ${xmlvirt} is empty -# (not set within the XML file) -# TODO: implement possibility to submit own configuration files -if [ -z "${xmlvirt}" ] && [ -n "${additional_config}" ]; then - writelog "No virtual machine parameter defined in ${xmlfile}" - writelog "Trying to guess VM...\c" - case "$(cat ${additional_config} | tr \"[A-Z]\" \"[a-z]\")" in - *config.version*|*virtualhw.version*|*independent-nonpersistent*|*vmdk*) - xmlvirt="vmware" - ;; - *innotek*|*virtualbox*) - xmlvirt="virtualbox" - ;; - *qemu*|*kvm*) - xmlvirt="qemukvm" - ;; - *) - xmlvirt="none" - ;; - esac -elif [ -z "${xmlvirt}" ]; then - case "$(echo ${imgname##*.} | tr \"[A-Z]\" \"[a-z]\")" in - vmdk) - xmlvirt="vmware" - ;; - vbox|vdi) - xmlvirt="virtualbox" - ;; - qcow*) - xmlvirt="qemukvm" - ;; - *) - xmlvirt="emufe" - ;; - esac - writelog "result:\t${xmlvirt}" -fi - -# Definition of the client system -vmostype=$(grep -io '/dev/null| grep -ve "^$") -xres=$(echo "${hostres}" | awk '{print $3}') -yres=$(echo "${hostres}" | awk '{print $7}') - -# Resolution defined via xml parameter: fullscreen, full/X*Y/depth; windowed, -# win/X*Y/depth -userres=$(grep -io '/dev/null | \ - awk -F '=' {'print $2'} | tr "[A-Z]" "[a-z]") - -# Add rw share -sharepath="${HOME}" -sharename="home" - -# Set hostname: using original hostname and adding string -hostname="virt-$(hostname)" - -writelog "\tVM Hostname:\t\t$hostname" - -################################################################################ -### Setup the rest of the environment and run the configured vm -################################################################################ - -# Adjust sound volume -writelog "Unmuting sound...\c " -amixer -q sset Master 80% unmute 2>/dev/null -amixer -q sset PCM 80% unmute 2>/dev/null -amixer -q sset CD 80% unmute 2>/dev/null -amixer -q sset Headphone 80% unmute 2>/dev/null -amixer -q sset Front 80% unmute 2>/dev/null # in SUSE 11.0 it's headphone -amixer -q sset Speaker 80% unmute 2>/dev/null # annoying built-in speaker -writelog "finished\n" - -# Copy guest configuration (with added information) config.xml to be accessed -# via virtual floppy -# fixme -> to be changed (vmchooser adapts the file content!?) -#TODO: wozu echo? -#echo "Please fix the config.xml generation" -cp ${xmlfile} ${PLUGINCONFDIR}/fd-loop/config.xml - -# Get all virtual machine specific stuff from the respective include file -if [ -e ${PLUGINCONFROOT}/${xmlvirt}/run-virt.include ] ; then - self=${xmlvirt} - . ${PLUGINCONFROOT}/${xmlvirt}/run-virt.include - # start a windowmanager for easier handling - # (expect problems /w windows opening in background /w vmware without wm) - for dm in xfwm4 metacity openbox blackbox kwin fvwm2 ; do - if which $dm >/dev/null 2>&1 ; then - if [ "$dm" = "fvwm2" ] ; then - echo "EdgeScroll 0 0" > ${redodir}/fvwm - fvwm2 -f ${redodir}/fvwm >/dev/null 2>&1 & - else - $dm >/dev/null 2>&1 & - fi - break - fi - done - # Start poolvideoswitch if we find the autostarter file - if [ -e /etc/xdg/autostart/pvsgui.desktop ]; then - /usr/local/bin/pvsgui -p 2 -b >/dev/null 2>&1 & - fi - eval ${VIRTCMD} ${VIRTCMDOPTS} - writelog "Bye." - - # Postrun for commands after virtualization finishes - if [ -n "${POSTRUN}" ]; then - eval ${POSTRUN} >/dev/null 2>&1 - fi - - cleanexit 0 -else - writelog "Failed because of missing ${xmlvirt} plugin." - cleanexit 1 -fi - -# Postrun for commands after virtualization finishes -if [ -n "${POSTRUN}" ]; then - eval ${POSTRUN} >/dev/null 2>&1 -fi - -cleanexit 0 -exit 0 diff --git a/remote/modules/vmchooser/data/opt/openslx/vmchooser/bin/vmplayer b/remote/modules/vmchooser/data/opt/openslx/vmchooser/bin/vmplayer deleted file mode 100755 index c9b57a65..00000000 --- a/remote/modules/vmchooser/data/opt/openslx/vmchooser/bin/vmplayer +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# written by OpenSLX-plugin 'vmware' in Stage1 -# radically simplified version of the original script vmplayer by VMware Inc. -PREFIX=/usr/lib/vmware # depends on the vmware location -exec "$PREFIX"'/lib/wrapper-gtk24.sh' \ - "$PREFIX"'/lib' \ - "$PREFIX"'/bin/vmplayer' \ - "$PREFIX"'/libconf' "$@" diff --git a/remote/modules/vmchooser/data/opt/openslx/vmchooser/bin/vmware b/remote/modules/vmchooser/data/opt/openslx/vmchooser/bin/vmware deleted file mode 100755 index 8b568f53..00000000 --- a/remote/modules/vmchooser/data/opt/openslx/vmchooser/bin/vmware +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# written by OpenSLX-plugin 'vmware' in Stage1 -# radically simplified version of the original script vmware by VMware Inc. -PREFIX=/usr/lib/vmware # depends on the vmware location -exec "$PREFIX"'/lib/wrapper-gtk24.sh' \ - "$PREFIX"'/lib' \ - "$PREFIX"'/bin/vmware' \ - "$PREFIX"'/libconf' "$@" diff --git a/remote/modules/vmchooser/data/opt/openslx/vmchooser/bin/xmlfilter.sh b/remote/modules/vmchooser/data/opt/openslx/vmchooser/bin/xmlfilter.sh deleted file mode 100755 index ded5d114..00000000 --- a/remote/modules/vmchooser/data/opt/openslx/vmchooser/bin/xmlfilter.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/bash -# ----------------------------------------------------------------------------- -# Copyright (c) 2007..2009 - RZ Uni FR -# Copyright (c) 2007..2011 - OpenSLX GmbH -# -# This program is free software distributed under the GPL version 2. -# See http://openslx.org/COPYING -# -# If you have any feedback please consult http://openslx.org/feedback and -# send your suggestions, praise, or complaints to feedback@openslx.org -# -# General information about OpenSLX can be found at http://openslx.org/ -# ----------------------------------------------------------------------------- -# xmlfilter.sh -# - This script is invoked by the vmchooser tool. It simply filters xml- -# files (taking the path to these files in $1). You might modify it in any -# way to match your needs, e.g. ask some database instead. You can re- -# implement it in any other programming language too. You simply have to -# return a list of proper xml files to be interpreted by the vmchooser -# binary). Please check for vmchooser.sh too ... -# ----------------------------------------------------------------------------- - -# This script . -# -# currently: -# - filter for slxgrp (which comes from /etc/machine-setup) -# - -# include default directories -. /etc/opt/openslx/openslx.conf - -if [ -f ${OPENSLX_DEFAULT_CONFDIR}/plugins/vmchooser/vmchooser.conf ]; then - . ${OPENSLX_DEFAULT_CONFDIR}/plugins/vmchooser/vmchooser.conf -fi - -for FILE in $(find $1 -iname "*.xml"); do - # filter all xmls which aren't set active - if [ $(grep "/dev/null; then +if grep "Ubuntu 13.04" "/etc/issue" >/dev/null; then EXPORT="132.230.8.113:/srv/ubuntu1304" elif grep "SUSE" "/etc/issue" >/dev/null; then EXPORT="132.230.8.113:/srv/suse" -- cgit v1.2.3-55-g7522 From 759b8679d66db684bd68831d2062b1f7915ea949 Mon Sep 17 00:00:00 2001 From: Michael Neves Date: Thu, 9 May 2013 18:30:58 +0200 Subject: workaround: add symlink to old location or run-virt. TODO: adjust old openslx paths in vmchooser git --- remote/modules/vmchooser/data/var/opt/openslx/bin/run-virt.sh | 1 + 1 file changed, 1 insertion(+) create mode 120000 remote/modules/vmchooser/data/var/opt/openslx/bin/run-virt.sh diff --git a/remote/modules/vmchooser/data/var/opt/openslx/bin/run-virt.sh b/remote/modules/vmchooser/data/var/opt/openslx/bin/run-virt.sh new file mode 120000 index 00000000..ea04a6ad --- /dev/null +++ b/remote/modules/vmchooser/data/var/opt/openslx/bin/run-virt.sh @@ -0,0 +1 @@ +/opt/openslx/bin/run-virt.sh \ No newline at end of file -- cgit v1.2.3-55-g7522 From 119ba7bff3d83e4ce416e089ffd7acc464bc4123 Mon Sep 17 00:00:00 2001 From: Michael Neves Date: Thu, 9 May 2013 19:01:47 +0200 Subject: fix Failsafe --- remote/modules/xorg/data/etc/X11/Xsession | 34 ++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/remote/modules/xorg/data/etc/X11/Xsession b/remote/modules/xorg/data/etc/X11/Xsession index 529208cd..a9b3d43b 100644 --- a/remote/modules/xorg/data/etc/X11/Xsession +++ b/remote/modules/xorg/data/etc/X11/Xsession @@ -3,4 +3,36 @@ #Workaround to start Xsession. The original Xsession script includes error handling functionality and sources other scrips from the Xsession.d/ directory. #start selected session -exec $1 + case "$1" in + failsafe) + # Failsafe session was requested. + if [ -e /usr/bin/xterm ]; then + if [ -x /usr/bin/xterm ]; then + exec xterm -geometry +1+1 + else + # fatal error + errormsg "unable to launch failsafe X session ---" \ + "x-terminal-emulator not executable; aborting." + fi + else + # fatal error + errormsg "unable to launch failsafe X session ---" \ + "x-terminal-emulator not found; aborting." + fi + ;; + *) + # Specific program was requested. + STARTUP_FULL_PATH=$(/opt/openslx/usr/bin/which "${1%% *}" || true) + if [ -n "$STARTUP_FULL_PATH" ] && [ -e "$STARTUP_FULL_PATH" ]; then + if [ -x "$STARTUP_FULL_PATH" ]; then + exec $1 + else + message "unable to launch \"$1\" X session ---" \ + "\"$1\" not executable; falling back to default session." + fi + else + message "unable to launch \"$1\" X session ---" \ + "\"$1\" not found; falling back to default session." + fi + ;; + esac -- cgit v1.2.3-55-g7522