kameleon-builder 2.2.5 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (151) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/CHANGELOG.rst +21 -0
  4. data/{templates → contrib}/steps/bootstrap/debian/debootstrap_arm.yaml +1 -1
  5. data/{templates → contrib}/steps/export/clean_appliance.yaml +0 -0
  6. data/{templates → contrib}/steps/export/compact_qcow_img.yaml +0 -0
  7. data/{templates → contrib}/steps/setup/archlinux/configure_ruby.yaml +0 -0
  8. data/{templates → contrib}/steps/setup/archlinux/install_dev_tools.yaml +0 -0
  9. data/{templates → contrib}/steps/setup/archlinux/install_gnome.yaml +0 -0
  10. data/{templates → contrib}/steps/setup/archlinux/install_yaourt.yaml +0 -0
  11. data/{templates → contrib}/steps/setup/centos/6.5/configure_repo.yaml +0 -0
  12. data/{templates → contrib}/steps/setup/debian/install_gnome.yaml +0 -0
  13. data/{templates → contrib}/steps/setup/debian/install_kde.yaml +0 -0
  14. data/{templates → erb}/extend.erb +2 -2
  15. data/erb/userconf.erb +5 -0
  16. data/kameleon-builder.gemspec +6 -1
  17. data/lib/kameleon.rb +53 -3
  18. data/lib/kameleon/cli.rb +146 -99
  19. data/lib/kameleon/engine.rb +20 -8
  20. data/lib/kameleon/environment.rb +11 -10
  21. data/lib/kameleon/persistent_cache.rb +1 -9
  22. data/lib/kameleon/recipe.rb +52 -24
  23. data/lib/kameleon/repository.rb +46 -0
  24. data/lib/kameleon/utils.rb +49 -0
  25. data/{templates → tests/recipes}/steps/aliases/defaults.yaml +0 -0
  26. data/tests/recipes/steps/bootstrap/linux/bootstrap.yaml +2 -0
  27. data/tests/recipes/steps/checkpoints/test.yaml +14 -0
  28. data/tests/recipes/steps/enable_something.yaml +2 -0
  29. data/tests/recipes/steps/export/save_appliance.yaml +10 -0
  30. data/tests/recipes/steps/setup/linux/software_install.yaml +7 -0
  31. data/tests/recipes/test_recipe.yaml +41 -0
  32. data/version.txt +1 -1
  33. metadata +34 -139
  34. data/templates/COPYRIGHT +0 -21
  35. data/templates/chroot/debian7-amd64.yaml +0 -119
  36. data/templates/docker/debian7.yaml +0 -107
  37. data/templates/grid5000/debian7.yaml +0 -97
  38. data/templates/qemu/archlinux-desktop-i686.yaml +0 -25
  39. data/templates/qemu/archlinux-desktop-x86_64.yaml +0 -25
  40. data/templates/qemu/archlinux-i686.yaml +0 -25
  41. data/templates/qemu/archlinux-x86_64.yaml +0 -109
  42. data/templates/qemu/centos6.5-x86_64.yaml +0 -122
  43. data/templates/qemu/centos7-x86_64.yaml +0 -122
  44. data/templates/qemu/debian7-amd64.yaml +0 -134
  45. data/templates/qemu/debian7-desktop-amd64.yaml +0 -24
  46. data/templates/qemu/debian7-kameleon-amd64.yaml +0 -40
  47. data/templates/qemu/debian7-oar-amd64.yaml +0 -51
  48. data/templates/qemu/debian8-amd64.yaml +0 -25
  49. data/templates/qemu/fedora20-desktop-x86_64.yaml +0 -21
  50. data/templates/qemu/fedora20-x86_64.yaml +0 -119
  51. data/templates/qemu/ubuntu-12.04-amd64.yaml +0 -132
  52. data/templates/qemu/ubuntu-12.04-desktop-amd64.yaml +0 -25
  53. data/templates/qemu/ubuntu-14.04-amd64.yaml +0 -25
  54. data/templates/qemu/ubuntu-14.04-desktop-amd64.yaml +0 -27
  55. data/templates/steps/bootstrap/archlinux/arch_bootstrap.yaml +0 -211
  56. data/templates/steps/bootstrap/centos/6.5/yum_bootstrap.yaml +0 -67
  57. data/templates/steps/bootstrap/debian/debootstrap.yaml +0 -20
  58. data/templates/steps/bootstrap/fedora/init_pxeboot.yaml +0 -13
  59. data/templates/steps/bootstrap/fedora/yum_bootstrap.yaml +0 -45
  60. data/templates/steps/bootstrap/g5k_reserv.yaml +0 -70
  61. data/templates/steps/bootstrap/initialize_disk.yaml +0 -16
  62. data/templates/steps/bootstrap/initialize_disk_chroot.yaml +0 -80
  63. data/templates/steps/bootstrap/install_requirements.yaml +0 -3
  64. data/templates/steps/bootstrap/prepare_chroot.yaml +0 -126
  65. data/templates/steps/bootstrap/prepare_docker.yaml +0 -51
  66. data/templates/steps/bootstrap/prepare_qemu.yaml +0 -41
  67. data/templates/steps/bootstrap/prepare_virtualbox.yaml +0 -67
  68. data/templates/steps/bootstrap/start_chroot.yaml +0 -51
  69. data/templates/steps/bootstrap/start_docker.yaml +0 -16
  70. data/templates/steps/bootstrap/start_qemu.yaml +0 -74
  71. data/templates/steps/bootstrap/start_virtualbox.yaml +0 -38
  72. data/templates/steps/bootstrap/switch_context_qemu.yaml +0 -84
  73. data/templates/steps/bootstrap/switch_context_virtualbox.yaml +0 -86
  74. data/templates/steps/breakpoint.yaml +0 -3
  75. data/templates/steps/checkpoints/docker.yaml +0 -17
  76. data/templates/steps/checkpoints/qcow2.yaml +0 -40
  77. data/templates/steps/checkpoints/qemu.yaml +0 -33
  78. data/templates/steps/checkpoints/virtualbox.yaml +0 -21
  79. data/templates/steps/disable_checkpoint.yaml +0 -3
  80. data/templates/steps/enable_checkpoint.yaml +0 -5
  81. data/templates/steps/export/qemu_save_appliance.yaml +0 -52
  82. data/templates/steps/export/save_appliance_from_g5k.yaml +0 -47
  83. data/templates/steps/export/vagrant_save_appliance.yaml +0 -14
  84. data/templates/steps/export/virtualbox_save_appliance.yaml +0 -61
  85. data/templates/steps/setup/archlinux/configure_keyboard.yaml +0 -9
  86. data/templates/steps/setup/archlinux/configure_network.yaml +0 -9
  87. data/templates/steps/setup/archlinux/configure_system.yaml +0 -20
  88. data/templates/steps/setup/archlinux/install_bootloader.yaml +0 -23
  89. data/templates/steps/setup/archlinux/install_software.yaml +0 -9
  90. data/templates/steps/setup/autologin.yaml +0 -16
  91. data/templates/steps/setup/centos/6.5/configure_network.yaml +0 -33
  92. data/templates/steps/setup/centos/6.5/configure_system.yaml +0 -46
  93. data/templates/steps/setup/centos/6.5/minimal_install.yaml +0 -3
  94. data/templates/steps/setup/centos/6.5/setup_vagrant_box.yaml +0 -77
  95. data/templates/steps/setup/create_group.yaml +0 -12
  96. data/templates/steps/setup/create_user.yaml +0 -11
  97. data/templates/steps/setup/debian/configure_apt.yaml +0 -73
  98. data/templates/steps/setup/debian/configure_kernel.yaml +0 -13
  99. data/templates/steps/setup/debian/configure_keyboard.yaml +0 -10
  100. data/templates/steps/setup/debian/configure_network.yaml +0 -30
  101. data/templates/steps/setup/debian/configure_system.yaml +0 -12
  102. data/templates/steps/setup/debian/install_bootloader.yaml +0 -36
  103. data/templates/steps/setup/debian/install_software.yaml +0 -2
  104. data/templates/steps/setup/debian/oar/oar_debian_config_frontend.yaml +0 -8
  105. data/templates/steps/setup/debian/oar/oar_debian_config_node.yaml +0 -5
  106. data/templates/steps/setup/debian/oar/oar_debian_config_server.yaml +0 -5
  107. data/templates/steps/setup/debian/oar/oar_prereq_install.yaml +0 -16
  108. data/templates/steps/setup/debian/setup_vagrant_box.yaml +0 -80
  109. data/templates/steps/setup/debian/upgrade_system.yaml +0 -10
  110. data/templates/steps/setup/fedora/configure_kernel.yaml +0 -9
  111. data/templates/steps/setup/fedora/configure_keyboard.yaml +0 -12
  112. data/templates/steps/setup/fedora/configure_network.yaml +0 -38
  113. data/templates/steps/setup/fedora/configure_system.yaml +0 -52
  114. data/templates/steps/setup/fedora/install_bootloader.yaml +0 -53
  115. data/templates/steps/setup/fedora/install_software.yaml +0 -3
  116. data/templates/steps/setup/fedora/minimal_install.yaml +0 -3
  117. data/templates/steps/setup/fedora/update_system.yaml +0 -16
  118. data/templates/steps/setup/oar/oar_config_devel.yaml +0 -21
  119. data/templates/steps/setup/oar/oar_config_frontend.yaml +0 -38
  120. data/templates/steps/setup/oar/oar_config_node.yaml +0 -4
  121. data/templates/steps/setup/oar/oar_config_server.yaml +0 -25
  122. data/templates/steps/setup/oar/oar_config_system.yaml +0 -34
  123. data/templates/steps/setup/oar/oar_devel_prereq_install.yaml +0 -5
  124. data/templates/steps/setup/oar/oar_git_install.yaml +0 -21
  125. data/templates/steps/setup/ubuntu/configure_apt.yaml +0 -62
  126. data/templates/virtualbox/archlinux-desktop-i686.yaml +0 -25
  127. data/templates/virtualbox/archlinux-desktop-x86_64.yaml +0 -28
  128. data/templates/virtualbox/archlinux-i686.yaml +0 -28
  129. data/templates/virtualbox/archlinux-x86_64.yaml +0 -108
  130. data/templates/virtualbox/centos6.5-i386.yaml +0 -39
  131. data/templates/virtualbox/centos6.5-vagrant-x86_64.yaml +0 -33
  132. data/templates/virtualbox/centos6.5-x86_64.yaml +0 -121
  133. data/templates/virtualbox/centos7-x86_64.yaml +0 -118
  134. data/templates/virtualbox/debian7-amd64.yaml +0 -128
  135. data/templates/virtualbox/debian7-desktop-amd64.yaml +0 -25
  136. data/templates/virtualbox/debian7-i386.yaml +0 -31
  137. data/templates/virtualbox/debian7-kameleon-amd64.yaml +0 -38
  138. data/templates/virtualbox/debian7-oar-amd64.yaml +0 -51
  139. data/templates/virtualbox/debian7-vagrant-amd64.yaml +0 -32
  140. data/templates/virtualbox/debian8-amd64.yaml +0 -25
  141. data/templates/virtualbox/debian8-i386.yaml +0 -31
  142. data/templates/virtualbox/fedora20-x86_64.yaml +0 -118
  143. data/templates/virtualbox/ubuntu-12.04-amd64.yaml +0 -128
  144. data/templates/virtualbox/ubuntu-12.04-desktop-amd64.yaml +0 -25
  145. data/templates/virtualbox/ubuntu-14.04-amd64.yaml +0 -25
  146. data/templates/virtualbox/ubuntu-14.04-desktop-amd64.yaml +0 -27
  147. data/tests/recipes/dummy_recipe.yaml +0 -48
  148. data/tests/recipes/steps/bootstrap/dummy_distro/dummy_bootstrap_static.yaml +0 -4
  149. data/tests/recipes/steps/export/dummy_save_appliance.yaml +0 -9
  150. data/tests/recipes/steps/setup/default/dummy_root_passwd.yaml +0 -8
  151. data/tests/recipes/steps/setup/dummy_distro/dummy_software_install.yaml +0 -7
@@ -1,40 +0,0 @@
1
- enabled?:
2
- - exec_local: test -f $$kameleon_cwd/checkpoint_enabled
3
- - exec_local: test -e "$$image_disk"
4
-
5
- create:
6
- - exec_local: |
7
- parent_of_@microstep_id="$(readlink $$image_disk)"
8
- pushd $$kameleon_cwd/checkpoints
9
- rm -f @microstep_id_checkpoint.qcow2
10
- qemu-img create -f qcow2 "@microstep_id_checkpoint.qcow2" \
11
- -o backing_file=$(basename "$parent_of_@microstep_id")
12
- popd
13
- ln -sf $$kameleon_cwd/checkpoints/@microstep_id_checkpoint.qcow2 $$image_disk
14
- lsmod | grep nbd >/dev/null || modprobe nbd max_part=63
15
- echo "sync" ; sync
16
- qemu-nbd -d $$nbd_device
17
- qemu-nbd -c $$nbd_device "$(readlink $$image_disk)"
18
-
19
- apply:
20
- - exec_local: |
21
- # apply command use the backing file that represent the real state to restore
22
- previous_id=$(qemu-img info "checkpoints/@microstep_id_checkpoint.qcow2" \
23
- | grep backing \
24
- | sed -e 's/.*checkpoints\/\(.*\)_checkpoint.qcow2\(.*\)/\1/p' \
25
- | uniq)
26
- ln -sf "$$kameleon_cwd/checkpoints/${previous_id}_checkpoint.qcow2" "$$image_disk"
27
-
28
- clear:
29
- - exec_local: |
30
- if [ -d "$$kameleon_cwd/checkpoints" ] ; then
31
- ls $$kameleon_cwd/checkpoints/ | \
32
- xargs -I {} bash -c "echo Removing $$kameleon_cwd/checkpoints/{} ; rm $$kameleon_cwd/checkpoints/{}"
33
- rm -f $$image_disk
34
- fi
35
-
36
- list:
37
- - exec_local: |
38
- if [ -d "$$kameleon_cwd/checkpoints" ] ; then
39
- ls $$kameleon_cwd/checkpoints/ | sed -e 's/\(.*\)_checkpoint.qcow2/\1/p' | uniq
40
- fi
@@ -1,33 +0,0 @@
1
- enabled?:
2
- - exec_local: test -f $$kameleon_cwd/checkpoint_enabled
3
- - exec_local: test -S $$qemu_monitor_socket
4
-
5
- create:
6
- - exec_local: echo -e "savevm @microstep_id" | socat - UNIX-CONNECT:$$qemu_monitor_socket
7
-
8
- apply:
9
- - exec_local: |
10
- [[ ! -f "$$kameleon_cwd/vm_state_to_load.txt" ]] || rm -f $$kameleon_cwd/vm_state_to_load.txt
11
- if [ -f "$$qemu_image_disk" ] ; then
12
- _checkpoints=$(qemu-img snapshot -l $$qemu_image_disk | tail -n +3 | awk '{print $2}')
13
- _checkpoints=($_checkpoints)
14
- for checkpoint in "${_checkpoints[@]}"; do
15
- if [ -f "$$kameleon_cwd/vm_state_to_load.txt" ]; then
16
- echo "Removing old checkpoint $checkpoint"
17
- qemu-img snapshot -d $checkpoint $$qemu_image_disk
18
- fi
19
- if [[ "$checkpoint" == "@microstep_id" ]]; then
20
- echo "@microstep_id" > $$kameleon_cwd/vm_state_to_load.txt
21
- qemu-img snapshot -a $checkpoint $$qemu_image_disk
22
- fi
23
- done
24
- fi
25
-
26
- clear:
27
- - exec_local: rm -f $$qemu_image_disk
28
-
29
- list:
30
- - exec_local: |
31
- if [ -f "$$qemu_image_disk" ] ; then
32
- qemu-img snapshot -l $$qemu_image_disk | tail -n +3 | awk '{print $2}'
33
- fi
@@ -1,21 +0,0 @@
1
- enabled?:
2
- - exec_local: test -f $$kameleon_cwd/checkpoint_enabled
3
- - exec_local: VBoxManage list vms | grep -q $$virtualbox_vmid
4
-
5
- create:
6
- - exec_local: VBoxManage snapshot $$virtualbox_vmid take @microstep_id 2>&1
7
-
8
- apply:
9
- - exec_local: VBoxManage snapshot $$virtualbox_vmid restore @microstep_id 2>&1
10
-
11
- clear:
12
- - exec_local: |
13
- if VBoxManage list vms | grep -q $$virtualbox_vmid; then
14
- VBoxManage unregistervm --delete $$virtualbox_vmid 2>&1
15
- fi
16
-
17
- list:
18
- - exec_local: |
19
- if VBoxManage list vms | grep -q $$virtualbox_vmid; then
20
- VBoxManage snapshot $$virtualbox_vmid list | grep 'Name:' | awk '{print $2}'
21
- fi
@@ -1,3 +0,0 @@
1
- - disable_checkpoint:
2
- - on_checkpoint: redo
3
- - exec_local: rm -f $$kameleon_cwd/checkpoint_enabled
@@ -1,5 +0,0 @@
1
- - enable_checkpoint:
2
- - on_checkpoint: redo
3
- - on_bootstrap_init:
4
- - exec_local: rm -f $$kameleon_cwd/checkpoint_enabled
5
- - exec_local: touch $$kameleon_cwd/checkpoint_enabled
@@ -1,52 +0,0 @@
1
- # Save Appliance
2
-
3
- - tar_out_opts: numericowner:true excludes:etc/fstab
4
-
5
- - save_as_tar_gz:
6
- - check_cmd_local: guestfish
7
- - check_cmd_local: gzip
8
- - exec_local: echo "Exporting appliance to $$output.tar.gz..."
9
- - exec_local: guestfish --ro -i tar-out -a $$input / - $$tar_out_opts | gzip --best > $$output.tar.gz
10
-
11
- - save_as_tar_xz:
12
- - check_cmd_local: guestfish
13
- - check_cmd_local: xz
14
- - exec_local: echo "Exporting appliance to $$output.tar.xz..."
15
- - exec_local: guestfish --ro -i tar-out -a $$input / - $$tar_out_opts | xz -9 -c - > $$output.tar.xz
16
-
17
- - save_as_tar_bz2:
18
- - check_cmd_local: guestfish
19
- - check_cmd_local: bzip2
20
- - exec_local: echo "Exporting appliance to $$output.tar.bz2..."
21
- - exec_local: guestfish --ro -i tar-out -a $$input / - $$tar_out_opts | bzip2 --best > $$output.tar.bz2
22
-
23
- - save_as_raw:
24
- - check_cmd_local: qemu-img
25
- - exec_local: echo "Exporting appliance to $$output.raw..."
26
- - exec_local: qemu-img convert -O raw $$input $$output.raw
27
-
28
- - save_as_qcow2:
29
- - check_cmd_local: qemu-img
30
- - exec_local: echo "Exporting appliance to $$output.qcow2..."
31
- - exec_local: qemu-img convert -c -O qcow2 $$input $$output.qcow2
32
-
33
- - save_as_qed:
34
- - check_cmd_local: qemu-img
35
- - exec_local: echo "Exporting appliance to $$output.qed..."
36
- - exec_local: qemu-img convert -O qed $$input $$output.qed
37
-
38
- - save_as_vmdk:
39
- - check_cmd_local: qemu-img
40
- - exec_local: echo "Exporting appliance to $$output.vmdk..."
41
- - exec_local: qemu-img convert -O vmdk $$input $$output.vmdk
42
-
43
- - save_as_vdi:
44
- - check_cmd_local: qemu-img
45
- - exec_local: echo "Exporting appliance to $$output.vdi..."
46
- - exec_local: qemu-img convert -O vdi $$input $$output.vdi
47
- - rescue:
48
- - exec_local: |
49
- echo "Compact the vdi disk"
50
- VBoxManage modifyhd $$output.vdi --compact 2>&1
51
- - exec_local: |
52
- echo "Cannot compact the vdi disk : VBoxManage is missing."
@@ -1,47 +0,0 @@
1
- # # Save G5k Appliance
2
-
3
- - save_as_g5k:
4
- - exec_out: echo "Using tgz g5k to Export the machine"
5
- - exec_in: tgz-g5k $$in_cwd/$$filename.tar.gz
6
- - exec_out: |
7
- rsync -avz -e "ssh -F $$out_cwd/ssh_config" \
8
- $$kameleon_recipe_name:$$in_cwd/$$filename.tar.gz \
9
- $$out_cwd/$$filename.tar.gz
10
- - exec_out: echo "Saved tar.gz appliance to $$out_cwd/$$filename.tar.gz"
11
- - exec_in: rm -f $$in_cwd/$$filename.tar.gz
12
- - exec_out: echo "Getting the appropiate post install"
13
- - pipe:
14
- - exec_out: kaenv3 -p $$kenv | grep archive
15
- - exec_in: cat > /tmp/postinstall
16
-
17
- - write_in:
18
- - $$in_cwd/$${kameleon_recipe_name}_img.yaml
19
- - |
20
- #
21
- # Kameleon generated based on kadeploy description file
22
- #
23
- ---
24
- name: $${kameleon_recipe_name}
25
-
26
- version: 1
27
-
28
- os: linux
29
-
30
- image:
31
- file: $$filename.tar.gz
32
- kind: tar
33
- compression: gzip
34
-
35
- postinstalls:
36
- `cat /tmp/postinstall`
37
- compression: gzip
38
- script: traitement.ash /rambin
39
-
40
- boot:
41
- kernel: /boot/`basename /boot/vmlinu*`
42
- initrd: /boot/`basename /boot/init*`
43
-
44
- filesystem: $$filesystem
45
- - in2out:
46
- - $$in_cwd/$${kameleon_recipe_name}_img.yaml
47
- - $$out_cwd/$${kameleon_recipe_name}_img.yaml
@@ -1,14 +0,0 @@
1
- # Save Appliance from virtualbox vagrant
2
-
3
- - memory_size: $$virtualbox_memory_size
4
-
5
- - customized_vm:
6
- - exec_local: VBoxManage modifyvm $$virtualbox_vmid --natpf1 delete guestssh
7
- - exec_local: VBoxManage storageattach $$virtualbox_vmid --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium none
8
- - exec_local: VBoxManage modifyvm $$virtualbox_vmid --memory $$memory_size
9
-
10
- - save_box:
11
- - check_cmd_local: vagrant
12
- - exec_local: echo "Exporting appliance to $$output.box..."
13
- - exec_local: rm -f $$output.box
14
- - exec_local: vagrant package --base $$virtualbox_vmid --output $$output.box
@@ -1,61 +0,0 @@
1
- # Save Appliance from virtualbox
2
-
3
- - tar_out_opts: numericowner:true excludes:etc/fstab
4
-
5
- - save_as_ova:
6
- - exec_local: rm -f $$output.ova
7
- - exec_local: VBoxManage modifyvm $$virtualbox_vmid --natpf1 delete guestssh
8
- - exec_local: VBoxManage storageattach $$virtualbox_vmid --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium none
9
- - exec_local: VBoxManage export $$virtualbox_vmid -o $$output.ova
10
-
11
- - save_as_vdi:
12
- - check_cmd_local: qemu-img
13
- - exec_local: echo "Exporting appliance to $$output.vdi..."
14
- - exec_local: qemu-img convert -O vdi $$virtualbox_image_disk $$output.vdi
15
- - rescue:
16
- - exec_local: |
17
- echo "Compact the vdi disk"
18
- VBoxManage modifyhd $$output.vdi --compact 2>&1
19
- - exec_local: |
20
- echo "Cannot compact the vdi disk : VBoxManage is missing."
21
- - exec_local: echo "Saved vdi appliance to $$output.vdi"
22
-
23
- - save_as_vmdk:
24
- - check_cmd_local: qemu-img
25
- - exec_local: echo "Exporting appliance to $$output.vmdk..."
26
- - exec_local: qemu-img convert -O vmdk $$virtualbox_image_disk $$output.vmdk
27
- - exec_local: echo "Saved vmdk appliance to $$output.vmdk"
28
-
29
- - save_as_tar_gz:
30
- - check_cmd_local: guestfish
31
- - check_cmd_local: gzip
32
- - exec_local: echo "Exporting appliance to $$output.tar.gz..."
33
- - exec_local: guestfish --ro -i tar-out -a $$virtualbox_image_disk / - $$tar_out_opts | gzip --best > $$output.tar.gz
34
-
35
- - save_as_tar_xz:
36
- - check_cmd_local: guestfish
37
- - check_cmd_local: xz
38
- - exec_local: echo "Exporting appliance to $$output.tar.xz..."
39
- - exec_local: guestfish --ro -i tar-out -a $$virtualbox_image_disk / - $$tar_out_opts | xz -9 -c - > $$output.tar.xz
40
-
41
- - save_as_tar_bz2:
42
- - check_cmd_local: guestfish
43
- - check_cmd_local: bzip2
44
- - exec_local: echo "Exporting appliance to $$output.tar.bz2..."
45
- - exec_local: guestfish --ro -i tar-out -a $$virtualbox_image_disk / - $$tar_out_opts | bzip2 --best > $$output.tar.bz2
46
-
47
- - save_as_raw:
48
- - check_cmd_local: qemu-img
49
- - exec_local: echo "Exporting appliance to $$output.raw..."
50
- - exec_local: qemu-img convert -O raw $$virtualbox_image_disk $$output.raw
51
- - exec_local: echo "Saved raw appliance to $$output.raw"
52
-
53
- - save_as_qcow2:
54
- - check_cmd_local: qemu-img
55
- - exec_local: echo "Exporting appliance to $$output.qcow2..."
56
- - exec_local: qemu-img convert -c -O qcow2 $$virtualbox_image_disk $$output.qcow2
57
-
58
- - save_as_qed:
59
- - check_cmd_local: qemu-img
60
- - exec_local: echo "Exporting appliance to $$output.qed..."
61
- - exec_local: qemu-img convert -O qed $$virtualbox_image_disk $$output.qed
@@ -1,9 +0,0 @@
1
- # Keyboard configuration for Archlinux
2
- #
3
- # This should work on every systemd powered system
4
-
5
- - set_keyboard_layout:
6
- - write_in:
7
- - /etc/vconsole.conf
8
- - |
9
- KEYMAP=$$layout
@@ -1,9 +0,0 @@
1
- # Network config for Archlinux
2
- #
3
- # This should work for every systemd powered system
4
-
5
- - set_hostname:
6
- - exec_in: echo $$hostname > /etc/hostname
7
-
8
- - set_interface:
9
- - exec_in: systemctl enable dhcpcd.service
@@ -1,20 +0,0 @@
1
- # System configuration for Archlinux
2
- #
3
- # This will set the locals and the timezone
4
-
5
- - set_locales:
6
- # uncomment the locales
7
- - exec_in: |
8
- test ! -f /etc/locale.gen || \
9
- (echo $$locales | tr ' ' '\n' | xargs -I {} sed -i 's/^#{}/{}/' /etc/locale.gen)
10
- # generate the locales
11
- - exec_in: locale-gen
12
- # save and apply
13
- - exec_in: echo LANG=$$lang > /etc/locale.conf
14
- - exec_in: export LANG=$$lang
15
-
16
- - set_timezone:
17
- - exec_in: ln -s /usr/share/zoneinfo/$$timezone /etc/localtime
18
-
19
- - set_wheel_sudo:
20
- - exec_in: echo "%wheel ALL=(ALL) ALL" >> /etc/sudoers
@@ -1,23 +0,0 @@
1
- # Install extlinux bootloader
2
-
3
- - install_syslinux:
4
- - check_cmd_in: extlinux
5
- - check_cmd_in: syslinux-install_update
6
- - exec_in: DISTRIB_TITLE="$$kameleon_recipe_name"
7
- - exec_in: syslinux-install_update -a -m
8
- - exec_in: cp -r /usr/lib/syslinux/bios/*.c32 /boot/syslinux/
9
- - exec_in: extlinux --install /boot/syslinux 2>&1
10
- - exec_in: syslinux-install_update -a -m
11
- - write_in:
12
- - /boot/syslinux/syslinux.cfg
13
- - |
14
- default ${DISTRIB_TITLE^}
15
- timeout 1
16
-
17
- label ${DISTRIB_TITLE^}
18
- kernel ../vmlinuz-linux
19
- initrd ../initramfs-linux.img
20
- # the net.ifnames option is disable to get default net interface
21
- # names according to this page:
22
- # https://wiki.archlinux.org/index.php/Network_Configuration#Device_names
23
- append root=UUID=`blkid -s UUID -o value $(__find_linux_boot_device)` rw net.ifnames=0
@@ -1,9 +0,0 @@
1
- # Software install for archlinux
2
- #
3
- # It use pacman tool to install given packages
4
-
5
- - do_install:
6
- - exec_in: pacman --noconfirm --arch $$arch -Suy --force $$packages
7
- - on_clean:
8
- - exec_in: echo "y" | pacman -Scc
9
-
@@ -1,16 +0,0 @@
1
- # # Autologin
2
- - set_autologin:
3
- - exec_in: |
4
- # check SysV init
5
- if [ -f '/etc/inittab' ]
6
- then
7
- perl -pi -e 's;/sbin/getty.*tty1;/bin/login -f $$user_name tty1 </dev/tty1 >/dev/tty1 2>&1;' /etc/inittab
8
- else
9
- # use systemd
10
- mkdir -p /etc/systemd/system/getty@tty1.service.d
11
- cat > /etc/systemd/system/getty@tty1.service.d/autologin.conf <<< '
12
- [Service]
13
- ExecStart=
14
- ExecStart=-/usr/bin/agetty --autologin <username> --noclear %I 38400 linux
15
- '
16
- fi
@@ -1,33 +0,0 @@
1
- - mtu: "1492"
2
-
3
- - set_hostname:
4
- - exec_in: echo $$hostname > /etc/hostname
5
-
6
- - enable_network:
7
- - exec_in: chkconfig network on
8
-
9
- - set_host:
10
- - write_in:
11
- - /etc/hosts
12
- - |
13
- 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 $$hostname
14
- ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 $$hostname
15
-
16
- - set_interface:
17
- - write_in:
18
- - /etc/sysconfig/network-scripts/ifcfg-eth0
19
- - |
20
- DEVICE="eth0"
21
- BOOTPROTO="dhcp"
22
- HOSTNAME="$$hostname"
23
- IPV6INIT="yes"
24
- NM_CONTROLLED="yes"
25
- ONBOOT="yes"
26
- TYPE="Ethernet"
27
- MTU="$$mtu"
28
- - write_in:
29
- - /etc/sysconfig/network
30
- - |
31
- NETWORKING=yes
32
- HOSTNAME=$$hostname
33
- RES_OPTIONS="single-request-reopen"
@@ -1,46 +0,0 @@
1
- # System configuration
2
- #
3
- # This will set the locals and the timezone
4
-
5
-
6
- - set_locales:
7
- # uncomment the locales
8
- - exec_in: |
9
- echo $$locales | tr ' ' '\n' | xargs -I {} localedef -v -c -i {} -i {} -f UTF-8 $$lang 2>&1 || :
10
-
11
- - set_timezone:
12
- - exec_in: ln -sf /usr/share/zoneinfo/$$timezone /etc/localtime
13
-
14
- - set_wheel_sudo:
15
- - exec_in: echo "%wheel ALL=(ALL) ALL" >> /etc/sudoers
16
-
17
- - remove_random_seed:
18
- - exec_in: echo "Removing random-seed so it's not the same in every image."
19
- - exec_in: rm -f /var/lib/random-seed
20
-
21
- - compress_cracklib:
22
- - exec_in: gzip -9 /usr/share/cracklib/pw_dict.pwd
23
-
24
- - enable_sshd:
25
- - exec_in: chkconfig sshd on
26
-
27
- - enable_ntpdate_service:
28
- - exec_in: chkconfig ntpd on
29
-
30
- - selinux: permissive
31
- - selinuxtype: targeted
32
-
33
- - configure_selinux:
34
- - write_in:
35
- - /etc/selinux/config
36
- - |
37
- # This file controls the state of SELinux on the system.
38
- # SELINUX= can take one of these three values:
39
- # enforcing - SELinux security policy is enforced.
40
- # permissive - SELinux prints warnings instead of enforcing.
41
- # disabled - SELinux is fully disabled.
42
- SELINUX=$$selinux
43
- # SELINUXTYPE= type of policy in use. Possible values are:
44
- # targeted - Only targeted network daemons are protected.
45
- # strict - Full SELinux protection.
46
- SELINUXTYPE=$$selinuxtype