diff options
author | makefu <github@syntax-fehler.de> | 2015-09-27 15:27:00 +0200 |
---|---|---|
committer | makefu <github@syntax-fehler.de> | 2015-09-27 15:27:00 +0200 |
commit | 400dab8254aa175213df8f6bd5ed391d80c7d827 (patch) | |
tree | bcd035856f0a8da4a80cbbaa897f2605f57e11f8 /krebs/3modules/build/infest/prepare.sh | |
parent | 394408c9b715a2dfb6aba560c4db71b78cf46f8d (diff) | |
parent | 95f1673f1f50384682815effa675e5ef5c68847e (diff) |
Merge remote-tracking branch 'cd/master' into before-merge
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 "$@" |