summaryrefslogtreecommitdiffstats
path: root/initramfs/initrd-stuff/bin/servconfig
diff options
context:
space:
mode:
authorVolker Uhrig2007-05-31 17:27:44 +0200
committerVolker Uhrig2007-05-31 17:27:44 +0200
commitf48ba1475938756b1ddba7538222c14bc8c7a02a (patch)
treeaaa9098ed7ab80de4fa63483eca1588b04990d0f /initramfs/initrd-stuff/bin/servconfig
parentspecial pcitable.local-addition for the radeon 9200 (diff)
downloadcore-f48ba1475938756b1ddba7538222c14bc8c7a02a.tar.gz
core-f48ba1475938756b1ddba7538222c14bc8c7a02a.tar.xz
core-f48ba1475938756b1ddba7538222c14bc8c7a02a.zip
sync with runvmware-v2
git-svn-id: http://svn.openslx.org/svn/openslx/trunk@1122 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'initramfs/initrd-stuff/bin/servconfig')
-rwxr-xr-xinitramfs/initrd-stuff/bin/servconfig114
1 files changed, 46 insertions, 68 deletions
diff --git a/initramfs/initrd-stuff/bin/servconfig b/initramfs/initrd-stuff/bin/servconfig
index d6871975..028937c8 100755
--- a/initramfs/initrd-stuff/bin/servconfig
+++ b/initramfs/initrd-stuff/bin/servconfig
@@ -104,6 +104,12 @@ echo -e "\t# entries added by $0: $date" >> /mnt/etc/${D_INITDIR}/boot.slx
# * VM images in /usr/share/vmware - then simply link
# * VM images via additional mount (mount source NFS, NBD, ...)
if [ "x$vmware" != "x" ] && [ "x$vmware" != "xno" ] ; then
+ # map slxgrp to pool, so it's better to understand
+ pool=${slxgrp}
+ # if we dont have slxgrp defined
+ if [ -z ${pool} ];then
+ pool=default
+ fi
# get source of vmware image server (get type, server and path)
if [ -n "${imgsrv}" ] ; then
vmimgprot=$(uri_token $imgsrv prot)
@@ -362,76 +368,48 @@ if [ "x$vmware" != "x" ] && [ "x$vmware" != "xno" ] ; then
config_vmware
chmod 1777 /mnt/var/run/vmware
# define a variable where gdm/kdm should look for additional sessions
- export vmsessions=/var/lib/vmware/vmsessions
+ #do we really need it?
+ #export vmsessions=/var/lib/vmware/vmsessions
# create default.desktop for kdm
- echo -e "[Desktop Entry]\nEncoding=UTF-8\nName=Default\n\
-Name[de]=Standard\nExec=/var/X11R6/bin/xdmmenu\nTryExec=/var/X11R6/bin/xdmmenu\n\
-Type=Application" >/mnt/etc/X11/sessions/default.desktop
+ echo "[Desktop Entry]" > /mnt/etc/X11/sessions/default.desktop
+ echo "Encoding=UTF8" >> /mnt/etc/X11/sessions/default.desktop
+ echo "Name=Default" >> /mnt/etc/X11/sessions/default.desktop
+ echo "Name[de]=Standard" >> /mnt/etc/X11/sessions/default.desktop
+ #I dont like this part, but there is no simple workaround. We need to
+ #create xdialog.sh on every box :(
+ #echo "Exec=/var/lib/vmware/xdialog-files/${pool}/xdialog.sh" \
+ echo "Exec=/etc/X11/xdialog.sh" \
+ >> /mnt/etc/X11/sessions/default.desktop
+ echo "Type=Application" >> /mnt/etc/X11/sessions/default.desktop
+ # we configured vmware, so we can delete the not_configured file
rm /mnt/etc/vmware/not_configured 2>/dev/null
- echo -e "#!/bin/sh\n#\n# file generated by ${0} at ${date}\
- \n\nvmstart=\$(echo \$0 | awk -F \"/\" '{print \$NF}')\
- \n\nif [ \"\${vmstart}\" = \"xdmmenu\" ]; then\
- \n /var/X11R6/bin/runvmware --xdm all\
- \n exit 0\
- \nelif [ \"\${vmstart}\" = \"vmmenu\" ]; then\
- \n /var/X11R6/bin/runvmware --xdm vm\
- \n exit 0\
- \nelse\
- \n /var/X11R6/bin/runvmware -s \${vmstart}\
- \nfi\n"\
- > /mnt/var/X11R6/bin/desktop-session
- chmod 755 /mnt/var/X11R6/bin/runvmware /mnt/var/X11R6/bin/desktop-session \
- >/dev/null 2>&1
- # add script for default.desktop
- cd /mnt/var/X11R6/bin
- ln -s desktop-session xdmmenu
- sessions=$(ls /mnt/var/lib/vmware/vmsessions/*.desktop 2>/dev/null)
- # fixme: the following part is to be tested!!
- if [ -n "${sessions}" ]; then
- vmsessionsnr=0
- xdmsessionsnr=0
- for i in /mnt/var/lib/vmware/vmsessions/*.desktop; do
- # only link if in right slxgrp
- slxgrpstr=$(sed \
- 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/;/slxgrp=/!d' ${i} \
- | sed '$!d;s/slxgrp=//')
- slxgrptest="false"
- # FIXME: maybe logfile sometime ;)
- #echo "=${slxgrpstr}="
- if strinstr " ${slxgrp} " " ${slxgrpstr} "; then slxgrptest="true"; fi
- xdmshow=$(sed \
- 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/;/xdm=/!d' ${i} \
- | sed -e '$!d;s/xdm=//')
- if [ -z "${slxgrp}" -o "${slxgrptest}" = "true" ]; then
- #session_name=$(cat ${i} | grep -iw "exec" \
- # | awk -F "=" '{print $2}')
- session_name=$(sed \
- 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/;/^exec=/!d' ${i} \
- | sed '$!d;s,exec.*[/=],,')
- # create session links so that they con be startet via xdm
- cd /mnt/var/X11R6/bin
- ln -s desktop-session ${session_name}
- cd /mnt/etc/X11/sessions/runvmware
- ln -s ${i#/mnt} ${i#/mnt/var/lib/vmware/vmsessions/}
- vmsessionsnr=$(expr `echo ${vmsessionsnr}` + 1)
- # only show in xdm if xdmshow=true
- if [ "${xdmshow}" = "true" ]; then
- cd /mnt/etc/X11/sessions
- sed -e "s,^[E|e][X|x][E|e][C|c]=[^/].*,Exec=/var/X11R6/bin/${session_name}," $i \
- > ${i#/mnt/var/lib/vmware/vmsessions/}
- xdmsessionsnr=$(expr `echo ${xdmsessionsnr}` + 1)
- fi
- fi
- done
- # add script vmimages.desktop only if more windowsimages than shown in xdm
- if [ "${vmsessionsnr}" -gt "${xdmsessionsnr}" ]; then
- echo -e "[Desktop Entry]\nEncoding=UTF-8\nName=Virtual Windows XP Menu\n\
-Name[de]=Virtual Windows XP MenĂ¼\nExec=/var/X11R6/bin/vmmenu\nTryExec=/var/X11R6/bin/vmmenu\n\
-pplication" >/mnt/etc/X11/sessions/vmmenu.desktop
- cd /mnt/var/X11R6/bin
- ln -s desktop-session vmmenu
- fi
- fi
+
+ # copy dhcpd.conf and nat for vmnet8 (nat)
+ cp /mnt/var/lib/vmware/templates/dhcpd.conf /mnt/etc/vmware/vmnet8/dhcpd/
+ cp /mnt/var/lib/vmware/templates/nat.conf /mnt/etc/vmware/vmnet8/nat/
+
+ #directory of templates and xidlaog-files
+ vmdir=/mnt/var/lib/vmware
+ cp ${vmdir}/templates/xdialog.sh /mnt/etc/X11/
+
+ # /usr/share/xsessions/* files for the menu
+ for i in /mnt/usr/share/xsessions/*.desktop; do
+ # execute
+ echo "\"$(grep '^Exec=' ${i}|sed 's/^Exec=//')\" \\" \
+ >> /mnt/etc/X11/xdialog.sh
+ # short description
+ echo "\"$(grep '^Name=' ${i}|sed 's/^Name=//')\" \\" \
+ >> /mnt/etc/X11/xdialog.sh
+ #long description
+ echo "\"$(grep '^Comment=' ${i}|sed 's/^Comment=//')\" \\" \
+ >> /mnt/etc/X11/xdialog.sh
+ done
+
+ #all vmware clients
+ cat ${vmdir}/xdialog-files/${pool}/*.xdialog >> /mnt/etc/X11/xdialog.sh
+ #closing bracket as last line ends with '\'
+ echo ")" >> /mnt/etc/X11/xdialog.sh
+ chmod 755 /mnt/etc/X11/xdialog.sh
fi
# theming