diff options
author | tv <tv@shackspace.de> | 2015-09-27 00:22:50 +0200 |
---|---|---|
committer | tv <tv@shackspace.de> | 2015-09-27 00:37:20 +0200 |
commit | c9ccf22b154205caf55262ba6aa305e2c2247a02 (patch) | |
tree | 1190657c3702bbeada39de2c449a17aea3d931c5 /krebs/3modules/build/infest/prepare.sh | |
parent | 9157c6fbc9e355dd7a6ea8c9e33a280492a4d35b (diff) |
krebs.build: merge deploy and infest
Diffstat (limited to 'krebs/3modules/build/infest/prepare.sh')
-rw-r--r-- | krebs/3modules/build/infest/prepare.sh | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/krebs/3modules/build/infest/prepare.sh b/krebs/3modules/build/infest/prepare.sh new file mode 100644 index 000000000..07c00c3a5 --- /dev/null +++ b/krebs/3modules/build/infest/prepare.sh @@ -0,0 +1,74 @@ +#! /bin/sh +set -efu + +prepare() {( + if test -e /etc/os-release; then + . /etc/os-release + case $ID in + centos) + case $VERSION_ID in + 7) + prepare_centos7 "$@" + exit + ;; + esac + ;; + esac + fi + echo "$0 prepare: unknown OS" >&2 + exit -1 +)} + +prepare_centos7() { + type bzip2 2>/dev/null || yum install -y bzip2 + type git 2>/dev/null || yum install -y git + type rsync 2>/dev/null || yum install -y rsync + if ! getent group nixbld >/dev/null; then + groupadd -g 30000 -r nixbld + fi + for i in `seq 1 10`; do + if ! getent passwd nixbld$i 2>/dev/null; then + useradd \ + -c "CentOS Nix build user $i" \ + -d /var/empty \ + -g 30000 \ + -G 30000 \ + -l \ + -M \ + -s /sbin/nologin \ + -u $(expr 30000 + $i) \ + nixbld$i + rm -f /var/spool/mail/nixbld$i + fi + done + + # + # mount install directory + # + + if ! mount | grep -Fq '/dev/mapper/centos-root on /mnt type xfs'; then + mkdir -p /newshit + mount --bind /newshit /mnt + fi + + if ! mount | grep -Fq '/dev/sda1 on /mnt/boot type xfs'; then + mkdir -p /mnt/boot + mount /dev/sda1 /mnt/boot + fi + + mount | grep 'on /mnt\>' >&2 + + # + # prepare install directory + # + + mkdir -p /mnt/etc/nixos + mkdir -m 0555 -p /mnt/var/empty + + if ! mount | grep -Fq '/dev/mapper/centos-root on /mnt/root type xfs'; then + mkdir -p /mnt/root + mount --bind /root /mnt/root + fi +} + +prepare "$@" |