summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbuildenv28
-rwxr-xr-xchcleanup7
2 files changed, 35 insertions, 0 deletions
diff --git a/buildenv b/buildenv
new file mode 100755
index 0000000..1cb07de
--- /dev/null
+++ b/buildenv
@@ -0,0 +1,28 @@
+#!/bin/bash
+
+trap "umount_all" 0 ERR TERM KILL
+
+user=${SUDO_USER:-${1}}
+
+umount_all() {
+ for mp in home/pkgdest home/srcdest home/${user}; do
+ msg "Umounting /$mp"
+ umount $CHROOTDIR/$CHCOPY/$mp || error "Couldn't umount"
+ done
+}
+
+source /etc/libretools.conf
+
+for mp in home/pkgdest home/srcdest home/${user} var/lib/toru; do
+ msg "Binding /$mp"
+ mount -o bind /$mp $CHROOTDIR/$CHCOPY/$mp || exit 1
+done
+
+for etc in etc/makepkg.conf etc/abs.conf etc/mtab; do
+ msg "Copying config /$etc"
+ cp --remove-destination /$etc $CHROOTDIR/$CHCOPY/$etc || exit 1
+done
+
+$(dirname $0)/librechroot $CHCOPY
+
+exit $?
diff --git a/chcleanup b/chcleanup
new file mode 100755
index 0000000..83c9f3f
--- /dev/null
+++ b/chcleanup
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+[ ! -f ~/cleansystem ] && exit 1
+
+sudo pacman --noconfirm -Rcs $(comm -23 <(pacman -Qq | sort) <(sort ~/cleansystem))
+
+exit $?