summaryrefslogtreecommitdiffstats
path: root/virtualization/menulist-creator
diff options
context:
space:
mode:
authorVolker Uhrig2008-10-15 13:15:00 +0200
committerVolker Uhrig2008-10-15 13:15:00 +0200
commit4fb7a17fb2bebcf75a6a7cc9837052f946e4d6a5 (patch)
treee5de9d53460e7ab9ee91fb4e6930f058e894dd22 /virtualization/menulist-creator
parent* minor fixes like ident, kernel modules, removing not needed (diff)
downloadcore-4fb7a17fb2bebcf75a6a7cc9837052f946e4d6a5.tar.gz
core-4fb7a17fb2bebcf75a6a7cc9837052f946e4d6a5.tar.xz
core-4fb7a17fb2bebcf75a6a7cc9837052f946e4d6a5.zip
* due of the plugin system, virtualization folder became
deprecated git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@2315 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'virtualization/menulist-creator')
-rwxr-xr-xvirtualization/menulist-creator307
1 files changed, 0 insertions, 307 deletions
diff --git a/virtualization/menulist-creator b/virtualization/menulist-creator
deleted file mode 100755
index d0ef2950..00000000
--- a/virtualization/menulist-creator
+++ /dev/null
@@ -1,307 +0,0 @@
-#!/bin/bash
-
-################################################################################
-## Creates vmware and vbox (script creation for vbox is not implented yet)
-## runscripts from xmlfiles.
-## Use template file runvmware-v2 for executeables
-##
-##
-## Structure:
-## ${vmdir}/$image.xml configurationfile
-## ${vmdir}/$image.vmdk vmware image file
-## ${vmdir}/$image.vbox vbox image file
-## ${vmdir}/runscripts/$pool/*.vmware vmware runscript
-## ${vmdir}/runscripts/$pool/*.vbox virtualbox runscript
-## ${vmdir}/xdialog-files/$pool/*.xdialog xdialog menu entrys
-## ${vmdir}/xdmsession/$pool/*.desktop .desktop files for xdm,
-## if xdm = true in xml
-## ${vmdir}/templates/runvmware-v2 image exec template script
-################################################################################
-
-#TODO: check first if this xml file should be used, if not jump out of the
-# while loop. reducee checks and resources
-
-# Just needed if vmdir is somewhere else
-vmdir="." && cd ${vmdir}
-
-# were is vmdir, after we mountet this folder?
-vmexecdir="/var/lib/vmware"
-
-# template for runvmware
-templatevmware="${vmdir}/templates/runvmware-v2"
-
-# delete all priority files
-rm -rf ${vmdir}/xdialog-files/${i}/[0-9]_*.vmware
-
-# Take all xml files and work with them
-for xml in *.xml;do
-
- # converts the XML file to utf-8, whyever we need that
- # inefficient here, because we don't need utf-8 for every xml file
- # but most secure place. Else the structure gets screwed.
- #TODO: perhaps we can kick out the whole UTF-8 shit, if the admins
- # are not able to give us the correct format, we shouldnt fix it
- iconv -c -f utf-8 -t utf-8 < ${xml} > ${xml}.utf
-
-
- ##############################################################################
- ## get needed information from xml file and check them if needed
- ##############################################################################
-
-
- # get image name
- image=$(grep -i "<image_name param=\"" ${xml} | awk -F "\"" '{ print $2 }')
-
- # Test if correct defined
- image_type=$(echo ${image}|sed 's%.*\.%%')
- if [ "${image_type}" != "vmdk" -a "${image_type}" != "vdi" ]; then
- # TODO: Test
- echo "PANIC, image is not correct defined in ${xml}."
- echo "Image has to end with vdi or vmdk!"
- fi
-
- # Test if image is available
- if [ ! -f ../${image} ]; then
- echo "PANIC, image defined in ${xml} not available"
- fi
-
-
- # get information if the current image should be used
- # active when active=1 image, else disabled
- active=$(grep -i "<active param=\"true\"" ${xml} | wc -l)
-
- #TODO: perhaps we should force an active flag, too
-
-
- # get list where the current image should be used
- pools=$(grep -i "<pools param=\"" ${xml} | awk -F "\"" '{ print $2 }')
-
- # we need the pool configuration
- if ! [ "${pools}" ]; then
- echo "PANIC, pools not correct defined in ${xml}"
- fi
-
-
- # Virtualmachine (vmware or virtualbox)?
- vm=$(grep -i "<virtualmachine param=\"" ${xml} | awk -F "\"" '{ print $2 }')
- # Test if correct defined
- if [ "${vm}" != "vbox" -a "${vm}" != "vmware" ]; then
- echo "PANIC, virtualmachine not correct defined in ${xml}"
- fi
-
- # Test if vbox and wrong image
- if [ "${vm}" = "vbox" -a "${image_type}" != "vdi" ]; then
- # TODO: Test
- echo "PANIC, virtualmachine vbox cant use image type defined in ${xml}"
- fi
-
- # Test if vmware and wrong image
- if [ "${vm}" = "vmware" -a "${image_type}" != "vmdk" ]; then
- # TODO: Test
- echo "PANIC, virtualmachine vmware cant use image type defined in ${xml}"
- fi
-
-
- # Connectiontype of vm (nat or bridged)?
- network=$(grep -i "<network param=\"" ${xml} | awk -F "\"" '{ print $2 }')
-
- # Test if correct defined
- if [ "${network}" != "nat" -a "${network}" != "bridged" ]; then
- # TODO: test
- echo "PANIC, network connection not correct defined in ${xml}"
- fi
-
-
- # os running in vmware?
- os=$(grep -i "<os param=\"" ${xml} | awk -F "\"" '{ print $2 }')
- if [ "${os}" != "Linux" -a "${os}" != "winxppro" -a "${os}" != "Windows 2000" ]; then
- # TODO: test
- echo "PANIC, OS in virtual machine not correct defined in ${xml}"
- fi
-
-
- # get short image description
- short_description=$(grep "short_description param=\"" ${xml}.utf |
- sed -e "s%&.*;%; %g" | awk -F "\"" '{print $2}')
- # if ${short_description} not defined use ${image}
- short_description=${short_description:-"${image}"}
-
-
- # Get the long image description
- long_description=$(grep "long_description param=\"" ${xml}.utf |
- sed -e "s%&.*;%; %g" | awk -F "\"" '{print $2}')
-
-
- # Informations if we need for XDM
- xdm=$(grep "xdm param=\"" ${xml} | awk -F "\"" '{print $2}')
-
- # Test if correct defined
- if [ "${xdm}" != "true" -a "${xdm}" != "false" ]; then
- # TODO: test
- echo "PANIC, XDM usage not correct defined in ${xml}"
- fi
-
- # Get priority, use it for important Images in Xdialog
- priority=$(grep "priority param=\"" ${xml} | awk -F "\"" '{print $2}')
-
- ##############################################################################
- ## main part,
- ##############################################################################
- # Main part, creates desktopentrys and image run scripts
-
- # TODO: Perhaps its better if we put runscripts, xdmsessions and
- # xdialog-files in one big folder with subfolder runscripts,
- # xdmsessions, xdialog-files
-
- # check if ${vmdir}/runscripts/ is available
- if [ ! -d ${vmdir}/runscripts ]; then
- mkdir ${vmdir}/runscripts
- fi
-
- # check if ${vmdir}/xdmsessions/ for .desktop files is available
- if [ ! -d ${vmdir}/xdmsessions ]; then
- mkdir ${vmdir}/xdmsessions
- fi
-
- # check if ${vmdir}/xdmsessions/ for .desktop files is available
- if [ ! -d ${vmdir}/xdialog-files ]; then
- mkdir ${vmdir}/xdialog-files
- fi
-
- # work with the different pools and...
- for i in ${pools}; do
- # ... make sure we have the different pool directorys, else create it
- if [ ! -d ${vmdir}/runscripts/${i} ]; then
- mkdir -p ${vmdir}/runscripts/${i}
- fi
- if [ ! -d ${vmdir}/xdmsessions/${i} ]; then
- mkdir -p ${vmdir}/xdmsessions/${i}
- fi
- if [ ! -d ${vmdir}/xdialog-files/${i} ]; then
- mkdir -p ${vmdir}/xdialog-files/${i}
- fi
- # ... remove startscript, xdmsessions and Xdialog files if it isn't active.
- if [ ${active} -ne 1 ]; then
- if [ -f ${vmdir}/runscripts/*/${image}.vmware \
- -o -f runscripts/*/${image}.virtualbox ]; then
- rm -rf ${vmdir}/runscripts/*/${image}.*
- rm -rf ${vmdir}/xdmsessions/*/${image}.desktop
- rm -rf ${vmdir}/xdialog-files/*/${image}.xdialog
- fi
- fi
-
-
- # ... create desktopentry
- if [ ${active} -eq 1 -a ${xdm} = "true" ]; then
-
- # create desktopentry
- #echo -e "\nCreating xdm entry for ${image} and pool ${i}\n"
- # create the desktopentry
- #TODO: change it with < EOF, >> isnt nice for so much lines
- echo "Desktop entry for ${image}" \
- >> ${vmdir}/xdmsessions/${i}/${image}.desktop
- echo "[Desktop Entry]" > ${vmdir}/xdmsessions/${i}/${image}.desktop
- echo "X-SuSE-translate=true" \
- >> ${vmdir}/xdmsessions/${i}/${image}.desktop
- echo "Encoding=UTF-8" >> ${vmdir}/xdmsessions/${i}/${image}.desktop
- echo "Type=XSession" >> ${vmdir}/xdmsessions/${i}/${image}.desktop
- #TODO: Fix path
- if [ "${vm}" = "vmware" ];then
- echo "Exec=${vmexecdir}/runscripts/${i}/${image}.vmware" \
- >> ${vmdir}/xdmsessions/${i}/${image}.desktop
- else # it will be virtualbox
- echo "Exec=${vmexecdir}/runscripts/${i}/${image}.virtualbox" \
- >> ${vmdir}/xdmsessions/${i}/${image}.desktop
- fi
- echo "Name=${short_description}" \
- >> ${vmdir}/xdmsessions/${i}/${image}.desktop
- echo "Comment=${comment}" >> ${vmdir}/xdmsessions/${i}/${image}.desktop
- #TODO: I dont like SLXGrp as variable herein, why we need it here?
- #echo "SLXGrp=${pools}" >> ${vmdir}/xdmsessions/${i}/${image}.desktop
- #TODO: do we need XDM configuration? -> Chemie pool
- #echo "XDM=${xdm}" >> ${vmdir}/xdmsessions/${i}/${image}.desktop
- fi
-
-
- # If we have vmware, build executeable from template and
- # Xdialog menu entrys
- if [ "${vm}" = "vmware" -a "${active}" -eq 1 ]; then
-
- # virtualmachine executable form template
- sed -e "s/imagename=\"CHANGEIT\"/imagename=\"${image}\"/" \
- -e "s%displayname=\"CHANGEIT\"%displayname=\"${short_description}\"%" \
- -e "s/vmostype=\"CHANGEIT\"/vmostype=\"${os}\"/" \
- -e "s/network=\"CHANGEIT\"/network=\"${network}\"/" \
- ${templatevmware} \
- > ${vmdir}/runscripts/${i}/${image}.vmware
- chmod 755 ${vmdir}/runscripts/${i}/${image}.vmware
-
-
- # Xdialog menu entrys
- echo -e "\"${vmexecdir}/runscripts/${i}/${image}.vmware\" \\
- \"${short_description}\" \\
- \"${long_description}\" \\" \
- > ${vmdir}/xdialog-files/${i}/${image}.xdialog
-
-
- # If we have a priority defined we rename the file
- if [ ${priority} ]; then
- mv ${vmdir}/xdialog-files/${i}/${image}.xdialog \
- ${vmdir}/xdialog-files/${i}/${priority}_${image}.xdialog
- fi
-
-
-
- # if we have virtualbox, part here can only be vbox cause check above
- # TODO: i dont like this construction, fix it later
- else
- if [ "${active}" -eq 0 ];then
- echo "${image} isnt enabled"
- else
- echo "Currently Virtualbox isn't implented"
- fi
- fi
-
- done
-
-done
-
-
-# test if we still have this xml file, else we can delete the old entry
-for i in xdmsessions/*/*.desktop; do
- # get the name, cut all the folder information and file prefix off
- name=$(echo ${i} |sed 's/.*\///' | sed 's/.vmdk.desktop//' | sed 's/.vbox.desktop//' | sed 's/^[0-9]_//')
- # if not available as xml delete it
- if [ ! -f ${name}.xml ]; then
- echo "delete file ./${i}, no matching xml found"
- rm -rf ${i}
- fi
-done
-
-
-# test if we still have this xml file, else we can delete the old entry
-for i in xdialog-files/*/*.xdialog; do
- # get the name, cut all the folder information and file prefix off
- name=$(echo ${i} |sed 's/.*\///' | sed 's/.vmdk.xdialog//' | sed 's/.vbox.xdialog//' | sed 's/^[0-9]_//')
- # if not available as xml delete it
- if [ ! -f ${name}.xml ]; then
- echo "delete file ./${i}, no matching xml found"
- rm -rf ${i}
- fi
-done
-
-
-# Building Xdialog executable for each pool
-for i in ${vmdir}/xdialog-files/*; do
- cp ${vmdir}/templates/xdialog.sh ${i}
- cat ${i}/*.xdialog >> ${i}/xdialog.sh
- #closing bracket as last line invoked with \
- echo ")" >> ${i}/xdialog.sh
- chmod 755 ${i}/xdialog.sh
-done
-
-
-# Delete all .utf files, we dont need them anymore
-rm -f *.xml.utf
-
-