diff options
author | Volker Uhrig | 2008-10-15 13:15:00 +0200 |
---|---|---|
committer | Volker Uhrig | 2008-10-15 13:15:00 +0200 |
commit | 4fb7a17fb2bebcf75a6a7cc9837052f946e4d6a5 (patch) | |
tree | e5de9d53460e7ab9ee91fb4e6930f058e894dd22 /virtualization/menulist-creator | |
parent | * minor fixes like ident, kernel modules, removing not needed (diff) | |
download | core-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-x | virtualization/menulist-creator | 307 |
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 - - |