packer-config 1.3.0 → 1.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c8de1334da3aa16a57f01bff48f08a13e33d2c67
4
- data.tar.gz: 76290e07c81e05952d0f85078895bddd13e259e1
3
+ metadata.gz: 0ebf455ba8b1a7020ca59d720b991ed9dddc4b80
4
+ data.tar.gz: a1a59a07dd64d5db0ae356d7b8a4c7f5e06c103c
5
5
  SHA512:
6
- metadata.gz: 21ca6ae91b5bdff076db92049dad808bc2c8306de246e3d7c094f916ba92b1bb8e2cba9db12de47b5e3646f82205046fd115ba8321a77f39519127fe50289d44
7
- data.tar.gz: 2a2cebc0f3cb6d359704092cb691405db9a6427b10c51709239c2f7bd2b46338437cdfa211285188a84db3d717d290d430433b68957f5d38637d758ef0fffcf2
6
+ metadata.gz: 0179e5f9a51d35102209bd304ec4ad1c3ec4646d8b34ef7c33e2d0df238ea0e41d75c4c36a030cc61af472912921dd7fad4e3f25f0c950ae3faeb42dc9f0ddee
7
+ data.tar.gz: 0ec5863e8a71cd33156c8f975002251c97cb448db2cf868e1280b0f56eb59c4d154e65d1adb354819060f908b85b9c5fdb325de03a08f16f66a56e8fdb0d36ab
data/RELEASENOTES.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # packer-config Release Notes
2
2
 
3
+ ## 1.3.1
4
+
5
+ * Adds a fix for [issue #8](https://github.com/ianchesal/packer-config/issues/8). Removes psuedo-terminals from the runner library which were causing the problem.
6
+
3
7
  ## 1.3.0
4
8
 
5
9
  * Add support for vmware-vmx building (via [tduehr][])
data/lib/packer/runner.rb CHANGED
@@ -1,6 +1,5 @@
1
1
  require 'open3'
2
2
  require 'shellwords'
3
- require 'pty'
4
3
 
5
4
  module Packer
6
5
  class Runner
@@ -17,13 +16,23 @@ module Packer
17
16
  stdout, stderr, status = Open3.capture3(cmd)
18
17
  else
19
18
  # Run but stream as well as capture stdout to the screen
20
- status = pty(cmd) do |r,w,pid|
21
- while !r.eof?
22
- c = r.getc
23
- stdout << c
24
- $stdout.write "#{c}"
19
+ # see: http://stackoverflow.com/a/1162850/83386
20
+ Open3.popen3(cmd) do |std_in, std_out, std_err, thread|
21
+ # read each stream from a new thread
22
+ Thread.new do
23
+ until (raw = std_out.getc).nil? do
24
+ stdout << raw
25
+ $stdout.write "#{raw}"
26
+ end
25
27
  end
26
- Process.wait(pid)
28
+ Thread.new do
29
+ until (raw_line = std_err.gets).nil? do
30
+ stderr << raw_line
31
+ end
32
+ end
33
+
34
+ thread.join # don't exit until the external process is done
35
+ status = thread.value
27
36
  end
28
37
  end
29
38
  raise CommandExecutionError.new(stderr) unless status == 0
@@ -35,10 +44,5 @@ module Packer
35
44
  logger.debug "Exec'ing: #{cmd}, in: #{Dir.pwd}"
36
45
  Kernel.exec cmd
37
46
  end
38
-
39
- def self.pty(cmd, &block)
40
- PTY.spawn(cmd, &block)
41
- $?.exitstatus
42
- end
43
47
  end
44
48
  end
@@ -1,3 +1,3 @@
1
1
  module Packer
2
- VERSION = "1.3.0"
2
+ VERSION = "1.3.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: packer-config
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ian Chesal
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2015-06-16 00:00:00.000000000 Z
14
+ date: 2015-07-15 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: bundler
@@ -229,7 +229,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
229
229
  version: '0'
230
230
  requirements: []
231
231
  rubyforge_project:
232
- rubygems_version: 2.4.8
232
+ rubygems_version: 2.4.6
233
233
  signing_key:
234
234
  specification_version: 4
235
235
  summary: An object model to build packer.io configurations in Ruby.