kameleon-builder 2.6.1 → 2.6.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 641d4aa0ae1153b3203739f7cea51334c764aca6
4
+ data.tar.gz: a97530956b36a105c8b20802e9fa2faab6f2b0bb
5
+ SHA512:
6
+ metadata.gz: a5f1c1175bcd1e1bf262da3341bca3287ab2ad05056217072a6ac4488bbc260951d3c748674727a88003131784aa3180207deba1ed3a81f6dbab582819405419
7
+ data.tar.gz: 68bc3a162b4ea851a3446153f3709d53ead045eff5a6cc53aa3b46dfcaec5cba7c4e16ebab4322ada53bad946e69aa5f45dda17078e090cf953f9a0247d50068
data/.bumpversion.cfg CHANGED
@@ -1,7 +1,7 @@
1
1
  [bumpversion]
2
2
  commit = True
3
3
  tag = True
4
- current_version = 2.6.1
4
+ current_version = 2.6.2
5
5
  parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(\.(?P<release>[a-z]+))?
6
6
  serialize =
7
7
  {major}.{minor}.{patch}.{release}
data/CHANGES CHANGED
@@ -1,6 +1,15 @@
1
1
  Kameleon CHANGELOG
2
2
  ==================
3
3
 
4
+ Version 2.6.2
5
+ -------------
6
+
7
+ Released on August 25th 2015
8
+
9
+ - Added ``cache_archive_compression`` option to choose compression tool
10
+ - Tried using curl before wget
11
+
12
+
4
13
  Version 2.6.1
5
14
  -------------
6
15
 
@@ -142,12 +142,12 @@ fi
142
142
 
143
143
  function __download {
144
144
  echo "Downloading: $1..."
145
- if which wget >/dev/null; then
146
- wget --retry-connrefused --progress=bar:force "$1" -O "$2" 2>&1
145
+ if which curl >/dev/null; then
146
+ curl -# -L --retry 999 --retry-max-time 0 "$1" -o "$2" 2>&1
147
147
  else
148
- echo "wget is missing, trying with curl..."
149
- if which curl >/dev/null; then
150
- curl -# -L --retry 999 --retry-max-time 0 "$1" -o "$2" 2>&1
148
+ echo "curl is missing, trying with wget..."
149
+ if which wget >/dev/null; then
150
+ wget --retry-connrefused --progress=bar:force "$1" -O "$2" 2>&1
151
151
  else
152
152
  echo "curl is missing, trying with python..."
153
153
  if which python >/dev/null; then
data/lib/kameleon/cli.rb CHANGED
@@ -220,6 +220,10 @@ module Kameleon
220
220
  method_option :from_cache, :type => :string ,
221
221
  :default => nil,
222
222
  :desc => "Uses a persistent cache tar file to build the image."
223
+ method_option :cache_archive_compression, :type => :string ,
224
+ :enum => ["gzip", "xz", "bz2"],
225
+ :default => "gz",
226
+ :desc => "Uses a persistent cache tar file to build the image."
223
227
  method_option :proxy_path, :type => :string ,
224
228
  :default => nil,
225
229
  :desc => "Full path of the proxy binary to use for the persistent cache."
@@ -43,6 +43,7 @@ module Kameleon
43
43
  # I'm passing the Pathname objects
44
44
  @cache.recipe_files = @recipe.all_files
45
45
  @cache.recipe_path = @recipe.path
46
+ @cache.archive_format = @options[:cache_archive_compression]
46
47
 
47
48
  if @recipe.global["in_context"]["proxy_cache"].nil? then
48
49
  raise BuildError, "Missing varible for in context 'proxy_cache' when using the option --cache"
@@ -20,6 +20,7 @@ module Kameleon
20
20
  attr_accessor :name
21
21
  attr_accessor :recipe_files # FIXME have to check those.
22
22
  attr_accessor :recipe_path
23
+ attr_accessor :archive_format
23
24
 
24
25
  def initialize()
25
26
  ## we must configure Polipo to be execute for the in and out context
@@ -145,8 +146,20 @@ module Kameleon
145
146
  end
146
147
 
147
148
  def pack()
148
- Kameleon.ui.info("Packing up the generated cache in #{@cwd}/#{@name}-cache.tar")
149
- execute("tar","-cf #{@name}-cache.tar -C #{@cache_dir} .",@cwd)
149
+ if @archive_format.eql? "gzip"
150
+ env = {"GZIP" => "-9"}
151
+ Kameleon.ui.info("Packing up the generated cache in #{@cwd}/#{@name}-cache.tar.gz")
152
+ execute("tar","-czvf #{@name}-cache.tar.gz -C #{@cache_dir} .", @cwd, env)
153
+ elsif @archive_format.eql? "bz2"
154
+ env = {"BZIP" => "-9"}
155
+ Kameleon.ui.info("Packing up the generated cache in #{@cwd}/#{@name}-cache.tar.bz2")
156
+ execute("tar","-cjvf #{@name}-cache.tar.bz2 -C #{@cache_dir} .", @cwd, env)
157
+ elsif @archive_format.eql? "xz"
158
+ env = {"XZ_OPT" => "-9"}
159
+ Kameleon.ui.info("Packing up the generated cache in #{@cwd}/#{@name}-cache.tar.xz")
160
+ execute("tar","-cJf #{@name}-cache.tar.xz -C #{@cache_dir} .", @cwd, env)
161
+ end
162
+
150
163
  end
151
164
 
152
165
  def unpack(cache_path)
@@ -253,10 +266,13 @@ module Kameleon
253
266
  return recipe_file
254
267
  end
255
268
 
256
- def execute(cmd,args,dir=nil)
269
+ def execute(cmd,args, dir=nil, environment={})
257
270
  command = [cmd ] + args.split(" ")
258
271
  process = ChildProcess.build(*command)
259
272
  process.cwd = dir unless dir.nil?
273
+ environment.each do |key, value|
274
+ process.environment[key] = value
275
+ end
260
276
  process.start
261
277
  process.wait
262
278
  end
data/version.txt CHANGED
@@ -1 +1 @@
1
- 2.6.1
1
+ 2.6.2
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kameleon-builder
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.6.1
5
- prerelease:
4
+ version: 2.6.2
6
5
  platform: ruby
7
6
  authors:
8
7
  - Salem Harrache
@@ -13,66 +12,60 @@ authors:
13
12
  autorequire:
14
13
  bindir: bin
15
14
  cert_chain: []
16
- date: 2015-08-12 00:00:00.000000000 Z
15
+ date: 2015-08-25 00:00:00.000000000 Z
17
16
  dependencies:
18
17
  - !ruby/object:Gem::Dependency
19
18
  name: childprocess
20
19
  requirement: !ruby/object:Gem::Requirement
21
- none: false
22
20
  requirements:
23
- - - ~>
21
+ - - "~>"
24
22
  - !ruby/object:Gem::Version
25
23
  version: 0.5.3
26
- - - ! '>='
24
+ - - ">="
27
25
  - !ruby/object:Gem::Version
28
26
  version: 0.3.0
29
27
  type: :runtime
30
28
  prerelease: false
31
29
  version_requirements: !ruby/object:Gem::Requirement
32
- none: false
33
30
  requirements:
34
- - - ~>
31
+ - - "~>"
35
32
  - !ruby/object:Gem::Version
36
33
  version: 0.5.3
37
- - - ! '>='
34
+ - - ">="
38
35
  - !ruby/object:Gem::Version
39
36
  version: 0.3.0
40
37
  - !ruby/object:Gem::Dependency
41
38
  name: thor
42
39
  requirement: !ruby/object:Gem::Requirement
43
- none: false
44
40
  requirements:
45
- - - ~>
41
+ - - "~>"
46
42
  - !ruby/object:Gem::Version
47
43
  version: '0.19'
48
- - - ! '>='
44
+ - - ">="
49
45
  - !ruby/object:Gem::Version
50
46
  version: 0.15.0
51
47
  type: :runtime
52
48
  prerelease: false
53
49
  version_requirements: !ruby/object:Gem::Requirement
54
- none: false
55
50
  requirements:
56
- - - ~>
51
+ - - "~>"
57
52
  - !ruby/object:Gem::Version
58
53
  version: '0.19'
59
- - - ! '>='
54
+ - - ">="
60
55
  - !ruby/object:Gem::Version
61
56
  version: 0.15.0
62
57
  - !ruby/object:Gem::Dependency
63
58
  name: table_print
64
59
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
60
  requirements:
67
- - - ~>
61
+ - - "~>"
68
62
  - !ruby/object:Gem::Version
69
63
  version: 1.5.2
70
64
  type: :runtime
71
65
  prerelease: false
72
66
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
67
  requirements:
75
- - - ~>
68
+ - - "~>"
76
69
  - !ruby/object:Gem::Version
77
70
  version: 1.5.2
78
71
  description: The mindful appliance builder
@@ -87,10 +80,10 @@ executables:
87
80
  extensions: []
88
81
  extra_rdoc_files: []
89
82
  files:
90
- - .bumpversion.cfg
91
- - .editorconfig
92
- - .env
93
- - .gitignore
83
+ - ".bumpversion.cfg"
84
+ - ".editorconfig"
85
+ - ".env"
86
+ - ".gitignore"
94
87
  - AUTHORS
95
88
  - CHANGES
96
89
  - COPYING
@@ -170,28 +163,27 @@ files:
170
163
  homepage: http://kameleon.imag.fr/
171
164
  licenses:
172
165
  - GPL-2
166
+ metadata: {}
173
167
  post_install_message:
174
168
  rdoc_options: []
175
169
  require_paths:
176
170
  - lib
177
171
  required_ruby_version: !ruby/object:Gem::Requirement
178
- none: false
179
172
  requirements:
180
- - - ! '>='
173
+ - - ">="
181
174
  - !ruby/object:Gem::Version
182
175
  version: '0'
183
176
  required_rubygems_version: !ruby/object:Gem::Requirement
184
- none: false
185
177
  requirements:
186
- - - ! '>='
178
+ - - ">="
187
179
  - !ruby/object:Gem::Version
188
180
  version: '0'
189
181
  requirements:
190
182
  - polipo 1.0.3, or greater
191
183
  rubyforge_project:
192
- rubygems_version: 1.8.23.2
184
+ rubygems_version: 2.2.2
193
185
  signing_key:
194
- specification_version: 3
186
+ specification_version: 4
195
187
  summary: Kameleon is a tool to build virtual machines from scratch
196
188
  test_files:
197
189
  - tests/helper.rb