qemu 0.0.2 → 0.3

Sign up to get free protection for your applications and to get access to all the features.
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