kameleon-builder 2.2.5 → 2.3.0
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/.gitignore +1 -0
- data/CHANGELOG.rst +21 -0
- data/{templates → contrib}/steps/bootstrap/debian/debootstrap_arm.yaml +1 -1
- data/{templates → contrib}/steps/export/clean_appliance.yaml +0 -0
- data/{templates → contrib}/steps/export/compact_qcow_img.yaml +0 -0
- data/{templates → contrib}/steps/setup/archlinux/configure_ruby.yaml +0 -0
- data/{templates → contrib}/steps/setup/archlinux/install_dev_tools.yaml +0 -0
- data/{templates → contrib}/steps/setup/archlinux/install_gnome.yaml +0 -0
- data/{templates → contrib}/steps/setup/archlinux/install_yaourt.yaml +0 -0
- data/{templates → contrib}/steps/setup/centos/6.5/configure_repo.yaml +0 -0
- data/{templates → contrib}/steps/setup/debian/install_gnome.yaml +0 -0
- data/{templates → contrib}/steps/setup/debian/install_kde.yaml +0 -0
- data/{templates → erb}/extend.erb +2 -2
- data/erb/userconf.erb +5 -0
- data/kameleon-builder.gemspec +6 -1
- data/lib/kameleon.rb +53 -3
- data/lib/kameleon/cli.rb +146 -99
- data/lib/kameleon/engine.rb +20 -8
- data/lib/kameleon/environment.rb +11 -10
- data/lib/kameleon/persistent_cache.rb +1 -9
- data/lib/kameleon/recipe.rb +52 -24
- data/lib/kameleon/repository.rb +46 -0
- data/lib/kameleon/utils.rb +49 -0
- data/{templates → tests/recipes}/steps/aliases/defaults.yaml +0 -0
- data/tests/recipes/steps/bootstrap/linux/bootstrap.yaml +2 -0
- data/tests/recipes/steps/checkpoints/test.yaml +14 -0
- data/tests/recipes/steps/enable_something.yaml +2 -0
- data/tests/recipes/steps/export/save_appliance.yaml +10 -0
- data/tests/recipes/steps/setup/linux/software_install.yaml +7 -0
- data/tests/recipes/test_recipe.yaml +41 -0
- data/version.txt +1 -1
- metadata +34 -139
- data/templates/COPYRIGHT +0 -21
- data/templates/chroot/debian7-amd64.yaml +0 -119
- data/templates/docker/debian7.yaml +0 -107
- data/templates/grid5000/debian7.yaml +0 -97
- data/templates/qemu/archlinux-desktop-i686.yaml +0 -25
- data/templates/qemu/archlinux-desktop-x86_64.yaml +0 -25
- data/templates/qemu/archlinux-i686.yaml +0 -25
- data/templates/qemu/archlinux-x86_64.yaml +0 -109
- data/templates/qemu/centos6.5-x86_64.yaml +0 -122
- data/templates/qemu/centos7-x86_64.yaml +0 -122
- data/templates/qemu/debian7-amd64.yaml +0 -134
- data/templates/qemu/debian7-desktop-amd64.yaml +0 -24
- data/templates/qemu/debian7-kameleon-amd64.yaml +0 -40
- data/templates/qemu/debian7-oar-amd64.yaml +0 -51
- data/templates/qemu/debian8-amd64.yaml +0 -25
- data/templates/qemu/fedora20-desktop-x86_64.yaml +0 -21
- data/templates/qemu/fedora20-x86_64.yaml +0 -119
- data/templates/qemu/ubuntu-12.04-amd64.yaml +0 -132
- data/templates/qemu/ubuntu-12.04-desktop-amd64.yaml +0 -25
- data/templates/qemu/ubuntu-14.04-amd64.yaml +0 -25
- data/templates/qemu/ubuntu-14.04-desktop-amd64.yaml +0 -27
- data/templates/steps/bootstrap/archlinux/arch_bootstrap.yaml +0 -211
- data/templates/steps/bootstrap/centos/6.5/yum_bootstrap.yaml +0 -67
- data/templates/steps/bootstrap/debian/debootstrap.yaml +0 -20
- data/templates/steps/bootstrap/fedora/init_pxeboot.yaml +0 -13
- data/templates/steps/bootstrap/fedora/yum_bootstrap.yaml +0 -45
- data/templates/steps/bootstrap/g5k_reserv.yaml +0 -70
- data/templates/steps/bootstrap/initialize_disk.yaml +0 -16
- data/templates/steps/bootstrap/initialize_disk_chroot.yaml +0 -80
- data/templates/steps/bootstrap/install_requirements.yaml +0 -3
- data/templates/steps/bootstrap/prepare_chroot.yaml +0 -126
- data/templates/steps/bootstrap/prepare_docker.yaml +0 -51
- data/templates/steps/bootstrap/prepare_qemu.yaml +0 -41
- data/templates/steps/bootstrap/prepare_virtualbox.yaml +0 -67
- data/templates/steps/bootstrap/start_chroot.yaml +0 -51
- data/templates/steps/bootstrap/start_docker.yaml +0 -16
- data/templates/steps/bootstrap/start_qemu.yaml +0 -74
- data/templates/steps/bootstrap/start_virtualbox.yaml +0 -38
- data/templates/steps/bootstrap/switch_context_qemu.yaml +0 -84
- data/templates/steps/bootstrap/switch_context_virtualbox.yaml +0 -86
- data/templates/steps/breakpoint.yaml +0 -3
- data/templates/steps/checkpoints/docker.yaml +0 -17
- data/templates/steps/checkpoints/qcow2.yaml +0 -40
- data/templates/steps/checkpoints/qemu.yaml +0 -33
- data/templates/steps/checkpoints/virtualbox.yaml +0 -21
- data/templates/steps/disable_checkpoint.yaml +0 -3
- data/templates/steps/enable_checkpoint.yaml +0 -5
- data/templates/steps/export/qemu_save_appliance.yaml +0 -52
- data/templates/steps/export/save_appliance_from_g5k.yaml +0 -47
- data/templates/steps/export/vagrant_save_appliance.yaml +0 -14
- data/templates/steps/export/virtualbox_save_appliance.yaml +0 -61
- data/templates/steps/setup/archlinux/configure_keyboard.yaml +0 -9
- data/templates/steps/setup/archlinux/configure_network.yaml +0 -9
- data/templates/steps/setup/archlinux/configure_system.yaml +0 -20
- data/templates/steps/setup/archlinux/install_bootloader.yaml +0 -23
- data/templates/steps/setup/archlinux/install_software.yaml +0 -9
- data/templates/steps/setup/autologin.yaml +0 -16
- data/templates/steps/setup/centos/6.5/configure_network.yaml +0 -33
- data/templates/steps/setup/centos/6.5/configure_system.yaml +0 -46
- data/templates/steps/setup/centos/6.5/minimal_install.yaml +0 -3
- data/templates/steps/setup/centos/6.5/setup_vagrant_box.yaml +0 -77
- data/templates/steps/setup/create_group.yaml +0 -12
- data/templates/steps/setup/create_user.yaml +0 -11
- data/templates/steps/setup/debian/configure_apt.yaml +0 -73
- data/templates/steps/setup/debian/configure_kernel.yaml +0 -13
- data/templates/steps/setup/debian/configure_keyboard.yaml +0 -10
- data/templates/steps/setup/debian/configure_network.yaml +0 -30
- data/templates/steps/setup/debian/configure_system.yaml +0 -12
- data/templates/steps/setup/debian/install_bootloader.yaml +0 -36
- data/templates/steps/setup/debian/install_software.yaml +0 -2
- data/templates/steps/setup/debian/oar/oar_debian_config_frontend.yaml +0 -8
- data/templates/steps/setup/debian/oar/oar_debian_config_node.yaml +0 -5
- data/templates/steps/setup/debian/oar/oar_debian_config_server.yaml +0 -5
- data/templates/steps/setup/debian/oar/oar_prereq_install.yaml +0 -16
- data/templates/steps/setup/debian/setup_vagrant_box.yaml +0 -80
- data/templates/steps/setup/debian/upgrade_system.yaml +0 -10
- data/templates/steps/setup/fedora/configure_kernel.yaml +0 -9
- data/templates/steps/setup/fedora/configure_keyboard.yaml +0 -12
- data/templates/steps/setup/fedora/configure_network.yaml +0 -38
- data/templates/steps/setup/fedora/configure_system.yaml +0 -52
- data/templates/steps/setup/fedora/install_bootloader.yaml +0 -53
- data/templates/steps/setup/fedora/install_software.yaml +0 -3
- data/templates/steps/setup/fedora/minimal_install.yaml +0 -3
- data/templates/steps/setup/fedora/update_system.yaml +0 -16
- data/templates/steps/setup/oar/oar_config_devel.yaml +0 -21
- data/templates/steps/setup/oar/oar_config_frontend.yaml +0 -38
- data/templates/steps/setup/oar/oar_config_node.yaml +0 -4
- data/templates/steps/setup/oar/oar_config_server.yaml +0 -25
- data/templates/steps/setup/oar/oar_config_system.yaml +0 -34
- data/templates/steps/setup/oar/oar_devel_prereq_install.yaml +0 -5
- data/templates/steps/setup/oar/oar_git_install.yaml +0 -21
- data/templates/steps/setup/ubuntu/configure_apt.yaml +0 -62
- data/templates/virtualbox/archlinux-desktop-i686.yaml +0 -25
- data/templates/virtualbox/archlinux-desktop-x86_64.yaml +0 -28
- data/templates/virtualbox/archlinux-i686.yaml +0 -28
- data/templates/virtualbox/archlinux-x86_64.yaml +0 -108
- data/templates/virtualbox/centos6.5-i386.yaml +0 -39
- data/templates/virtualbox/centos6.5-vagrant-x86_64.yaml +0 -33
- data/templates/virtualbox/centos6.5-x86_64.yaml +0 -121
- data/templates/virtualbox/centos7-x86_64.yaml +0 -118
- data/templates/virtualbox/debian7-amd64.yaml +0 -128
- data/templates/virtualbox/debian7-desktop-amd64.yaml +0 -25
- data/templates/virtualbox/debian7-i386.yaml +0 -31
- data/templates/virtualbox/debian7-kameleon-amd64.yaml +0 -38
- data/templates/virtualbox/debian7-oar-amd64.yaml +0 -51
- data/templates/virtualbox/debian7-vagrant-amd64.yaml +0 -32
- data/templates/virtualbox/debian8-amd64.yaml +0 -25
- data/templates/virtualbox/debian8-i386.yaml +0 -31
- data/templates/virtualbox/fedora20-x86_64.yaml +0 -118
- data/templates/virtualbox/ubuntu-12.04-amd64.yaml +0 -128
- data/templates/virtualbox/ubuntu-12.04-desktop-amd64.yaml +0 -25
- data/templates/virtualbox/ubuntu-14.04-amd64.yaml +0 -25
- data/templates/virtualbox/ubuntu-14.04-desktop-amd64.yaml +0 -27
- data/tests/recipes/dummy_recipe.yaml +0 -48
- data/tests/recipes/steps/bootstrap/dummy_distro/dummy_bootstrap_static.yaml +0 -4
- data/tests/recipes/steps/export/dummy_save_appliance.yaml +0 -9
- data/tests/recipes/steps/setup/default/dummy_root_passwd.yaml +0 -8
- 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,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,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,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
|