Merge pull request #1183 from obscurerichard/fix-windows-shell-provisioning-vs-master
Fix Windows shell provisioning.
This commit is contained in:
commit
256ebd4dbe
|
@ -94,7 +94,8 @@ module VagrantPlugins
|
||||||
@logger.debug("Uploading: #{from} to #{to}")
|
@logger.debug("Uploading: #{from} to #{to}")
|
||||||
|
|
||||||
scp_connect do |scp|
|
scp_connect do |scp|
|
||||||
scp.upload!(from, to)
|
# Open file read only to fix issue [GH-1036]
|
||||||
|
scp.upload!(File.open(from, "r"), to)
|
||||||
end
|
end
|
||||||
rescue RuntimeError => e
|
rescue RuntimeError => e
|
||||||
# Net::SCP raises a runtime error for this so the only way we have
|
# Net::SCP raises a runtime error for this so the only way we have
|
||||||
|
|
|
@ -60,6 +60,10 @@ module VagrantPlugins
|
||||||
# Otherwise we have an inline script, we need to Tempfile it,
|
# Otherwise we have an inline script, we need to Tempfile it,
|
||||||
# and handle it specially...
|
# and handle it specially...
|
||||||
file = Tempfile.new('vagrant-shell')
|
file = Tempfile.new('vagrant-shell')
|
||||||
|
# Unless you set binmode, on a Windows host the shell script will
|
||||||
|
# have CRLF line endings instead of LF line endings, causing havoc
|
||||||
|
# when the guest executes it. This fixes [GH-1181].
|
||||||
|
file.binmode
|
||||||
begin
|
begin
|
||||||
file.write(config.inline)
|
file.write(config.inline)
|
||||||
file.fsync
|
file.fsync
|
||||||
|
|
Loading…
Reference in New Issue