vagrant-serial 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Vagrant::Serial
|
2
2
|
|
3
|
-
Vagrant::Serial allows to configure serial ports forwarding with Vagrant.
|
3
|
+
Vagrant::Serial allows you to configure serial ports forwarding with Vagrant.
|
4
4
|
Tested with vagrant version 1.0.5.
|
5
5
|
|
6
6
|
## Installation
|
@@ -9,8 +9,9 @@ Tested with vagrant version 1.0.5.
|
|
9
9
|
|
10
10
|
## Configuration
|
11
11
|
|
12
|
-
There is
|
13
|
-
|
12
|
+
There is a restriction in VirtualBox that you can use only 2 serial ports.
|
13
|
+
|
14
|
+
The basic `Vagrantfile` will look like this:
|
14
15
|
|
15
16
|
```ruby
|
16
17
|
Vagrant::Config.run do |config|
|
@@ -20,11 +21,15 @@ Vagrant::Config.run do |config|
|
|
20
21
|
# Map COM2 port in virtual machine to 1025 port on the host
|
21
22
|
config.serial.forward_com2 = 1025
|
22
23
|
|
23
|
-
# Default: ~/.vagrant.d/serial
|
24
24
|
# Override sockets path
|
25
|
+
# Default: ~/.vagrant.d/serial
|
25
26
|
# config.serial.sockets_path = "/path/to/sockets/dir"
|
26
27
|
end
|
27
28
|
```
|
28
29
|
|
30
|
+
## Requirements
|
31
|
+
- Ubuntu or Debian Linux (or manually install /sbin/start-stop-daemon)
|
32
|
+
- /usr/bin/socat (use apt-get install socat for Ubuntu/Debian)
|
33
|
+
|
29
34
|
## Copyright
|
30
|
-
Copyright (c) 2012 Anton Mironov and 7 Pikes, Inc.
|
35
|
+
Copyright (c) 2012 Anton Mironov, Alexey Zagarin and 7 Pikes, Inc.
|
data/lib/vagrant-serial.rb
CHANGED
@@ -9,8 +9,10 @@ require "fileutils"
|
|
9
9
|
|
10
10
|
Vagrant.config_keys.register(:serial) { Vagrant::Serial::Config }
|
11
11
|
|
12
|
+
Vagrant.actions[:start].insert_after Vagrant::Action::VM::Customize, Vagrant::Serial::Middleware::ClearForwardedPorts
|
12
13
|
Vagrant.actions[:start].insert_after Vagrant::Action::VM::Customize, Vagrant::Serial::Middleware::ConfigurePorts
|
13
14
|
Vagrant.actions[:start].insert_after Vagrant::Action::VM::Boot, Vagrant::Serial::Middleware::ForwardPorts
|
15
|
+
|
14
16
|
Vagrant.actions[:resume].insert_after Vagrant::Action::VM::Resume, Vagrant::Serial::Middleware::ForwardPorts
|
15
17
|
Vagrant.actions[:halt].insert_after Vagrant::Action::VM::CheckAccessible, Vagrant::Serial::Middleware::ClearForwardedPorts
|
16
18
|
Vagrant.actions[:suspend].insert_after Vagrant::Action::VM::CheckAccessible, Vagrant::Serial::Middleware::ClearForwardedPorts
|
@@ -7,18 +7,11 @@ module Vagrant
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def call(env)
|
10
|
-
if env[:vm].config.serial.set?
|
11
|
-
FileUtils.mkdir_p(env[:vm].config.serial.sockets_path) if !File.directory?(env[:vm].config.serial.sockets_path)
|
10
|
+
FileUtils.mkdir_p(env[:vm].config.serial.sockets_path) if env[:vm].config.serial.set? && !File.directory?(env[:vm].config.serial.sockets_path)
|
12
11
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
end
|
17
|
-
|
18
|
-
if env[:vm].config.serial.forward_com2
|
19
|
-
`/sbin/start-stop-daemon --stop --quiet --pidfile #{env[:vm].config.serial.sockets_path}/socat.#{env[:vm].uuid}-com2.pid --exec /usr/bin/socat && rm #{env[:vm].config.serial.sockets_path}/socat.#{env[:vm].uuid}-com2.pid`
|
20
|
-
end
|
21
|
-
end
|
12
|
+
env[:ui].info "Stopping serial ports forwarding..."
|
13
|
+
`/sbin/start-stop-daemon --stop --oknodo --quiet --pidfile #{env[:vm].config.serial.sockets_path}/socat.#{env[:vm].uuid}-com1.pid --exec /usr/bin/socat && rm -f #{env[:vm].config.serial.sockets_path}/socat.#{env[:vm].uuid}-com1.pid`
|
14
|
+
`/sbin/start-stop-daemon --stop --oknodo --quiet --pidfile #{env[:vm].config.serial.sockets_path}/socat.#{env[:vm].uuid}-com2.pid --exec /usr/bin/socat && rm -f #{env[:vm].config.serial.sockets_path}/socat.#{env[:vm].uuid}-com2.pid`
|
22
15
|
|
23
16
|
@app.call(env)
|
24
17
|
end
|
@@ -10,6 +10,7 @@ module Vagrant
|
|
10
10
|
if env[:vm].config.serial.set?
|
11
11
|
FileUtils.mkdir_p(env[:vm].config.serial.sockets_path) if !File.directory?(env[:vm].config.serial.sockets_path)
|
12
12
|
|
13
|
+
env[:ui].info "Setting up serial ports..."
|
13
14
|
if env[:vm].config.serial.forward_com1
|
14
15
|
command = ["modifyvm", env[:vm].uuid, "--uart1", "0x3F8", "4", "--uartmode1", "server", "#{env[:vm].config.serial.sockets_path}/#{env[:vm].uuid}-com1"]
|
15
16
|
env[:vm].driver.execute_command(command)
|
@@ -12,12 +12,12 @@ module Vagrant
|
|
12
12
|
|
13
13
|
if env[:vm].config.serial.forward_com1
|
14
14
|
`/sbin/start-stop-daemon --quiet --start --pidfile #{env[:vm].config.serial.sockets_path}/socat.#{env[:vm].uuid}-com1.pid --background --make-pidfile --exec /usr/bin/socat -- tcp-l:#{env[:vm].config.serial.forward_com1},reuseaddr,fork UNIX-CONNECT:#{env[:vm].config.serial.sockets_path}/#{env[:vm].uuid}-com1`
|
15
|
-
env[:ui].
|
15
|
+
env[:ui].info "COM1 => #{env[:vm].config.serial.forward_com1}"
|
16
16
|
end
|
17
17
|
|
18
18
|
if env[:vm].config.serial.forward_com2
|
19
19
|
`/sbin/start-stop-daemon --quiet --start --pidfile #{env[:vm].config.serial.sockets_path}/socat.#{env[:vm].uuid}-com2.pid --background --make-pidfile --exec /usr/bin/socat -- tcp-l:#{env[:vm].config.serial.forward_com2},reuseaddr,fork UNIX-CONNECT:#{env[:vm].config.serial.sockets_path}/#{env[:vm].uuid}-com2`
|
20
|
-
env[:ui].
|
20
|
+
env[:ui].info "COM2 => #{env[:vm].config.serial.forward_com2}"
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-serial
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-11-
|
12
|
+
date: 2012-11-10 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: Vagrant plugin to configure serial-ports in vms
|
15
15
|
email:
|