diff options
author | makefu <github@syntax-fehler.de> | 2015-09-27 19:41:01 +0200 |
---|---|---|
committer | makefu <github@syntax-fehler.de> | 2015-09-27 19:41:01 +0200 |
commit | bc2bd6e2f6e9295b14e641b82bff62b40641988d (patch) | |
tree | 8bc4b655c12b4e0bc33051116a3adb3003463d34 /krebs/3modules/build/infest/prepare.sh | |
parent | c65614cdef66c38ff2939928e9072873e19e1c37 (diff) | |
parent | 170191034e51fb7e80ff6e6ddcac103ec7527afd (diff) |
Merge branch '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 "$@" |