summaryrefslogtreecommitdiffstats
path: root/os-plugins/plugins/vmware/OpenSLX/OSPlugin/vmware.pm
diff options
context:
space:
mode:
authorVolker Uhrig2008-10-08 19:39:06 +0200
committerVolker Uhrig2008-10-08 19:39:06 +0200
commit8f968388b6ab1ea7c3b9813c1103e61425c330c6 (patch)
tree5fae3f2c0d1da4545b84a7f4de2cff4d24190821 /os-plugins/plugins/vmware/OpenSLX/OSPlugin/vmware.pm
parentxserver: * suse-11.0 nvidia install script removes rpms before downloading. (diff)
downloadcore-8f968388b6ab1ea7c3b9813c1103e61425c330c6.tar.gz
core-8f968388b6ab1ea7c3b9813c1103e61425c330c6.tar.xz
core-8f968388b6ab1ea7c3b9813c1103e61425c330c6.zip
* preparation for vmpl2.5 installation
* extracting works... if there's no real reason to touch their installer: don't use it at all. And don't try to understand the reason for their way... git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@2268 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'os-plugins/plugins/vmware/OpenSLX/OSPlugin/vmware.pm')
-rw-r--r--os-plugins/plugins/vmware/OpenSLX/OSPlugin/vmware.pm76
1 files changed, 72 insertions, 4 deletions
diff --git a/os-plugins/plugins/vmware/OpenSLX/OSPlugin/vmware.pm b/os-plugins/plugins/vmware/OpenSLX/OSPlugin/vmware.pm
index ce2d5fe2..6daf8b5a 100644
--- a/os-plugins/plugins/vmware/OpenSLX/OSPlugin/vmware.pm
+++ b/os-plugins/plugins/vmware/OpenSLX/OSPlugin/vmware.pm
@@ -168,6 +168,17 @@ sub getAttrInfo
content_descr => '1 means active - 0 means inactive',
default => '0',
},
+ 'vmware::vmpl2.5' => {
+ applies_to_vendor_os => 1,
+ applies_to_system => 0,
+ applies_to_clients => 0,
+ description => unshiftHereDoc(<<' End-of-Here'),
+ Install and configure vmplayer v2
+ End-of-Here
+ content_regex => qr{^(1|0)$},
+ content_descr => '1 means active - 0 means inactive',
+ default => '0',
+ },
'vmware::vmpl1.0' => {
applies_to_vendor_os => 1,
applies_to_system => 0,
@@ -213,9 +224,10 @@ sub preInstallationPhase()
my $pkgpath = $self->{attrs}->{'vmware::pkgpath'};
my $vmpl10 = $self->{attrs}->{'vmware::vmpl1.0'};
my $vmpl20 = $self->{attrs}->{'vmware::vmpl2.0'};
+ my $vmpl25 = $self->{attrs}->{'vmware::vmpl2.5'};
my $local = $self->{attrs}->{'vmware::local'};
- if ($local == 0 && $vmpl10 == 0 && $vmpl20 == 0) {
+ if ($local == 0 && $vmpl10 == 0 && $vmpl20 == 0 && $vmpl20 == 0) {
print "\n\n * At least one kind needs to get installed/activated:\n";
print " vmware::local=1 or\n";
print " vmware::vmpl1.0=1 or\n";
@@ -224,14 +236,14 @@ sub preInstallationPhase()
exit 1;
}
- if (! -d $pkgpath && ($vmpl10 == 1 || $vmpl20 == 1)) {
+ if (! -d $pkgpath && ($vmpl10 == 1 || $vmpl20 == 1 || $vmpl25 == 1)) {
print "\n\n * vmware::pkgpath: no such directory!\n";
print " * vmware plugin was not installed!\n\n";
exit 1;
}
# test just for the case we only set up local vmware
- if (-d $pkgpath && ($vmpl10 == 1 || $vmpl20 == 1)) {
+ if (-d $pkgpath && ($vmpl10 == 1 || $vmpl20 == 1 || $vmpl25 == 1)) {
# todo: ask oliver about a similiar function
# like copyFile() just for directorys
# or fix the manual after checked the source of
@@ -267,6 +279,9 @@ sub installationPhase
if ($self->{attrs}->{'vmware::vmpl1.0'} == 1) {
$self->_vmpl1Installation();
}
+ if ($self->{attrs}->{'vmware::vmpl2.5'} == 1) {
+ $self->_vmpl25Installation();
+ }
## prepration for our faster wrapper script
# rename the default vmplayer script and create a link.
@@ -336,10 +351,17 @@ sub checkStage3AttrValues
if ($vm_kind eq 'vmpl2.0' &&
! -d "/opt/openslx/plugin-repo/vmware/vmpl2.0/vmroot") {
push @problems, _tr(
- "No OpenSLX installation of VMware Player 2 found or installation failed. Using it as virtual machine wouldn't work!"
+ "No OpenSLX installation of VMware Player 2.0 found or installation failed. Using it as virtual machine wouldn't work!"
);
}
+ if ($vm_kind eq 'vmpl2.5' &&
+ ! -d "/opt/openslx/plugin-repo/vmware/vmpl2.5/vmroot") {
+ push @problems, _tr(
+ "No OpenSLX installation of VMware Player 2.5 found or installation failed. Using it as virtual machine wouldn't work!"
+ );
+ }
+
if ($vm_kind eq 'vmpl1.0' &&
! -d "/opt/openslx/plugin-repo/vmware/vmpl1.0/vmroot") {
push @problems, _tr(
@@ -585,6 +607,52 @@ sub _vmpl2Installation {
}
+sub _vmpl25Installation {
+ my $self = shift;
+
+ my $kind = "vmpl2.5";
+ my $vmpath = "/opt/openslx/plugin-repo/vmware/$kind/vmroot/lib/vmware";
+ my $vmbin = "/opt/openslx/plugin-repo/vmware/$kind/vmroot/bin";
+ my $vmversion = "TODO_we_need_it_for_enhanced_runvmware_config_in_stage?";
+ my $vmbuildversion = "TODO_we_need_it_for_enhanced_runvmware_config_in_stage1";
+
+ my $pluginFilesPath
+ = "$self->{'openslxBasePath'}/lib/plugins/$self->{'name'}/files";
+ my $installationPath = "$self->{'pluginRepositoryPath'}/$kind";
+
+ mkpath($installationPath);
+
+ ##
+ ## Copy needed files
+
+ # copy 'normal' needed files
+ my @files = qw( nvram.5.0 install-vmpl.sh );
+ foreach my $file (@files) {
+ copyFile("$pluginFilesPath/$file", "$installationPath");
+ }
+
+ # copy on depending runvmware file
+ copyFile("$pluginFilesPath/runvmware-player-v25", "$installationPath", "runvmware");
+
+ ##
+ ## Install the binarys from given pkgpath
+ system("/bin/sh /opt/openslx/plugin-repo/$self->{'name'}/$kind/install-vmpl.sh $kind");
+
+ ##
+ ## Create runlevel script
+ my $runlevelScript = "$self->{'pluginRepositoryPath'}/$kind/vmware.init";
+ $self->_writeRunlevelScript($vmbin, $runlevelScript, $kind);
+
+ ##
+ ## Create wrapperscripts
+ $self->_writeWrapperScript("$vmpath", "$kind", "player");
+
+ ##
+ ## Creating needed config /etc/vmware/config
+ $self->_writeVmwareConfig("$kind", "$vmpath");
+
+}
+
sub _vmpl1Installation {
my $self = shift;