summaryrefslogtreecommitdiff
path: root/src/chroot-tools/buildenv
diff options
context:
space:
mode:
Diffstat (limited to 'src/chroot-tools/buildenv')
-rwxr-xr-xsrc/chroot-tools/buildenv28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/chroot-tools/buildenv b/src/chroot-tools/buildenv
new file mode 100755
index 0000000..84a1fc2
--- /dev/null
+++ b/src/chroot-tools/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/$CHROOT/$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/$CHROOT/$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/$CHROOT/$etc || exit 1
+done
+
+$(dirname $0)/librechroot $CHROOT
+
+exit $?