summaryrefslogtreecommitdiffstats
path: root/krebs/3modules/build/infest/finalize.sh
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2015-09-27 15:27:00 +0200
committermakefu <github@syntax-fehler.de>2015-09-27 15:27:00 +0200
commit400dab8254aa175213df8f6bd5ed391d80c7d827 (patch)
treebcd035856f0a8da4a80cbbaa897f2605f57e11f8 /krebs/3modules/build/infest/finalize.sh
parent394408c9b715a2dfb6aba560c4db71b78cf46f8d (diff)
parent95f1673f1f50384682815effa675e5ef5c68847e (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.sh65
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
+}