Sha256: 18fb125fdb9870fb4eef11d770e5220914fb7bd89a074ee88b8adad56aedbd44

Contents?: true

Size: 1.17 KB

Versions: 21

Compression:

Stored size: 1.17 KB

Contents

module VagrantPlugins
  module Parallels
    module GuestDarwinCap
      class InstallParallelsTools

        def self.install_parallels_tools(machine)
          machine.communicate.tap do |comm|
            tools_iso_path = File.expand_path(
              machine.provider.driver.read_guest_tools_iso_path('darwin'),
              machine.env.root_path
            )
            remote_file = '/tmp/prl-tools-mac.iso'
            mount_point = "/media/prl-tools-lin_#{rand(100000)}/"

            comm.upload(tools_iso_path, remote_file)

            # Create mount point directory if needed
            if !comm.test("test -d \"#{mount_point}\"", :sudo => true)
              comm.sudo("mkdir -p \"#{mount_point}\"")
            end

            # Mount ISO and install Parallels Tools
            comm.sudo("hdiutil attach #{remote_file} -mountpoint #{mount_point}")
            comm.sudo("installer -pkg '#{mount_point}/Install.app/Contents/Resources/Install.mpkg' -target /")
            comm.sudo("hdiutil detach '#{mount_point}'")

            comm.sudo("rm -Rf \"#{mount_point}\"")
            comm.sudo("rm -f \"#{remote_file}\"")
          end
        end
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
vagrant-parallels-2.2.4 lib/vagrant-parallels/guest_cap/darwin/install_parallels_tools.rb
vagrant-parallels-2.2.3 lib/vagrant-parallels/guest_cap/darwin/install_parallels_tools.rb
vagrant-parallels-2.2.2 lib/vagrant-parallels/guest_cap/darwin/install_parallels_tools.rb
vagrant-parallels-2.2.1 lib/vagrant-parallels/guest_cap/darwin/install_parallels_tools.rb
vagrant-parallels-2.2.0 lib/vagrant-parallels/guest_cap/darwin/install_parallels_tools.rb
vagrant-parallels-2.1.0 lib/vagrant-parallels/guest_cap/darwin/install_parallels_tools.rb
vagrant-parallels-2.0.1 lib/vagrant-parallels/guest_cap/darwin/install_parallels_tools.rb
vagrant-parallels-2.0.0 lib/vagrant-parallels/guest_cap/darwin/install_parallels_tools.rb
vagrant-parallels-1.7.8 lib/vagrant-parallels/guest_cap/darwin/install_parallels_tools.rb
vagrant-parallels-1.7.7 lib/vagrant-parallels/guest_cap/darwin/install_parallels_tools.rb
vagrant-parallels-1.7.6 lib/vagrant-parallels/guest_cap/darwin/install_parallels_tools.rb
vagrant-parallels-1.7.5 lib/vagrant-parallels/guest_cap/darwin/install_parallels_tools.rb
vagrant-parallels-1.7.4 lib/vagrant-parallels/guest_cap/darwin/install_parallels_tools.rb
vagrant-parallels-1.7.3 lib/vagrant-parallels/guest_cap/darwin/install_parallels_tools.rb
vagrant-parallels-1.7.2 lib/vagrant-parallels/guest_cap/darwin/install_parallels_tools.rb
vagrant-parallels-1.7.1 lib/vagrant-parallels/guest_cap/darwin/install_parallels_tools.rb
vagrant-parallels-1.7.0 lib/vagrant-parallels/guest_cap/darwin/install_parallels_tools.rb
vagrant-parallels-1.6.3 lib/vagrant-parallels/guest_cap/darwin/install_parallels_tools.rb
vagrant-parallels-1.6.2 lib/vagrant-parallels/guest_cap/darwin/install_parallels_tools.rb
vagrant-parallels-1.6.1 lib/vagrant-parallels/guest_cap/darwin/install_parallels_tools.rb