From e303cdc1b5f24a71d9e0fea0214f992bcff981d7 Mon Sep 17 00:00:00 2001 From: Dirk von Suchodoletz Date: Tue, 25 Mar 2008 20:21:34 +0000 Subject: Writing distro specific runlevel scripts the trivial way. Should be improved and generalized (to be usable for other plugins too, see #211) git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@1691 95ad53e4-c205-0410-b2fa-d234c58c8868 --- .../plugins/vmware/OpenSLX/OSPlugin/vmware.pm | 124 +-------------------- 1 file changed, 3 insertions(+), 121 deletions(-) (limited to 'os-plugins/plugins/vmware/OpenSLX/OSPlugin/vmware.pm') diff --git a/os-plugins/plugins/vmware/OpenSLX/OSPlugin/vmware.pm b/os-plugins/plugins/vmware/OpenSLX/OSPlugin/vmware.pm index 6a0493ed..fcc0e8e4 100644 --- a/os-plugins/plugins/vmware/OpenSLX/OSPlugin/vmware.pm +++ b/os-plugins/plugins/vmware/OpenSLX/OSPlugin/vmware.pm @@ -233,132 +233,14 @@ sub _writeRunlevelScript my $file = shift; # $location points to the path where vmware helpers are installed - my $script = unshiftHereDoc(<<" End-of-Here"); - #!/bin/sh - # - # generated via stage1 'vmware' plugin install - # inspiration taken from vmware start script: - # Copyright 1998-2007 VMware, Inc. All rights reserved. - # - # This script manages the services needed to run VMware software - - # Basic support for the Linux Standard Base Specification 1.3 - # Used by insserv and other LSB compliant tools. - ### BEGIN INIT INFO - # Provides: VMware - # Required-Start: \$syslog - # Required-Stop: - # Default-Start: 2 3 5 - # Default-Stop: 0 6 - # Short-Description: Manages the services needed to run VMware software - # Description: Manages the services needed to run VMware software - ### END INIT INFO - load_modules() { - # to be filled in via the stage1 configuration script - modprobe -qa vmmon vmnet vmblock 2>/dev/null || echo "Problem here!" - # most probably nobody wants to run the parallel port driver ... - #modprobe vm... - } - unload_modules() { - # to be filled with the proper list within via the stage1 configuration - # script - rmmod vmmon vmblock vmnet 2>/dev/null - } - # the bridged interface - setup_vmnet0() { - if [ -n "\$vmnet0" ] ; then - # the path might be directly point to the plugin dir - $location/vmnet-bridge -d /var/run/vmnet-bridge-0.pid /dev/vmnet0 eth0 - fi - } - # we definately prefer the hostonly interface for NATed operation too - # distinction is made via enabled forwarding - setup_vmnet1() { - if [ -n "\$vmnet1" ] ; then - test -c /dev/vmnet1 || mknod c 119 1 /dev/vmnet1 - # the path might be directly point to the plugin dir - $location/vmnet-netifup -d /var/run/vmnet-netifup-vmnet1.pid \ - /dev/vmnet1 vmnet1 - dhcpif="\$dhcpif vmnet1" - ip addr add \$vmnet1 dev vmnet1 - if [ -n "\$vmnet1nat" ] ; then - # needs refinement interface name for eth0 is known in stage3 already - echo "1" > /proc/sys/net/ipv4/conf/vmnet1/forwarding 2>/dev/null - echo "1" > /proc/sys/net/ipv4/conf/eth0/forwarding 2>/dev/null - #iptables -A -s vmnet1 -d eth0 - fi - fi - } - # incomplete ... - setup_vmnet8() { - if [ -n "\$vmnet8" ] ; then - test -c /dev/vmnet1 || mknod c 119 8 /dev/vmnet8 - # /etc/vmware/vmnet-natd-8.mac simply contains a mac like 00:50:56:F1:30:50 - $location/vmnet-natd -d /var/run/vmnet-natd-8.pid \ - -m /etc/vmware/vmnet-natd-8.mac -c /etc/vmware/nat.conf - dhcpif="\$dhcpif vmnet8" - ip addr add \$vmnet8 dev vmnet8 - fi - } - runvmdhcpd() { - if [ -n "\$dhcpif" ] ; then - # the path might be directly point to the plugin dir - mkdir /var/run/vmware 2>/dev/null - $location/vmnet-dhcpd -cf /etc/vmware/dhcpd.conf -lf \ - /var/run/vmware/dhcpd.leases -pf /var/run/vmnet-dhcpd-vmnet8.pid \$dhcpif - fi - } - - # Ubuntu - # . /lib/lsb/init-functions - # SuSE - # . /etc/rc.status - # rc_reset - case \$1 in - start) - # SuSE - echo -n "Starting vmware background services ..." - # Ubuntu - # log_begin_msg "Starting vmware background services ..." - . /etc/vmware/slxvmconfig - # add a proper error handling ... - load_modules - setup_vmnet0 - setup_vmnet1 - setup_vmnet8 - runvmdhcpd - # message output should match the given vendor-os - # Ubuntu #### - # log_warning_msg "Not starting because of something ... - # SuSE #### - # rc_status -v - ;; - stop) - # message output should match the given vendor-os - echo -n "Stopping vmware background services ..." - killall vmnet-netifup vmnet-natd vmnet-bridge vmware vmplayer \ - vmware-tray 2>/dev/null - # wait for shutting down of interfaces - usleep 50000 - unload_modules - # SuSE - # rc_status -v - ;; - status) - echo "Say something useful here ..." - ;; - esac - # Ubuntu - exit 0 - # SuSE (10.2) - # rc_exit - End-of-Here + # call the distrospecific fillup + my $runlevelScript = $self->{distro}->fillRunlevelScript($location); # OLTA: this backup strategy is useless if invoked twice, so I have # deactivated it # rename($file, "${file}.slx-bak") if -e $file; - spitFile($file, $script); + spitFile($file, $runlevelScript); } 1; -- cgit v1.2.3-55-g7522