kameleon-builder 2.6.1 → 2.6.2

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.
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