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/finalize.sh | |
parent | 394408c9b715a2dfb6aba560c4db71b78cf46f8d (diff) | |
parent | 95f1673f1f50384682815effa675e5ef5c68847e (diff) |
Merge remote-tracking branch 'cd/master' into before-merge
Diffstat (limited to 'krebs/3modules/build/infest/finalize.sh')
-rw-r--r-- | krebs/3modules/build/infest/finalize.sh | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/krebs/3modules/build/infest/finalize.sh b/krebs/3modules/build/infest/finalize.sh new file mode 100644 index 000000000..ced5a4d4d --- /dev/null +++ b/krebs/3modules/build/infest/finalize.sh @@ -0,0 +1,65 @@ +#! /bin/sh +set -eux +{ + umount /mnt/nix || [ $? -eq 32 ] + umount /mnt/boot || [ $? -eq 32 ] + umount /mnt/root || [ $? -eq 32 ] + umount /mnt || [ $? -eq 32 ] + umount /boot || [ $? -eq 32 ] + + PATH=$(set +f; for i in /nix/store/*coreutils*/bin; do :; done; echo $i) + export PATH + + mkdir /oldshit + + mv /bin /oldshit/ + mv /newshit/bin / + + # TODO ensure /boot is empty + rmdir /newshit/boot + + # skip /dev + rmdir /newshit/dev + + mv /etc /oldshit/ + mv /newshit/etc / + + # skip /nix (it's already there) + rmdir /newshit/nix + + # skip /proc + rmdir /newshit/proc + + # skip /run + rmdir /newshit/run + + # skip /sys + rmdir /newshit/sys + + # skip /root + rmdir /newshit/root + + # skip /tmp + # TODO rmdir /newshit/tmp + + mv /home /oldshit/ + mv /newshit/home / + + mv /usr /oldshit/ + mv /newshit/usr / + + mv /var /oldshit/ + mv /newshit/var / + + mv /lib /oldshit/ + mv /lib64 /oldshit/ + mv /sbin /oldshit/ + mv /srv /oldshit/ + mv /opt /oldshit/ + + + mv /newshit /root/ # TODO this one shoult be empty + mv /oldshit /root/ + + sync +} |