Teemu Matilainen ee2ae94c25 synced_folders/rsync: Install rsync on guest if needed
Add new `rsync_installed` and `rsync_install` guest capabilities
to detect and install `rsync`.

Also copy `rsync_pre` capability to all Unix guests.
2014-01-31 02:12:57 -03:00

28 lines
778 B
Ruby

module VagrantPlugins
module GuestNetBSD
module Cap
class RSync
def self.rsync_installed(machine)
machine.communicate.test("which rsync")
end
def self.rsync_install(machine)
machine.communicate.sudo(
'export PKG_PATH="http://ftp.NetBSD.org/pub/pkgsrc/packages/NetBSD/' \
'`uname -m`/`uname -r | cut -d. -f1-2`/All"; ' \
'pkg_add rsync')
end
def self.rsync_pre(machine, folder_opts)
username = machine.ssh_info[:username]
machine.communicate.tap do |comm|
comm.sudo("mkdir -p '#{folder_opts[:guestpath]}'")
comm.sudo("chown -R #{username} '#{folder_opts[:guestpath]}'")
end
end
end
end
end
end