plugins/guests/arch/cap/change_host_name.rb in vagrant-unbundled-1.8.4.2 vs plugins/guests/arch/cap/change_host_name.rb in vagrant-unbundled-1.8.5.1

- old
+ new

@@ -3,22 +3,25 @@ module Cap class ChangeHostName def self.change_host_name(machine, name) comm = machine.communicate - if !comm.test("hostname | grep -w '#{name}'") + if !comm.test("hostname -f | grep '^#{name}$'", sudo: false) basename = name.split(".", 2)[0] - comm.sudo <<-EOH -hostnamectl set-hostname '#{name}' + comm.sudo <<-EOH.gsub(/^ {14}/, "") + set -e -# Remove comments and blank lines from /etc/hosts -sed -i'' -e 's/#.*$//' -e '/^$/d' /etc/hosts + # Set hostname + hostnamectl set-hostname '#{basename}' -# Prepend ourselves to /etc/hosts -grep -w '#{name}' /etc/hosts || { - sed -i'' '1i 127.0.0.1\\t#{name}\\t#{basename}' /etc/hosts -} -EOH + # Remove comments and blank lines from /etc/hosts + sed -i'' -e 's/#.*$//' -e '/^$/d' /etc/hosts + + # Prepend ourselves to /etc/hosts + grep -w '#{name}' /etc/hosts || { + sed -i'' '1i 127.0.0.1\\t#{name}\\t#{basename}' /etc/hosts + } + EOH end end end end end