chiark / gitweb /
proot: Add termux-chroot utility script
authorFredrik Fornwall <fredrik@fornwall.net>
Tue, 22 Mar 2016 01:39:26 +0000 (21:39 -0400)
committerFredrik Fornwall <fredrik@fornwall.net>
Tue, 22 Mar 2016 01:39:26 +0000 (21:39 -0400)
disabled-packages/proot/build.sh
disabled-packages/proot/termux-chroot [new file with mode: 0755]

index f2f0587319c6ef18c31deff5e1582bb74dd7d1dc..5004d7294df2a4543bc0690483a237a0df49d709 100644 (file)
@@ -16,4 +16,6 @@ termux_step_make_install () {
 
        mkdir -p $TERMUX_PREFIX/share/man/man1
        cp $TERMUX_PKG_SRCDIR/doc/proot/man.1 $TERMUX_PREFIX/share/man/man1/proot.1
+
+       cp $TERMUX_PKG_BUILDER_DIR/termux-chroot $TERMUX_PREFIX/bin/
 }
diff --git a/disabled-packages/proot/termux-chroot b/disabled-packages/proot/termux-chroot
new file mode 100755 (executable)
index 0000000..5dde068
--- /dev/null
@@ -0,0 +1,45 @@
+#!/bin/sh
+
+if [ $# != 0 ]; then
+       echo "termux-chroot: Setup a chroot to mimic a normal Linux file system"
+       echo ""
+       echo "Execute without arguments to run a chroot with traditional file system"
+       echo "hierarchy (having e.g. the folders /bin, /etc and /usr) within Termux."
+       exit
+fi
+
+# For the /system/bin/linker(64) to be found:
+ARGS="-b /system:/system"
+
+# Bind $PREFIX so Termux programs expecting
+# to find e.g. configurations files there work.
+ARGS="$ARGS -b $PREFIX/..:$PREFIX/.."
+
+# Mimic traditional Linux file system hierarchy - /usr:
+ARGS="$ARGS -b $PREFIX:/usr"
+
+# Mimic traditional Linux file system hierarchy - other Termux dirs:
+for f in bin etc lib share tmp var; do
+       ARGS="$ARGS -b $PREFIX/$f:/$f"
+done
+
+# Mimic traditional Linux file system hierarchy- system dirs:
+for f in dev proc; do
+       ARGS="$ARGS -b /$f:/$f"
+done
+
+# Set /home as current directory:
+ARGS="$ARGS --cwd=/home"
+
+# Root of the file system:
+ARGS="$ARGS -r $PREFIX/.."
+
+# Program to execute:
+PROGRAM=/bin/bash
+if [ -x $HOME/.termux/shell ]; then
+       PROGRAM=`readlink -f $HOME/.termux/shell`
+fi
+ARGS="$ARGS $PROGRAM -l"
+
+export HOME=/home
+$PREFIX/bin/proot $ARGS