diff --git a/vmware/manifests/guest.pp b/vmware/manifests/guest.pp index a5fa7a3..51677dc 100644 --- a/vmware/manifests/guest.pp +++ b/vmware/manifests/guest.pp @@ -42,6 +42,7 @@ class vmware::guest::centos { class vmware::guest::ubuntu { require gnu::gcc + require gnu::make if ! $vmware_tools_package { if $vmware_tools_package_latest { @@ -64,27 +65,31 @@ class vmware::guest::ubuntu { source => "/usr/local/src/vmwaretools.tar.gz", require => File["/usr/local/src/vmwaretools.tar.gz"], } + + if versioncmp($::kernelversion, "3.9") >= 0 { + $creates = "/etc/init/vmware-tools.conf" + } else { + $creates = "/lib/modules/${::kernelrelease}/misc/vmci.ko" + } + exec { "vmware-install.pl": - command => "/bin/sh -c 'unset DISPLAY REMOTEHOST SSH_CONNECTION ; perl vmware-install.pl -d ; test -f /lib/modules/${kernelrelease}/misc/vmci.ko'", + command => "/bin/sh -c 'umask 022; unset DISPLAY REMOTEHOST SSH_CONNECTION; perl vmware-install.pl -d; test -f ${creates}'", path => "/bin:/usr/bin:/sbin:/usr/sbin", cwd => "/usr/local/src/vmwaretools", environment => [ "PAGER=/bin/cat", ], - creates => "/lib/modules/${kernelrelease}/misc/vmci.ko", + creates => $creates, require => Util::Extract::Tar["/usr/local/src/vmwaretools"], } + file { "/etc/init.d/vmware-tools": ensure => link, target => "/lib/init/upstart-job", before => Service["vmware-tools"], } service { "vmware-tools": - ensure => running, - enable => true, - hasrestart => false, - start => "service vmware-tools start", - stop => "service vmware-tools stop", - status => "service vmware-tools status", - subscribe => Exec["vmware-install.pl"], + ensure => running, + enable => true, + subscribe => Exec["vmware-install.pl"], } }