qemu 0.0.2 → 0.3

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/.gitignore CHANGED
@@ -16,3 +16,4 @@ test/tmp
16
16
  test/version_tmp
17
17
  tmp
18
18
  *~
19
+ .ruby-version
@@ -9,6 +9,12 @@ module QEMU
9
9
 
10
10
  attr_accessor :memory
11
11
 
12
+ attr_accessor :architecture
13
+
14
+ def architecture
15
+ @architecture ||= :i386
16
+ end
17
+
12
18
  attr_reader :disks
13
19
  def disks
14
20
  @disks ||= Disks.new
@@ -74,6 +80,8 @@ module QEMU
74
80
 
75
81
  def command_arguments
76
82
  [].tap do |args|
83
+ args << "-enable-kvm"
84
+
77
85
  args << "-m" << "#{memory}m" if memory
78
86
  disks.each_with_index do |disk, index|
79
87
  args << "-drive" << disk.qemu_drive(index)
@@ -100,8 +108,13 @@ module QEMU
100
108
  end
101
109
  end
102
110
 
111
+ @@command_system_aliases = {
112
+ "amd64" => "x86_64"
113
+ }
114
+
103
115
  def command
104
- "/usr/bin/kvm"
116
+ system = @@command_system_aliases.fetch(architecture.to_s, architecture.to_s)
117
+ "/usr/bin/qemu-system-#{system}"
105
118
  end
106
119
 
107
120
  def run
@@ -110,7 +123,11 @@ module QEMU
110
123
  end
111
124
 
112
125
  def daemon
113
- @daemon ||= Daemon.new :command => command, :name => name, :arguments => command_arguments, :env => command_env
126
+ @daemon ||=
127
+ begin
128
+ QEMU.logger.debug "Prepare daemon with '#{command_arguments}'"
129
+ Daemon.new :command => command, :name => name, :arguments => command_arguments, :env => command_env
130
+ end
114
131
  end
115
132
 
116
133
  end
@@ -1,3 +1,3 @@
1
1
  module QEMU
2
- VERSION = "0.0.2"
2
+ VERSION = "0.3"
3
3
  end
@@ -1,9 +1,12 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe QEMU::Command do
4
-
4
+
5
+ let(:command) { QEMU::Command.new }
6
+ subject { command }
7
+
5
8
  describe "#name" do
6
-
9
+
7
10
  it "should be 'qemu' by default" do
8
11
  subject.name.should == "qemu"
9
12
  end
@@ -15,4 +18,21 @@ describe QEMU::Command do
15
18
 
16
19
  end
17
20
 
21
+ describe "#command" do
22
+
23
+ subject { command.command }
24
+
25
+ context "when architecture is i386" do
26
+ before { command.architecture = :i386 }
27
+
28
+ it { should == "/usr/bin/qemu-system-i386" }
29
+ end
30
+
31
+ context "when architecture is amd64" do
32
+ before { command.architecture = :amd64 }
33
+
34
+ it { should == "/usr/bin/qemu-system-x86_64" }
35
+ end
36
+
37
+ end
18
38
  end
metadata CHANGED
@@ -1,147 +1,154 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: qemu
3
- version: !ruby/object:Gem::Version
4
- hash: 27
3
+ version: !ruby/object:Gem::Version
4
+ version: '0.3'
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 0
9
- - 2
10
- version: 0.0.2
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Alban Peignier
14
9
  - Florent Peyraud
15
10
  autorequire:
16
11
  bindir: bin
17
12
  cert_chain: []
18
-
19
- date: 2014-02-04 00:00:00 Z
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
22
- prerelease: false
23
- type: :development
24
- requirement: &id001 !ruby/object:Gem::Requirement
13
+ date: 2014-04-29 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: bundler
17
+ requirement: !ruby/object:Gem::Requirement
25
18
  none: false
26
- requirements:
19
+ requirements:
27
20
  - - ~>
28
- - !ruby/object:Gem::Version
29
- hash: 9
30
- segments:
31
- - 1
32
- - 3
33
- version: "1.3"
34
- name: bundler
35
- version_requirements: *id001
36
- - !ruby/object:Gem::Dependency
37
- prerelease: false
21
+ - !ruby/object:Gem::Version
22
+ version: '1.3'
38
23
  type: :development
39
- requirement: &id002 !ruby/object:Gem::Requirement
40
- none: false
41
- requirements:
42
- - - ">="
43
- - !ruby/object:Gem::Version
44
- hash: 3
45
- segments:
46
- - 0
47
- version: "0"
48
- name: rake
49
- version_requirements: *id002
50
- - !ruby/object:Gem::Dependency
51
24
  prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ~>
29
+ - !ruby/object:Gem::Version
30
+ version: '1.3'
31
+ - !ruby/object:Gem::Dependency
32
+ name: rake
33
+ requirement: !ruby/object:Gem::Requirement
34
+ none: false
35
+ requirements:
36
+ - - ! '>='
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
52
39
  type: :development
53
- requirement: &id003 !ruby/object:Gem::Requirement
54
- none: false
55
- requirements:
56
- - - ">="
57
- - !ruby/object:Gem::Version
58
- hash: 3
59
- segments:
60
- - 0
61
- version: "0"
62
- name: simplecov
63
- version_requirements: *id003
64
- - !ruby/object:Gem::Dependency
65
40
  prerelease: false
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ! '>='
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ - !ruby/object:Gem::Dependency
48
+ name: simplecov
49
+ requirement: !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
66
55
  type: :development
67
- requirement: &id004 !ruby/object:Gem::Requirement
68
- none: false
69
- requirements:
70
- - - ">="
71
- - !ruby/object:Gem::Version
72
- hash: 3
73
- segments:
74
- - 0
75
- version: "0"
76
- name: rspec
77
- version_requirements: *id004
78
- - !ruby/object:Gem::Dependency
79
56
  prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - ! '>='
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ - !ruby/object:Gem::Dependency
64
+ name: rspec
65
+ requirement: !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ! '>='
69
+ - !ruby/object:Gem::Version
70
+ version: '0'
80
71
  type: :development
81
- requirement: &id005 !ruby/object:Gem::Requirement
82
- none: false
83
- requirements:
84
- - - ">="
85
- - !ruby/object:Gem::Version
86
- hash: 3
87
- segments:
88
- - 0
89
- version: "0"
90
- name: guard
91
- version_requirements: *id005
92
- - !ruby/object:Gem::Dependency
93
72
  prerelease: false
73
+ version_requirements: !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ! '>='
77
+ - !ruby/object:Gem::Version
78
+ version: '0'
79
+ - !ruby/object:Gem::Dependency
80
+ name: guard
81
+ requirement: !ruby/object:Gem::Requirement
82
+ none: false
83
+ requirements:
84
+ - - ! '>='
85
+ - !ruby/object:Gem::Version
86
+ version: '0'
94
87
  type: :development
95
- requirement: &id006 !ruby/object:Gem::Requirement
96
- none: false
97
- requirements:
98
- - - ">="
99
- - !ruby/object:Gem::Version
100
- hash: 3
101
- segments:
102
- - 0
103
- version: "0"
104
- name: guard-rspec
105
- version_requirements: *id006
106
- - !ruby/object:Gem::Dependency
107
88
  prerelease: false
89
+ version_requirements: !ruby/object:Gem::Requirement
90
+ none: false
91
+ requirements:
92
+ - - ! '>='
93
+ - !ruby/object:Gem::Version
94
+ version: '0'
95
+ - !ruby/object:Gem::Dependency
96
+ name: guard-rspec
97
+ requirement: !ruby/object:Gem::Requirement
98
+ none: false
99
+ requirements:
100
+ - - ! '>='
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
108
103
  type: :development
109
- requirement: &id007 !ruby/object:Gem::Requirement
110
- none: false
111
- requirements:
112
- - - ">="
113
- - !ruby/object:Gem::Version
114
- hash: 3
115
- segments:
116
- - 0
117
- version: "0"
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ none: false
107
+ requirements:
108
+ - - ! '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
118
112
  name: rdoc
119
- version_requirements: *id007
120
- - !ruby/object:Gem::Dependency
113
+ requirement: !ruby/object:Gem::Requirement
114
+ none: false
115
+ requirements:
116
+ - - ! '>='
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ type: :development
121
120
  prerelease: false
122
- type: :runtime
123
- requirement: &id008 !ruby/object:Gem::Requirement
124
- none: false
125
- requirements:
126
- - - ">="
127
- - !ruby/object:Gem::Version
128
- hash: 3
129
- segments:
130
- - 0
131
- version: "0"
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ none: false
123
+ requirements:
124
+ - - ! '>='
125
+ - !ruby/object:Gem::Version
126
+ version: '0'
127
+ - !ruby/object:Gem::Dependency
132
128
  name: daemons
133
- version_requirements: *id008
134
- description: Create QEMU command lines, start and stop daemon, send monitor commands to a qemu instances, create or convert QEMU disks, etc .. in Ruby
135
- email:
129
+ requirement: !ruby/object:Gem::Requirement
130
+ none: false
131
+ requirements:
132
+ - - ! '>='
133
+ - !ruby/object:Gem::Version
134
+ version: '0'
135
+ type: :runtime
136
+ prerelease: false
137
+ version_requirements: !ruby/object:Gem::Requirement
138
+ none: false
139
+ requirements:
140
+ - - ! '>='
141
+ - !ruby/object:Gem::Version
142
+ version: '0'
143
+ description: Create QEMU command lines, start and stop daemon, send monitor commands
144
+ to a qemu instances, create or convert QEMU disks, etc .. in Ruby
145
+ email:
136
146
  - alban@tryphon.eu
137
147
  - florent@tryphon.eu
138
148
  executables: []
139
-
140
149
  extensions: []
141
-
142
150
  extra_rdoc_files: []
143
-
144
- files:
151
+ files:
145
152
  - .gitignore
146
153
  - Gemfile
147
154
  - LICENSE.txt
@@ -159,38 +166,36 @@ files:
159
166
  - spec/spec_helper.rb
160
167
  - tasks/rspec.rake
161
168
  homepage: http://projects.tryphon.eu/projects/ruby-qemu
162
- licenses:
169
+ licenses:
163
170
  - MIT
164
171
  post_install_message:
165
172
  rdoc_options: []
166
-
167
- require_paths:
173
+ require_paths:
168
174
  - lib
169
- required_ruby_version: !ruby/object:Gem::Requirement
175
+ required_ruby_version: !ruby/object:Gem::Requirement
170
176
  none: false
171
- requirements:
172
- - - ">="
173
- - !ruby/object:Gem::Version
174
- hash: 3
175
- segments:
177
+ requirements:
178
+ - - ! '>='
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ segments:
176
182
  - 0
177
- version: "0"
178
- required_rubygems_version: !ruby/object:Gem::Requirement
183
+ hash: 4342732654127264106
184
+ required_rubygems_version: !ruby/object:Gem::Requirement
179
185
  none: false
180
- requirements:
181
- - - ">="
182
- - !ruby/object:Gem::Version
183
- hash: 3
184
- segments:
186
+ requirements:
187
+ - - ! '>='
188
+ - !ruby/object:Gem::Version
189
+ version: '0'
190
+ segments:
185
191
  - 0
186
- version: "0"
192
+ hash: 4342732654127264106
187
193
  requirements: []
188
-
189
194
  rubyforge_project:
190
- rubygems_version: 1.8.24
195
+ rubygems_version: 1.8.23
191
196
  signing_key:
192
197
  specification_version: 3
193
198
  summary: Manage QEMU from Ruby
194
- test_files:
199
+ test_files:
195
200
  - spec/qemu/command_spec.rb
196
201
  - spec/spec_helper.rb