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.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/.bumpversion.cfg +1 -1
  3. data/AUTHORS +6 -5
  4. data/CHANGES +20 -0
  5. data/COPYING +5 -5
  6. data/erb/extend.yaml.erb +1 -1
  7. data/kameleon-builder.gemspec +12 -10
  8. data/lib/kameleon/cli.rb +1 -1
  9. data/lib/kameleon/engine.rb +1 -1
  10. data/lib/kameleon/persistent_cache.rb +1 -1
  11. data/lib/kameleon/recipe.rb +11 -11
  12. data/lib/kameleon/step.rb +3 -3
  13. data/lib/kameleon/version.rb +1 -1
  14. data/lib/kameleon.rb +4 -4
  15. metadata +24 -66
  16. data/contrib/scripts/VirtualBox_deploy.sh +0 -12
  17. data/contrib/scripts/chroot_env +0 -9
  18. data/contrib/scripts/create_passwd.py +0 -17
  19. data/contrib/scripts/umount-chroot.sh +0 -290
  20. data/contrib/steps/bootstrap/debian/bootstrap_if_needed.yaml +0 -47
  21. data/contrib/steps/bootstrap/debian/bootstrap_static.yaml +0 -38
  22. data/contrib/steps/bootstrap/debian/debootstrap_arm.yaml +0 -23
  23. data/contrib/steps/export/clean_appliance.yaml +0 -9
  24. data/contrib/steps/export/compact_qcow_img.yaml +0 -12
  25. data/contrib/steps/export/save_as_g5k.yaml +0 -63
  26. data/contrib/steps/setup/add_timestamp.yaml +0 -6
  27. data/contrib/steps/setup/add_to_sudoers.yaml +0 -5
  28. data/contrib/steps/setup/archlinux/configure_ruby.yaml +0 -7
  29. data/contrib/steps/setup/archlinux/install_dev_tools.yaml +0 -18
  30. data/contrib/steps/setup/archlinux/install_gnome.yaml +0 -27
  31. data/contrib/steps/setup/archlinux/install_yaourt.yaml +0 -29
  32. data/contrib/steps/setup/autologin.yaml +0 -16
  33. data/contrib/steps/setup/centos/6.5/configure_repo.yaml +0 -9
  34. data/contrib/steps/setup/copy_ssh_auth_file.yaml +0 -10
  35. data/contrib/steps/setup/debian/add_network_interface.yaml +0 -7
  36. data/contrib/steps/setup/debian/cluster_tools_install.yaml +0 -16
  37. data/contrib/steps/setup/debian/install_gnome.yaml +0 -13
  38. data/contrib/steps/setup/debian/install_kde.yaml +0 -13
  39. data/contrib/steps/setup/debian/network_config_static.yaml +0 -17
  40. data/contrib/steps/setup/generate_user_ssh_key.yaml +0 -15
  41. data/contrib/steps/setup/install_my_ssh_key.yaml +0 -26
  42. data/contrib/steps/setup/make_swap_file.yaml +0 -9
  43. data/contrib/steps/setup/root_ssh_config.yaml +0 -18
  44. data/contrib/steps/setup/set_user_password.yaml +0 -7
  45. data/contrib/steps/setup/system_optimization.yaml +0 -8
@@ -1,290 +0,0 @@
1
- #!/bin/sh -e
2
- # Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
3
- # Use of this source code is governed by a BSD-style license that can be
4
- # found in the LICENSE file.
5
-
6
- APPLICATION="${0##*/}"
7
- ALLCHROOTS=''
8
- BINDIR="`dirname "\`readlink -f "$0"\`"`"
9
- CHROOTS="`readlink -f "$BINDIR/../chroots"`"
10
- EXCLUDEROOT=''
11
- FORCE=''
12
- PRINT=''
13
- SIGNAL='TERM'
14
- TRIES=5
15
- YES=''
16
-
17
- USAGE="$APPLICATION [options] name [...]
18
-
19
- Unmounts one or more chroots, optionally killing any processes still running
20
- inside them.
21
-
22
- By default, it will run in interactive mode where it will ask to kill any
23
- remaining processes if unable to unmount the chroot within 5 seconds.
24
-
25
- Options:
26
- -a Unmount all chroots in the CHROOTS directory.
27
- -c CHROOTS Directory the chroots are in. Default: $CHROOTS
28
- -f Forces a chroot to unmount, potentially breaking or killing
29
- other instances of the same chroot.
30
- -k KILL Send the processes SIGKILL instead of SIGTERM.
31
- -p Print to STDOUT the processes stopping a chroot from unmounting.
32
- -t TRIES Number of seconds to try before signalling the processes.
33
- Use -t inf to be exceedingly patient. Default: $TRIES
34
- -x Keep the root directory of the chroot mounted.
35
- -y Signal any remaining processes without confirmation.
36
- Automatically escalates from SIGTERM to SIGKILL."
37
-
38
- # Function to exit with exit code $1, spitting out message $@ to stderr
39
- error() {
40
- local ecode="$1"
41
- shift
42
- echo "$*" 1>&2
43
- exit "$ecode"
44
- }
45
-
46
- # Process arguments
47
- while getopts 'ac:fkpt:xy' f; do
48
- case "$f" in
49
- a) ALLCHROOTS='y';;
50
- c) CHROOTS="`readlink -f "$OPTARG"`";;
51
- f) FORCE='y';;
52
- k) SIGNAL="KILL";;
53
- p) PRINT='y';;
54
- t) TRIES="$OPTARG";;
55
- x) EXCLUDEROOT='y';;
56
- y) YES='a';;
57
- \?) error 2 "$USAGE";;
58
- esac
59
- done
60
- shift "$((OPTIND-1))"
61
-
62
- # Need at least one chroot listed, or -a; not both.
63
- if [ $# = 0 -a -z "$ALLCHROOTS" ] || [ ! $# = 0 -a -n "$ALLCHROOTS" ]; then
64
- error 2 "$USAGE"
65
- fi
66
-
67
- # Make sure TRIES is valid
68
- if [ "$TRIES" = inf ]; then
69
- TRIES=-1
70
- elif [ "$TRIES" -lt -1 ]; then
71
- error 2 "$USAGE"
72
- fi
73
-
74
- # We need to run as root
75
- if [ ! "$USER" = root -a ! "$UID" = 0 ]; then
76
- error 2 "$APPLICATION must be run as root."
77
- fi
78
-
79
- # Check if a chroot is running with this directory. We detect the
80
- # appropriate commands by checking if the command's parent root is not equal
81
- # to the pid's root. This avoids not unmounting due to a lazy-quitting
82
- # background application within the chroot. We also don't consider processes
83
- # that have a parent PID of 1 (which would mean an orphaned process in this
84
- # case), as enter-chroot never orphans its children, and we don't consider
85
- # processes that have CROUTON=CORE in the environment.
86
- # $1: $base; the canonicalized base path of the chroot
87
- # Returns: non-zero if the chroot is in use.
88
- checkusage() {
89
- if [ -n "$FORCE" ]; then
90
- return 0
91
- fi
92
- local b="${1%/}/" pid ppid proot prootdir root rootdir
93
- for root in /proc/*/root; do
94
- if [ ! -r "$root" ]; then
95
- continue
96
- fi
97
- rootdir="`readlink -f "$root"`"
98
- rootdir="${rootdir%/}/"
99
- if [ "${rootdir#"$b"}" = "$rootdir" ]; then
100
- continue
101
- fi
102
- pid="${root#/proc/}"
103
- pid="${pid%/root}"
104
- ppid="`ps -p "$pid" -o ppid= 2>/dev/null | sed 's/ //g'`"
105
- if [ -z "$ppid" ] || [ "$ppid" -eq 1 ]; then
106
- continue
107
- fi
108
- proot="/proc/$ppid/root"
109
- if [ -r "$proot" ]; then
110
- prootdir="`readlink -f "$proot"`"
111
- if [ "${prootdir%/}/" = "$rootdir" ]; then
112
- continue
113
- fi
114
- fi
115
- if grep -q 'CROUTON=CORE' "/proc/$pid/environ" 2>/dev/null; then
116
- continue
117
- fi
118
- if [ -n "$PRINT" ]; then
119
- ps -p "$pid" -o pid= -o cmd= || true
120
- fi
121
- return 1
122
- done
123
- return 0
124
- }
125
-
126
- # If we specified all chroots, bring in all chroots.
127
- if [ -n "$ALLCHROOTS" ]; then
128
- set -- "$CHROOTS/"*
129
- fi
130
-
131
- # Follows and fixes dangerous symlinks, returning the canonicalized path.
132
- fixabslinks() {
133
- local p="$CHROOT/$1" c
134
- # Follow and fix dangerous absolute symlinks
135
- while c="`readlink -m "$p"`" && [ ! "$c" = "$p" ]; do
136
- p="$CHROOT${c#"$CHROOT"}"
137
- done
138
- echo "$p"
139
- }
140
-
141
- # Unmount each chroot
142
- ret=0
143
- for NAME in "$@"; do
144
- if [ -z "$NAME" ]; then
145
- continue
146
- fi
147
-
148
- NAME="${NAME#"$CHROOTS/"}"
149
-
150
- # Check for existence
151
- CHROOT="$CHROOTS/$NAME"
152
- if [ ! -d "$CHROOT" ]; then
153
- echo "$CHROOT not found." 1>&2
154
- ret=1
155
- continue
156
- fi
157
-
158
- # Switch to the unencrypted mount for encrypted chroots.
159
- if [ -f "$CHROOT/.ecryptfs" ]; then
160
- CHROOT="$CHROOTS/.secure/$NAME"
161
- fi
162
-
163
- base="`readlink -f "$CHROOT"`"
164
-
165
- if ! checkusage "$base"; then
166
- echo "Not unmounting $CHROOT as another instance is using it." 1>&2
167
- ret=1
168
- continue
169
- fi
170
-
171
- # Kill the chroot's system dbus if one is running; failure is fine
172
- env -i chroot "$CHROOT" su -s '/bin/sh' -c '
173
- pidfile="/var/run/dbus/pid"
174
- if [ ! -f "$pidfile" ]; then
175
- exit 0
176
- fi
177
- pid="`cat "$pidfile"`"
178
- if ! grep -q "^dbus-daemon" "/proc/$pid/cmdline" 2>/dev/null; then
179
- exit 0
180
- fi
181
- kill $pid' - root 2>/dev/null || true
182
-
183
- # Unmount all mounts
184
- ntries=0
185
- if [ -z "$EXCLUDEROOT" ]; then
186
- echo "Unmounting $CHROOT..." 1>&2
187
- else
188
- echo "Pruning $CHROOT mounts..." 1>&2
189
- fi
190
- baseesc="`echo "$base" | sed 's= =//=g'`"
191
-
192
- # Define the mountpoint filter to only unmount specific mounts.
193
- # The filter is run on the escaped version of the mountpoint.
194
- filter() {
195
- if [ -z "$EXCLUDEROOT" ]; then
196
- grep "^$baseesc\\(/.*\\)\\?\$"
197
- else
198
- # Don't include the base directory
199
- grep "^$baseesc/."
200
- fi
201
- }
202
-
203
- # Sync for safety
204
- sync
205
-
206
- # Make sure the chroot's system media bind-mount is marked as slave to avoid
207
- # unmounting devices system-wide. We still want to unmount locally-mounted
208
- # media, though.
209
- media="`fixabslinks '/var/host/media'`"
210
- if mountpoint -q "$media"; then
211
- mount --make-rslave "$media"
212
- fi
213
-
214
- while ! sed "s=\\\\040=//=g" /proc/mounts | cut -d' ' -f2 \
215
- | filter | sed 's=//= =g' | xargs --no-run-if-empty -d '
216
- ' -n 50 umount 2>/dev/null; do
217
- if [ "$ntries" -eq "$TRIES" ]; then
218
- # Send signal to all processes running under the chroot
219
- # ...but confirm first.
220
- printonly=''
221
- if [ "${YES#[Aa]}" = "$YES" ]; then
222
- echo -n "Failed to unmount $CHROOT. Kill processes? [a/k/y/p/N] " 1>&2
223
- read YES
224
- if [ ! "${YES#[Kk]}" = "$YES" ]; then
225
- SIGNAL='KILL'
226
- elif [ ! "${YES#[Pp]}" = "$YES" ]; then
227
- printonly=y
228
- elif [ "${YES#[AaYy]}" = "$YES" ]; then
229
- echo "Skipping unmounting of $CHROOT" 1>&2
230
- ret=1
231
- break
232
- fi
233
- fi
234
- if [ -z "$printonly" ]; then
235
- echo "Sending SIG$SIGNAL to processes under $CHROOT..." 1>&2
236
- fi
237
- for root in /proc/*/root; do
238
- if [ ! -r "$root" ] \
239
- || [ ! "`readlink -f "$root"`" = "$base" ]; then
240
- continue
241
- fi
242
- pid="${root#/proc/}"
243
- pid="${pid%/root}"
244
- if [ -z "$FORCE" ] \
245
- && grep -q 'CROUTON=CORE' \
246
- "/proc/$pid/environ" 2>/dev/null; then
247
- continue
248
- fi
249
- if [ -n "${printonly:-"$PRINT"}" ]; then
250
- ps -p "$pid" -o pid= -o cmd= || true
251
- fi
252
- if [ -z "$printonly" ]; then
253
- kill "-$SIGNAL" "$pid" 2>/dev/null || true
254
- fi
255
- done
256
-
257
- # Escalate
258
- if [ ! "${YES#[Aa]}" = "$YES" ]; then
259
- SIGNAL='KILL'
260
- fi
261
-
262
- if [ -z "$printonly" ]; then
263
- ntries=0
264
- fi
265
- else
266
- ntries="$((ntries+1))"
267
- fi
268
- sleep 1
269
- if ! checkusage "$base"; then
270
- echo "Aborting unmounting $CHROOT as another instance has begun using it." 1>&2
271
- ret=1
272
- break
273
- fi
274
- done
275
-
276
- # More sync for more safety
277
- sync
278
- done
279
-
280
- # Re-disable USB persistence (the Chromium OS default) if we no longer
281
- # have chroots running with a root in removable media
282
- if checkusage /media; then
283
- for usbp in /sys/bus/usb/devices/*/power/persist; do
284
- if [ -e "$usbp" ]; then
285
- echo 0 > "$usbp"
286
- fi
287
- done
288
- fi
289
-
290
- exit $ret
@@ -1,47 +0,0 @@
1
- # This step store the bootstrap for a particular distrib and achitechture
2
- # to avoid downloading on every execution
3
- # Bootstrap if needed
4
- - debootstrap:
5
- - exec_out: |
6
- export tgz_bootstrap_file=$(echo "../$$workdir""/bootstrap/""$$distrib""_$$debian_version_name""_$$arch"".tar.gz")
7
- mkdir -p $(dirname $tgz_bootstrap_file)
8
- if [ ! -f "$tgz_bootstrap_file" ]
9
- then
10
- debootstrap --arch=$$arch $$debian_version_name $$rootfs $$distrib_repository
11
- tar zcf $tgz_bootstrap_file -C $$rootfs --numeric-owner --one-file-system .
12
- else
13
- tar zxf $tgz_bootstrap_file -C $$rootfs
14
- cp -f /etc/resolv.conf $$rootfs/etc
15
- fi
16
- #- include:
17
- # - mount_proc
18
- - mount_dev:
19
- - exec_out: mount -o bind /dev $$rootfs/dev
20
- - on_setup_clean: |
21
- if mountpoint -q $$rootfs/dev
22
- then umount $$rootfs/dev
23
- fi
24
-
25
- - exec_out: mount -o bind /dev/pts $$rootfs/dev/pts
26
- - on_setup_clean: |
27
- if mountpoint -q $$rootfs/dev/pts
28
- then umount $$rootfs/dev/pts
29
- fi
30
- - mount_proc:
31
- - exec_out: mount -o bind /proc $$rootfs/proc
32
- - on_setup_clean: |
33
- if mountpoint -q $$rootfs/proc
34
- then umount $$rootfs/proc
35
- fi
36
- - mount_sys:
37
- - exec_out: mount -o bind /sys $$rootfs/sys
38
- - on_setup_clean: |
39
- if mountpoint -q $$rootfs/sys
40
- then umount $$rootfs/sys
41
- fi
42
-
43
- - update_bootstrap:
44
- - exec_in: |
45
- DEBIAN_FRONTEND=noninteractive apt-get -y --force-yes update
46
- DEBIAN_FRONTEND=noninteractive apt-get -y --force-yes dist-upgrade
47
-
@@ -1,38 +0,0 @@
1
- # # Bootstrap Static
2
- - debootstrap:
3
- - check_cmd: cdebootstrap-static
4
- - exec_out: |
5
- cdebootstrap-static \
6
- --verbose \
7
- --allow-unauthenticated \
8
- --arch=$$arch \
9
- --include=locales \
10
- $$debian_version_name \
11
- $$rootfs \
12
- $$distrib_repository
13
- #- include:
14
- # - mount_proc
15
- - mount_dev:
16
- - exec_out: mount -o bind /dev $$rootfs/dev
17
- - on_setup_clean: |
18
- if mountpoint -q $$rootfs/dev
19
- then umount $$rootfs/dev
20
- fi
21
-
22
- - exec_out: mount -o bind /dev/pts $$rootfs/dev/pts
23
- - on_setup_clean: |
24
- if mountpoint -q $$rootfs/dev/pts
25
- then umount $$rootfs/dev/pts
26
- fi
27
- - mount_proc:
28
- - exec_out: mount -o bind /proc $$rootfs/proc
29
- - on_setup_clean: |
30
- if mountpoint -q $$rootfs/proc
31
- then umount $$rootfs/proc
32
- fi
33
- - mount_sys:
34
- - exec_out: mount -o bind /sys $$rootfs/sys
35
- - on_setup_clean: |
36
- if mountpoint -q $$rootfs/sys
37
- then umount $$rootfs/sys
38
- fi
@@ -1,23 +0,0 @@
1
- # # Bootstrap
2
- - enable_cache: true
3
-
4
- - debootstrap:
5
- - check_cmd_out: debootstrap
6
- - check_cmd_out: qemu-arm-static
7
- - exec_out:|
8
- mkdir -p $$rootfs
9
- debootstrap --no-check-gpg --foreign --arch=$$arch --include="$$include_pkg" $$release $$rootfs $$repository
10
- QEMU_USER_PATH=$(which qemu-arm-static)
11
- cp $QEMU_USER_PATH $$rootfs/usr/bin/qemu-arm-static
12
- chroot $$rootfs /usr/bin/qemu-arm-static -cpu cortex-a9 /bin/sh /debootstrap/debootstrap --second-stage
13
- echo "deb $$repository wheezy main contrib non-free" > $$rootfs/etc/apt/sources.list
14
- chroot $$rootfs /usr/bin/qemu-arm-static -cpu cortex-a9 /bin/sh apt-get update
15
- chroot $$rootfs /usr/bin/qemu-arm-static -cpu cortex-a9 /bin/sh apt-get install -y --force-yes vim
16
- - exec_out: cat /etc/resolv.conf > $$rootfs/etc/resolv.conf
17
- - write_out:
18
- - $$rootfs/etc/network/interfaces
19
- - |
20
- auto lo
21
- iface lo inet loopback
22
- auto eth0
23
- iface eth0 inet dhcp
@@ -1,9 +0,0 @@
1
- # # Clean Appliance
2
- - clean_udev:
3
- - on_setup_clean:
4
- - exec_in: rm -f /etc/udev/rules.d/*persistent-net.rules*
5
-
6
- - clean_tmp:
7
- - on_setup_clean:
8
- - exec_in: rm -rf /tmp/* || true
9
- - exec_in: rm -rf /var/tmp/* || true
@@ -1,12 +0,0 @@
1
-
2
-
3
- - nullify_freespace:
4
- - exec_out: |
5
- echo "Nullify freespace..."
6
- dd if=/dev/zero of=$$mountdir/bigemptyfile bs=1M 2>&1 >/dev/null || true
7
- rm -f $$mountdir/bigemptyfile
8
- echo "sync..." ; sync
9
-
10
- - compact_qcow_img:
11
- - exec_out: qemu-img convert -c -O qcow2 $$filename compressed_$$filename
12
- - exec_out: mv compressed_$$filename $$filename
@@ -1,63 +0,0 @@
1
- # Save as a g5k
2
- # Export a Grid5000 compliant tar gz image and create the kadeploy config
3
- - save_as_g5k:
4
- - in2out:
5
- - /etc/fstab
6
- - ./fstab.bak
7
- - on_clean:
8
- - exec_out: rm -f ./fstab.bak
9
- - exec_in: apt-get -f install -y --force-yes ssh libmlx4-1 libmlx4-dev
10
- - write_in:
11
- - /etc/fstab
12
- - |
13
- # UNCONFIGURED FSTAB FOR BASE SYSTEM
14
- - write_in:
15
- - /etc/apt/apt.conf
16
- - |
17
- APT::Get::AllowUnauthenticated "true";
18
- - write_in:
19
- - /etc/modules
20
- - |
21
- ib_ipoib
22
- ib_uverbs
23
- ib_umad
24
- ib_addr
25
- mlx4_ib
26
- ib_mthca
27
- - exec_in: wget --no-check-certificate https://gforge.inria.fr/frs/download.php/28557/tgz-g5k_1.0.7_all.deb
28
- - exec_in: dpkg -i ./tgz-g5k_1.0.7_all.deb
29
- - exec_in: rm ./tgz-g5k_1.0.7_all.deb
30
- - exec_in: tgz-g5k /tmp/$$filename.tar.gz
31
- - in2out:
32
- - /tmp/$$filename.tar.gz
33
- - $$filename.tar.gz
34
- - out2in:
35
- - ./fstab.bak
36
- - /etc/fstab
37
- - exec_out: |
38
- echo "Saved tar.gz appliance to $(pwd)/$$filename.tar.gz"
39
- - write_out:
40
- - $${kameleon_recipe_name}_img.yaml
41
- - |
42
- #
43
- # Kameleon generated $$distrib $$release kadeploy description file
44
- #
45
- ---
46
- name: $${kameleon_recipe_name}
47
-
48
- version: 1
49
-
50
- os: linux
51
-
52
- image:
53
- file: $$g5k_img_path/$$filename.tar.gz
54
- kind: tar
55
- compression: gzip
56
-
57
- boot:
58
- kernel: /boot/`basename $$rootfs/boot/vmlinu*`
59
- initrd: /boot/`basename $$rootfs/boot/init*`
60
-
61
- filesystem: $$filesystem
62
-
63
-
@@ -1,6 +0,0 @@
1
- # Add Timestamp
2
- - timestamping:
3
- - exec_out: date +%s > timestamp
4
- - out2in:
5
- - timestamp
6
- - /timestamp
@@ -1,5 +0,0 @@
1
- - add_group_to_sudoers:
2
- - append_in:
3
- - /etc/sudoers
4
- - |
5
- %$$group ALL=(ALL:ALL) ALL
@@ -1,7 +0,0 @@
1
- # Ruby configuration for Archlinux
2
- #
3
- # Set no document by default and install system wide
4
- - ruby_install:
5
- - exec_in: pacman -S ruby --noconfirm
6
- - do_ruby_config:
7
- - exec_in: "sed -i 's/^gem: --user-install/gem: --no-document/' /etc/gemrc"
@@ -1,18 +0,0 @@
1
- # Dev Tools install
2
- # This step is installing all the tools a developer might needs
3
-
4
- - basic_dev_tools:
5
- - exec_in: pacman -Sy --noconfirm base-devel wget git meld
6
-
7
- - libvirt_with_qemu:
8
- # WARNING: if you have some problems with libvirt/qemu rights you can fix it
9
- # mannualy. See https://wiki.archlinux.org/index.php/libvirt#Configuration
10
- - exec_in: pacman -Sy --noconfirm qemu libvirt dnsmasq dmidecode virt-manager
11
- - exec_in: echo "Enable libvirt deamon"
12
- - exec_in: ln -s '/usr/lib/systemd/system/libvirtd.service' '/etc/systemd/system/multi-user.target.wants/libvirtd.service'
13
- # The default libvirt network is conflicting with the host libvirt network so
14
- # change the defaults
15
- - exec_in: sed -i "s/192.168.122/192.168.123/g" /etc/libvirt/qemu/networks/default.xml
16
-
17
- - docker_lxc:
18
- - exec_in: pacman -Sy --noconfirm docker lxc
@@ -1,27 +0,0 @@
1
- # Desktop installation on Archlinux
2
- #
3
- # Install and setup a fully working Gnome configuration
4
- - extra_packages: ""
5
-
6
- - install_packages:
7
- - exec_in: pacman -Sy --noconfirm gnome xorg xorg-fonts-type1 $$extra_packages
8
-
9
- - enable_services:
10
- - exec_in: systemctl enable gdm.service
11
- # disable dhcpcd to avoid conflic with NetworkManager
12
- - exec_in: systemctl disable dhcpcd.service
13
- - exec_in: systemctl enable NetworkManager
14
-
15
- - X11_config:
16
- # keyboard config
17
- - write_in:
18
- - /etc/X11/xorg.conf.d/10-keyboard.conf
19
- - |
20
- Section "InputClass"
21
- Identifier "system-keyboard"
22
- MatchIsKeyboard "on"
23
- Option "XkbLayout" "$$keyboard_layout"
24
- Option "XkbModel" "pc104"
25
- EndSection
26
- # font config
27
- - exec_in: ln -s /etc/fonts/conf.avail/70-no-bitmaps.conf /etc/fonts/conf.d/
@@ -1,29 +0,0 @@
1
- # Yaourt install for Archlinux
2
- #
3
- # Installing the pacman overlay that handles AUR packages
4
-
5
- - add_repository:
6
- - exec_in: |
7
- cat >> /etc/pacman.conf <<'EOF'
8
- [archlinuxfr]
9
- SigLevel = Never
10
- Server = http://repo.archlinux.fr/$arch
11
- EOF
12
-
13
- - do_install:
14
- - exec_in: pacman -Sy yaourt --noconfirm
15
-
16
- #- manual_install:
17
- # # script taken from http://archlinux.fr/yaourt-en
18
- # - exec_in: |
19
- # curl -O https://aur.archlinux.org/packages/pa/package-query/package-query.tar.gz
20
- # tar zxvf package-query.tar.gz
21
- # cd package-query
22
- # makepkg -si --asroot --noconfirm
23
- # cd ..
24
- # curl -O https://aur.archlinux.org/packages/ya/yaourt/yaourt.tar.gz
25
- # tar zxvf yaourt.tar.gz
26
- # cd yaourt
27
- # makepkg -si --asroot --noconfirm
28
- # cd ..
29
-
@@ -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,9 +0,0 @@
1
- - add_epel_repo:
2
- - write_in:
3
- - /etc/yum.repos.d/epel.repo
4
- - |
5
- [epel]
6
- name=epel
7
- baseurl=http://download.fedoraproject.org/pub/epel/6/\$basearch
8
- enabled=1
9
- gpgcheck=0
@@ -1,10 +0,0 @@
1
- # Copy auth file from local to in
2
- - home_in: /root
3
- - auth_file_in: $$home_in/.ssh/authorized_keys
4
- - auth_file_local: $$auth_file_in
5
-
6
- - copy_ssh_auth_content:
7
- - exec_in: mkdir -p $$home_in/.ssh
8
- - pipe:
9
- - exec_local: cat $$auth_file_local
10
- - exec_in: cat >> $$auth_file_in
@@ -1,7 +0,0 @@
1
- - add_interface:
2
- - append_in:
3
- - /etc/network/interfaces
4
- - |
5
- auto eth1
6
- iface eth1 inet dhcp
7
- pre-up ip link set mtu 1492 eth1
@@ -1,16 +0,0 @@
1
- # Cluster Tools Install
2
- - install_build_essentials:
3
- - deb_install_in: build-essential
4
- - install_openmpi:
5
- - deb_install_in: |
6
- openmpi-bin openmpi-common \
7
- openssh-client openssh-server \
8
- libopenmpi1.3 libopenmpi-dbg libopenmpi-dev
9
- - install_python:
10
- - deb_install_in: python python-dev
11
- - install_java:
12
- - deb_install_in: openjdk-6-jre
13
- - install_perl:
14
- - deb_install_in: perl
15
- - install_tcl:
16
- - deb_install_in: tcl
@@ -1,13 +0,0 @@
1
- # Desktop installation on Debian
2
- #
3
- # Install and setup a fully working Gnome configuration
4
- - extra_packages: ""
5
-
6
- - install_aptitude:
7
- - exec_in: apt-get -y --force-yes install aptitude 2>&1
8
-
9
- - gnome_desktop_task:
10
- - exec_in: aptitude -q --without-recommends -o APT::Install-Recommends=no -y install ~t^desktop$ ~t^gnome-desktop$
11
-
12
- - install_extra_packages:
13
- - exec_in: apt-get -y --force-yes install gnome-core $$extra_packages 2>&1
@@ -1,13 +0,0 @@
1
- # Desktop installation on Debian
2
- #
3
- # Install and setup a fully working Gnome configuration
4
- - extra_packages: ""
5
-
6
- - install_aptitude:
7
- - exec_in: apt-get -y --force-yes install aptitude 2>&1
8
-
9
- - gnome_desktop_task:
10
- - exec_in: aptitude -q --without-recommends -o APT::Install-Recommends=no -y install ~t^desktop$ ~t^gkde-desktop$
11
-
12
- - install_extra_packages:
13
- - exec_in: apt-get -y --force-yes install kde-standard $$extra_packages 2>&1