kameleon-builder 2.10.11 → 2.10.13
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 +4 -4
- data/.bumpversion.cfg +1 -1
- data/AUTHORS +6 -5
- data/CHANGES +20 -0
- data/COPYING +5 -5
- data/erb/extend.yaml.erb +1 -1
- data/kameleon-builder.gemspec +12 -10
- data/lib/kameleon/cli.rb +1 -1
- data/lib/kameleon/engine.rb +1 -1
- data/lib/kameleon/persistent_cache.rb +1 -1
- data/lib/kameleon/recipe.rb +11 -11
- data/lib/kameleon/step.rb +3 -3
- data/lib/kameleon/version.rb +1 -1
- data/lib/kameleon.rb +4 -4
- metadata +24 -66
- data/contrib/scripts/VirtualBox_deploy.sh +0 -12
- data/contrib/scripts/chroot_env +0 -9
- data/contrib/scripts/create_passwd.py +0 -17
- data/contrib/scripts/umount-chroot.sh +0 -290
- data/contrib/steps/bootstrap/debian/bootstrap_if_needed.yaml +0 -47
- data/contrib/steps/bootstrap/debian/bootstrap_static.yaml +0 -38
- data/contrib/steps/bootstrap/debian/debootstrap_arm.yaml +0 -23
- data/contrib/steps/export/clean_appliance.yaml +0 -9
- data/contrib/steps/export/compact_qcow_img.yaml +0 -12
- data/contrib/steps/export/save_as_g5k.yaml +0 -63
- data/contrib/steps/setup/add_timestamp.yaml +0 -6
- data/contrib/steps/setup/add_to_sudoers.yaml +0 -5
- data/contrib/steps/setup/archlinux/configure_ruby.yaml +0 -7
- data/contrib/steps/setup/archlinux/install_dev_tools.yaml +0 -18
- data/contrib/steps/setup/archlinux/install_gnome.yaml +0 -27
- data/contrib/steps/setup/archlinux/install_yaourt.yaml +0 -29
- data/contrib/steps/setup/autologin.yaml +0 -16
- data/contrib/steps/setup/centos/6.5/configure_repo.yaml +0 -9
- data/contrib/steps/setup/copy_ssh_auth_file.yaml +0 -10
- data/contrib/steps/setup/debian/add_network_interface.yaml +0 -7
- data/contrib/steps/setup/debian/cluster_tools_install.yaml +0 -16
- data/contrib/steps/setup/debian/install_gnome.yaml +0 -13
- data/contrib/steps/setup/debian/install_kde.yaml +0 -13
- data/contrib/steps/setup/debian/network_config_static.yaml +0 -17
- data/contrib/steps/setup/generate_user_ssh_key.yaml +0 -15
- data/contrib/steps/setup/install_my_ssh_key.yaml +0 -26
- data/contrib/steps/setup/make_swap_file.yaml +0 -9
- data/contrib/steps/setup/root_ssh_config.yaml +0 -18
- data/contrib/steps/setup/set_user_password.yaml +0 -7
- data/contrib/steps/setup/system_optimization.yaml +0 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 98949549d6db81a6e1f992d047d98cb1996422a1fafd974395983511f1a0fac0
|
4
|
+
data.tar.gz: 238e4bacb28a1061fb8ea65477949013357619501b40ceb28784e44feea51b26
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9d44ab789cd681b54a6db3b7377e52e6ba66acc76391a02397f87df1d1b33f66492a454eb3902bbf76aba8a07041000803001ca1cff7448b0d0d8a7260780671
|
7
|
+
data.tar.gz: 448f0ebb4d031e99f11edbf8608628c24698a17f1da187557c6695fef21c8038d3b83ba9bb6727e30fd2fef568236d4d51efffbc7a121db7b4368ca7eafa4db4
|
data/.bumpversion.cfg
CHANGED
data/AUTHORS
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
Kameleon is developed within the
|
2
2
|
Laboratoire LIG
|
3
|
-
|
4
|
-
|
5
|
-
|
3
|
+
Batiment IMAG
|
4
|
+
150 Place du Torrent
|
5
|
+
38400 Saint Martin d'Hères FRANCE
|
6
6
|
|
7
7
|
Kameleon is a sub-project of OAR, and so maintained by the OAR team.
|
8
8
|
|
@@ -11,9 +11,10 @@ Initially developed by:
|
|
11
11
|
Joseph Emeras < Joseph.Emeras@imag.fr >
|
12
12
|
Olivier Richard < olivier.richard@imag.fr >
|
13
13
|
Philippe Le Brouster < philippe.le-brouster@imag.fr >
|
14
|
-
|
15
|
-
Now maintained by:
|
16
14
|
Salem Harrache < salem.harrache@inria.fr >
|
17
15
|
Michael Mercier < michael.mercier@inria.fr >
|
18
16
|
Cristan Ruiz < cristian.ruiz@imag.fr >
|
19
17
|
Bruno Bzeznik < bruno.bzeznik@imag.fr >
|
18
|
+
|
19
|
+
Now maintained by:
|
20
|
+
Pierre Neyron < pierre.neyron@imag.fr >
|
data/CHANGES
CHANGED
@@ -1,6 +1,26 @@
|
|
1
1
|
Kameleon CHANGELOG
|
2
2
|
==================
|
3
3
|
|
4
|
+
Version 2.10.13
|
5
|
+
---------------
|
6
|
+
|
7
|
+
Released on March 26th 2025
|
8
|
+
|
9
|
+
- Drop useless contrib directory.
|
10
|
+
- Rework gem summary and description.
|
11
|
+
- Update gem dependencies for gem install on Debian 11 and 13.
|
12
|
+
- Adapt sources to Ruby 3.1 - Psych's YAML: explicitly use YAML.unsafe_load.
|
13
|
+
- Add git to requirements, need for kameleon repo commands.
|
14
|
+
|
15
|
+
Version 2.10.12
|
16
|
+
---------------
|
17
|
+
|
18
|
+
Released on February 18th 2025
|
19
|
+
|
20
|
+
- Fix AUTHORS: update maintainer.
|
21
|
+
- Fix bug with File.exists? (removed from ruby 3.3), use File.exist?
|
22
|
+
- Fix gemspec: License and update Thor to remove the DidYouMean::SPELL_CHECKERS warning.
|
23
|
+
|
4
24
|
Version 2.10.11
|
5
25
|
---------------
|
6
26
|
|
data/COPYING
CHANGED
@@ -55,7 +55,7 @@ patent must be licensed for everyone's free use or not licensed at all.
|
|
55
55
|
|
56
56
|
The precise terms and conditions for copying, distribution and
|
57
57
|
modification follow.
|
58
|
-
|
58
|
+
|
59
59
|
GNU GENERAL PUBLIC LICENSE
|
60
60
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
61
61
|
|
@@ -110,7 +110,7 @@ above, provided that you also meet all of these conditions:
|
|
110
110
|
License. (Exception: if the Program itself is interactive but
|
111
111
|
does not normally print such an announcement, your work based on
|
112
112
|
the Program is not required to print an announcement.)
|
113
|
-
|
113
|
+
|
114
114
|
These requirements apply to the modified work as a whole. If
|
115
115
|
identifiable sections of that work are not derived from the Program,
|
116
116
|
and can be reasonably considered independent and separate works in
|
@@ -168,7 +168,7 @@ access to copy from a designated place, then offering equivalent
|
|
168
168
|
access to copy the source code from the same place counts as
|
169
169
|
distribution of the source code, even though third parties are not
|
170
170
|
compelled to copy the source along with the object code.
|
171
|
-
|
171
|
+
|
172
172
|
4. You may not copy, modify, sublicense, or distribute the Program
|
173
173
|
except as expressly provided under this License. Any attempt
|
174
174
|
otherwise to copy, modify, sublicense or distribute the Program is
|
@@ -225,7 +225,7 @@ impose that choice.
|
|
225
225
|
|
226
226
|
This section is intended to make thoroughly clear what is believed to
|
227
227
|
be a consequence of the rest of this License.
|
228
|
-
|
228
|
+
|
229
229
|
8. If the distribution and/or use of the Program is restricted in
|
230
230
|
certain countries either by patents or by copyrighted interfaces, the
|
231
231
|
original copyright holder who places the Program under this License
|
@@ -278,7 +278,7 @@ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
|
278
278
|
POSSIBILITY OF SUCH DAMAGES.
|
279
279
|
|
280
280
|
END OF TERMS AND CONDITIONS
|
281
|
-
|
281
|
+
|
282
282
|
How to Apply These Terms to Your New Programs
|
283
283
|
|
284
284
|
If you develop a new program, and you want it to be of the greatest
|
data/erb/extend.yaml.erb
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
#
|
7
7
|
#==============================================================================
|
8
8
|
# This recipe extends another. To look at the step involed, run:
|
9
|
-
# kameleon dryrun <%= recipe_name %>
|
9
|
+
# kameleon build --dryrun <%= recipe_name %>
|
10
10
|
# To see the variables that you can override, use the following command:
|
11
11
|
# kameleon info <%= recipe_name %>
|
12
12
|
---
|
data/kameleon-builder.gemspec
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
# coding: utf-8
|
2
|
-
|
2
|
+
|
3
|
+
lib = File.expand_path('lib', __dir__)
|
3
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
5
|
require 'kameleon/version'
|
5
6
|
|
@@ -17,10 +18,10 @@ Gem::Specification.new do |s|
|
|
17
18
|
'camilo1729@gmail.com',
|
18
19
|
'pierre.neyron@imag.fr',
|
19
20
|
'bruno.bzeznik@imag.fr']
|
20
|
-
s.
|
21
|
-
s.
|
21
|
+
s.summary = 'The mindful appliance builder'
|
22
|
+
s.description = 'Kameleon is a tool to build system appliances, possibly from scratch'
|
22
23
|
s.homepage = 'http://kameleon.imag.fr/'
|
23
|
-
s.license = 'GPL-2.0'
|
24
|
+
s.license = 'GPL-2.0-or-later'
|
24
25
|
|
25
26
|
s.files = `git ls-files`.split($/)
|
26
27
|
s.files.reject! { |file| file.start_with?('docs/') }
|
@@ -28,12 +29,13 @@ Gem::Specification.new do |s|
|
|
28
29
|
s.test_files = s.files.grep(%r{^(tests|s|features)/})
|
29
30
|
s.require_paths = ['lib']
|
30
31
|
|
31
|
-
s.add_dependency 'childprocess', '~>
|
32
|
-
s.add_dependency '
|
33
|
-
s.add_dependency 'table_print', '~> 1.5'
|
34
|
-
s.add_dependency 'psych', '~> 2.0'
|
32
|
+
s.add_dependency 'childprocess', '~> 4.0'
|
33
|
+
s.add_dependency 'psych', '~> 5.0'
|
35
34
|
s.add_dependency 'ruby-graphviz', '~> 1.2'
|
36
|
-
s.add_dependency 'progressbar', '~> 1'
|
35
|
+
s.add_dependency 'ruby-progressbar', '~> 1.10'
|
36
|
+
s.add_dependency 'table_print', '~> 1.5'
|
37
|
+
s.add_dependency 'thor', '~> 1.0'
|
37
38
|
|
38
|
-
s.requirements
|
39
|
+
s.requirements << 'git'
|
40
|
+
s.requirements << 'graphviz'
|
39
41
|
end
|
data/lib/kameleon/cli.rb
CHANGED
@@ -345,7 +345,7 @@ module Kameleon
|
|
345
345
|
end
|
346
346
|
end
|
347
347
|
Kameleon.ui.info("Export recipe #{recipe_path} to directory: #{dest_path}")
|
348
|
-
if File.
|
348
|
+
if File.exist?(dest_path)
|
349
349
|
unless options[:add]
|
350
350
|
raise if Kameleon.ui.level("verbose")
|
351
351
|
raise ExportError, "Target export directory '#{dest_path}' already "\
|
data/lib/kameleon/engine.rb
CHANGED
@@ -258,7 +258,7 @@ module Kameleon
|
|
258
258
|
end
|
259
259
|
## We have to load the file
|
260
260
|
metadata_dir = File.join(@cache_dir,"metadata")
|
261
|
-
@cmd_cached = YAML.
|
261
|
+
@cmd_cached = YAML.unsafe_load(File.read("#{metadata_dir}/cache_cmd_index"))
|
262
262
|
end
|
263
263
|
@activated = true
|
264
264
|
#@cached_recipe_dir = @cache_dir
|
data/lib/kameleon/recipe.rb
CHANGED
@@ -85,7 +85,7 @@ module Kameleon
|
|
85
85
|
steps_dirs.push(File.expand_path(File.join(p.to_s, 'steps')))
|
86
86
|
steps_dirs.push(File.expand_path(File.join(p.to_s, '.steps')))
|
87
87
|
end
|
88
|
-
steps_dirs.select! { |x| File.
|
88
|
+
steps_dirs.select! { |x| File.exist? x }
|
89
89
|
end
|
90
90
|
|
91
91
|
def load!(kwargs = {})
|
@@ -93,7 +93,7 @@ module Kameleon
|
|
93
93
|
Kameleon.ui.verbose("Loading #{@path}")
|
94
94
|
fail RecipeError, "Could not find this following recipe: #{@path}" \
|
95
95
|
unless File.file? @path
|
96
|
-
yaml_recipe = YAML.
|
96
|
+
yaml_recipe = YAML.unsafe_load_file @path
|
97
97
|
unless yaml_recipe.kind_of? Hash
|
98
98
|
fail RecipeError, "Invalid yaml: #{@path}"
|
99
99
|
end
|
@@ -137,7 +137,7 @@ module Kameleon
|
|
137
137
|
|
138
138
|
# Resolve dynamically-defined variables !!
|
139
139
|
resolved_global = Utils.resolve_vars(@global.to_yaml, @path, @global, self, kwargs)
|
140
|
-
resolved_global = @global.merge YAML.
|
140
|
+
resolved_global = @global.merge YAML.unsafe_load(resolved_global)
|
141
141
|
Kameleon.ui.debug("Resolved_global: #{resolved_global}")
|
142
142
|
# Loads aliases
|
143
143
|
load_aliases(yaml_recipe)
|
@@ -157,7 +157,7 @@ module Kameleon
|
|
157
157
|
[File.join(steps_dir, section.name, path),
|
158
158
|
File.join(steps_dir, path)]
|
159
159
|
end
|
160
|
-
end.flatten.select { |x| File.
|
160
|
+
end.flatten.select { |x| File.exist? x }
|
161
161
|
Kameleon.ui.debug("Directory to search for steps: #{dir_to_search}")
|
162
162
|
|
163
163
|
if yaml_recipe.key? section.name
|
@@ -242,7 +242,7 @@ module Kameleon
|
|
242
242
|
base_recipe_path << ".yaml" unless base_recipe_path.end_with? ".yaml"
|
243
243
|
fail RecipeError, "Could not find this following recipe: #{@recipe_path}" \
|
244
244
|
unless File.file? path
|
245
|
-
base_yaml_recipe = YAML.
|
245
|
+
base_yaml_recipe = YAML.unsafe_load_file base_recipe_path
|
246
246
|
unless yaml_recipe.kind_of? Hash
|
247
247
|
fail RecipeError, "Invalid yaml: #{base_yaml_recipe}"
|
248
248
|
end
|
@@ -298,7 +298,7 @@ module Kameleon
|
|
298
298
|
def load_global_file(global_file, recipe_path)
|
299
299
|
def try_to_load(absolute_path)
|
300
300
|
if File.file?(absolute_path)
|
301
|
-
global_to_include = YAML.
|
301
|
+
global_to_include = YAML.unsafe_load_file(absolute_path)
|
302
302
|
if global_to_include.kind_of? Hash
|
303
303
|
@step_files.push(absolute_path)
|
304
304
|
return global_to_include
|
@@ -376,7 +376,7 @@ module Kameleon
|
|
376
376
|
path = Pathname.new(File.join(dir_path, aliases_file))
|
377
377
|
if File.file?(path)
|
378
378
|
Kameleon.ui.verbose("Loading aliases #{path}")
|
379
|
-
@aliases.merge!(YAML.
|
379
|
+
@aliases.merge!(YAML.unsafe_load_file(path))
|
380
380
|
@step_files.push(path)
|
381
381
|
return path
|
382
382
|
end
|
@@ -439,7 +439,7 @@ module Kameleon
|
|
439
439
|
path = Pathname.new(File.join(dir_path, checkpoint))
|
440
440
|
if File.file?(path)
|
441
441
|
Kameleon.ui.verbose("Loading checkpoint configuration #{path}")
|
442
|
-
@checkpoint = YAML.
|
442
|
+
@checkpoint = YAML.unsafe_load_file(path)
|
443
443
|
@checkpoint["path"] = path.to_s
|
444
444
|
@step_files.push(path)
|
445
445
|
break
|
@@ -461,7 +461,7 @@ module Kameleon
|
|
461
461
|
macrostep_yaml = args
|
462
462
|
step_path = @path
|
463
463
|
else
|
464
|
-
macrostep_yaml = YAML.
|
464
|
+
macrostep_yaml = YAML.unsafe_load_file(step_path)
|
465
465
|
# Basic macrostep syntax check
|
466
466
|
if not macrostep_yaml.kind_of? Array
|
467
467
|
fail RecipeError, "The macrostep #{step_path} is not valid "
|
@@ -550,7 +550,7 @@ module Kameleon
|
|
550
550
|
end
|
551
551
|
# Resolve dynamically-defined variables !!
|
552
552
|
resolved_global = Utils.resolve_vars(@global.to_yaml, @path, @global, self, kwargs)
|
553
|
-
@global.merge! YAML.
|
553
|
+
@global.merge! YAML.unsafe_load(resolved_global)
|
554
554
|
|
555
555
|
consistency_check
|
556
556
|
resolve_checkpoint unless @checkpoint.nil?
|
@@ -652,7 +652,7 @@ module Kameleon
|
|
652
652
|
Kameleon.ui.debug("Resolving alias '#{name}'")
|
653
653
|
aliases_cmd = @aliases.fetch(name).clone
|
654
654
|
aliases_cmd_str = aliases_cmd.to_yaml
|
655
|
-
args = YAML.
|
655
|
+
args = YAML.unsafe_load(cmd.string_cmd)[name]
|
656
656
|
args = [].push(args).flatten # convert args to array
|
657
657
|
expected_args_number = aliases_cmd_str.scan(/@\d+/).uniq.count
|
658
658
|
if expected_args_number != args.count
|
data/lib/kameleon/step.rb
CHANGED
@@ -23,7 +23,7 @@ module Kameleon
|
|
23
23
|
|
24
24
|
def key
|
25
25
|
if @key.nil?
|
26
|
-
object = YAML.
|
26
|
+
object = YAML.unsafe_load(@string_cmd)
|
27
27
|
if object.kind_of? String
|
28
28
|
@key = object
|
29
29
|
else
|
@@ -40,7 +40,7 @@ module Kameleon
|
|
40
40
|
def value
|
41
41
|
if @value.nil?
|
42
42
|
Kameleon.ui.debug("Parsed string = #{@string_cmd}")
|
43
|
-
object = YAML.
|
43
|
+
object = YAML.unsafe_load(@string_cmd)
|
44
44
|
if object.kind_of? Command
|
45
45
|
@value = object
|
46
46
|
elsif object.kind_of? String
|
@@ -192,7 +192,7 @@ module Kameleon
|
|
192
192
|
@path,
|
193
193
|
tmp_resolved_vars.merge(global),
|
194
194
|
recipe)
|
195
|
-
tmp_resolved_vars.merge! YAML.
|
195
|
+
tmp_resolved_vars.merge! YAML.unsafe_load(yaml_resolved.chomp)
|
196
196
|
end
|
197
197
|
@variables.merge! tmp_resolved_vars
|
198
198
|
@microsteps.each do |m|
|
data/lib/kameleon/version.rb
CHANGED
data/lib/kameleon.rb
CHANGED
@@ -40,7 +40,7 @@ module Kameleon
|
|
40
40
|
|
41
41
|
def userdir
|
42
42
|
@userdir ||= Pathname.new(File.join('~', '.kameleon.d'))
|
43
|
-
Dir.mkdir(File.expand_path(@userdir.to_s)) unless File.
|
43
|
+
Dir.mkdir(File.expand_path(@userdir.to_s)) unless File.exist?(File.expand_path(@userdir.to_s))
|
44
44
|
@userdir
|
45
45
|
end
|
46
46
|
|
@@ -49,7 +49,7 @@ module Kameleon
|
|
49
49
|
end
|
50
50
|
|
51
51
|
def init_userconf()
|
52
|
-
if not File.
|
52
|
+
if not File.exist?(Kameleon.userconf_path) or File.zero?(Kameleon.userconf_path)
|
53
53
|
File.open(Kameleon.userconf_path, 'w+') do |file|
|
54
54
|
userconf_erb = File.join(Kameleon.erb_dirpath, "userconf.yaml.erb")
|
55
55
|
erb = ERB.new(File.open(userconf_erb, 'rb') { |f| f.read })
|
@@ -60,8 +60,8 @@ module Kameleon
|
|
60
60
|
end
|
61
61
|
|
62
62
|
def load_userconf
|
63
|
-
if File.
|
64
|
-
yaml_conf = YAML.
|
63
|
+
if File.exist?(Kameleon.userconf_path) and not File.zero?(Kameleon.userconf_path)
|
64
|
+
yaml_conf = YAML.unsafe_load_file Kameleon.userconf_path
|
65
65
|
unless yaml_conf.kind_of? Hash
|
66
66
|
yaml_conf = {}
|
67
67
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kameleon-builder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.10.
|
4
|
+
version: 2.10.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Salem Harrache
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date:
|
15
|
+
date: 2025-03-26 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: childprocess
|
@@ -20,97 +20,85 @@ dependencies:
|
|
20
20
|
requirements:
|
21
21
|
- - "~>"
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version: 0
|
24
|
-
- - ">="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: 0.3.0
|
23
|
+
version: '4.0'
|
27
24
|
type: :runtime
|
28
25
|
prerelease: false
|
29
26
|
version_requirements: !ruby/object:Gem::Requirement
|
30
27
|
requirements:
|
31
28
|
- - "~>"
|
32
29
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0
|
34
|
-
- - ">="
|
35
|
-
- !ruby/object:Gem::Version
|
36
|
-
version: 0.3.0
|
30
|
+
version: '4.0'
|
37
31
|
- !ruby/object:Gem::Dependency
|
38
|
-
name:
|
32
|
+
name: psych
|
39
33
|
requirement: !ruby/object:Gem::Requirement
|
40
34
|
requirements:
|
41
35
|
- - "~>"
|
42
36
|
- !ruby/object:Gem::Version
|
43
|
-
version: '0
|
44
|
-
- - ">="
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
version: 0.15.0
|
37
|
+
version: '5.0'
|
47
38
|
type: :runtime
|
48
39
|
prerelease: false
|
49
40
|
version_requirements: !ruby/object:Gem::Requirement
|
50
41
|
requirements:
|
51
42
|
- - "~>"
|
52
43
|
- !ruby/object:Gem::Version
|
53
|
-
version: '0
|
54
|
-
- - ">="
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
version: 0.15.0
|
44
|
+
version: '5.0'
|
57
45
|
- !ruby/object:Gem::Dependency
|
58
|
-
name:
|
46
|
+
name: ruby-graphviz
|
59
47
|
requirement: !ruby/object:Gem::Requirement
|
60
48
|
requirements:
|
61
49
|
- - "~>"
|
62
50
|
- !ruby/object:Gem::Version
|
63
|
-
version: '1.
|
51
|
+
version: '1.2'
|
64
52
|
type: :runtime
|
65
53
|
prerelease: false
|
66
54
|
version_requirements: !ruby/object:Gem::Requirement
|
67
55
|
requirements:
|
68
56
|
- - "~>"
|
69
57
|
- !ruby/object:Gem::Version
|
70
|
-
version: '1.
|
58
|
+
version: '1.2'
|
71
59
|
- !ruby/object:Gem::Dependency
|
72
|
-
name:
|
60
|
+
name: ruby-progressbar
|
73
61
|
requirement: !ruby/object:Gem::Requirement
|
74
62
|
requirements:
|
75
63
|
- - "~>"
|
76
64
|
- !ruby/object:Gem::Version
|
77
|
-
version: '
|
65
|
+
version: '1.10'
|
78
66
|
type: :runtime
|
79
67
|
prerelease: false
|
80
68
|
version_requirements: !ruby/object:Gem::Requirement
|
81
69
|
requirements:
|
82
70
|
- - "~>"
|
83
71
|
- !ruby/object:Gem::Version
|
84
|
-
version: '
|
72
|
+
version: '1.10'
|
85
73
|
- !ruby/object:Gem::Dependency
|
86
|
-
name:
|
74
|
+
name: table_print
|
87
75
|
requirement: !ruby/object:Gem::Requirement
|
88
76
|
requirements:
|
89
77
|
- - "~>"
|
90
78
|
- !ruby/object:Gem::Version
|
91
|
-
version: '1.
|
79
|
+
version: '1.5'
|
92
80
|
type: :runtime
|
93
81
|
prerelease: false
|
94
82
|
version_requirements: !ruby/object:Gem::Requirement
|
95
83
|
requirements:
|
96
84
|
- - "~>"
|
97
85
|
- !ruby/object:Gem::Version
|
98
|
-
version: '1.
|
86
|
+
version: '1.5'
|
99
87
|
- !ruby/object:Gem::Dependency
|
100
|
-
name:
|
88
|
+
name: thor
|
101
89
|
requirement: !ruby/object:Gem::Requirement
|
102
90
|
requirements:
|
103
91
|
- - "~>"
|
104
92
|
- !ruby/object:Gem::Version
|
105
|
-
version: '1'
|
93
|
+
version: '1.0'
|
106
94
|
type: :runtime
|
107
95
|
prerelease: false
|
108
96
|
version_requirements: !ruby/object:Gem::Requirement
|
109
97
|
requirements:
|
110
98
|
- - "~>"
|
111
99
|
- !ruby/object:Gem::Version
|
112
|
-
version: '1'
|
113
|
-
description:
|
100
|
+
version: '1.0'
|
101
|
+
description: Kameleon is a tool to build system appliances, possibly from scratch
|
114
102
|
email:
|
115
103
|
- salem@harrache.info
|
116
104
|
- michael.mercier@libr.fr
|
@@ -141,36 +129,6 @@ files:
|
|
141
129
|
- contrib/kameleon_exec_cmd.sh
|
142
130
|
- contrib/kameleon_exec_cmd_wrapper.sh
|
143
131
|
- contrib/proxy_env.sh
|
144
|
-
- contrib/scripts/VirtualBox_deploy.sh
|
145
|
-
- contrib/scripts/chroot_env
|
146
|
-
- contrib/scripts/create_passwd.py
|
147
|
-
- contrib/scripts/umount-chroot.sh
|
148
|
-
- contrib/steps/bootstrap/debian/bootstrap_if_needed.yaml
|
149
|
-
- contrib/steps/bootstrap/debian/bootstrap_static.yaml
|
150
|
-
- contrib/steps/bootstrap/debian/debootstrap_arm.yaml
|
151
|
-
- contrib/steps/export/clean_appliance.yaml
|
152
|
-
- contrib/steps/export/compact_qcow_img.yaml
|
153
|
-
- contrib/steps/export/save_as_g5k.yaml
|
154
|
-
- contrib/steps/setup/add_timestamp.yaml
|
155
|
-
- contrib/steps/setup/add_to_sudoers.yaml
|
156
|
-
- contrib/steps/setup/archlinux/configure_ruby.yaml
|
157
|
-
- contrib/steps/setup/archlinux/install_dev_tools.yaml
|
158
|
-
- contrib/steps/setup/archlinux/install_gnome.yaml
|
159
|
-
- contrib/steps/setup/archlinux/install_yaourt.yaml
|
160
|
-
- contrib/steps/setup/autologin.yaml
|
161
|
-
- contrib/steps/setup/centos/6.5/configure_repo.yaml
|
162
|
-
- contrib/steps/setup/copy_ssh_auth_file.yaml
|
163
|
-
- contrib/steps/setup/debian/add_network_interface.yaml
|
164
|
-
- contrib/steps/setup/debian/cluster_tools_install.yaml
|
165
|
-
- contrib/steps/setup/debian/install_gnome.yaml
|
166
|
-
- contrib/steps/setup/debian/install_kde.yaml
|
167
|
-
- contrib/steps/setup/debian/network_config_static.yaml
|
168
|
-
- contrib/steps/setup/generate_user_ssh_key.yaml
|
169
|
-
- contrib/steps/setup/install_my_ssh_key.yaml
|
170
|
-
- contrib/steps/setup/make_swap_file.yaml
|
171
|
-
- contrib/steps/setup/root_ssh_config.yaml
|
172
|
-
- contrib/steps/setup/set_user_password.yaml
|
173
|
-
- contrib/steps/setup/system_optimization.yaml
|
174
132
|
- erb/extend.yaml.erb
|
175
133
|
- erb/userconf.yaml.erb
|
176
134
|
- kameleon-builder.gemspec
|
@@ -218,7 +176,7 @@ files:
|
|
218
176
|
- tests/test_version.rb
|
219
177
|
homepage: http://kameleon.imag.fr/
|
220
178
|
licenses:
|
221
|
-
- GPL-2.0
|
179
|
+
- GPL-2.0-or-later
|
222
180
|
metadata: {}
|
223
181
|
post_install_message:
|
224
182
|
rdoc_options: []
|
@@ -235,12 +193,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
235
193
|
- !ruby/object:Gem::Version
|
236
194
|
version: '0'
|
237
195
|
requirements:
|
238
|
-
-
|
239
|
-
- graphviz
|
196
|
+
- git
|
197
|
+
- graphviz
|
240
198
|
rubygems_version: 3.2.5
|
241
199
|
signing_key:
|
242
200
|
specification_version: 4
|
243
|
-
summary:
|
201
|
+
summary: The mindful appliance builder
|
244
202
|
test_files:
|
245
203
|
- tests/helper.rb
|
246
204
|
- tests/issue76/fail.stdout
|
@@ -1,12 +0,0 @@
|
|
1
|
-
#!/bin/bash
|
2
|
-
NAME=$1
|
3
|
-
VBOX_DISK=$2
|
4
|
-
|
5
|
-
VBoxManage createvm --name $NAME --register
|
6
|
-
VBoxManage modifyvm $NAME --memory 512
|
7
|
-
VBoxManage storagectl $NAME --name SATA --add sata --controller IntelAhci --bootable on --sataportcount 1
|
8
|
-
VBoxManage storageattach $NAME --storagectl SATA --port 0 --device 0 --type hdd --medium $VBOX_DISK
|
9
|
-
#VBoxManage modifyvm $NAME --nic1 hostonly
|
10
|
-
#VBoxManage modifyvm $NAME --nic1 nat
|
11
|
-
VBoxManage startvm $NAME
|
12
|
-
#VBoxManage unregistervm $NAME --delete
|
data/contrib/scripts/chroot_env
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
#!/usr/bin/env python3
|
2
|
-
### WARNING ###
|
3
|
-
# requires Python >= 3.3
|
4
|
-
|
5
|
-
import sys, crypt, getpass;
|
6
|
-
|
7
|
-
# this script generate a password using salted SHA512 whitch is the default on debian wheezy
|
8
|
-
|
9
|
-
cleartext = getpass.getpass("Password:")
|
10
|
-
cleartext2 = getpass.getpass("Again:")
|
11
|
-
if cleartext2 != cleartext:
|
12
|
-
print ('Not matched!')
|
13
|
-
sys.exit(1)
|
14
|
-
|
15
|
-
salt = crypt.mksalt(crypt.METHOD_SHA512)
|
16
|
-
print (crypt.crypt(cleartext, salt))
|
17
|
-
|