From: Fredrik Fornwall Date: Tue, 22 Mar 2016 01:39:26 +0000 (-0400) Subject: proot: Add termux-chroot utility script X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/termux-packages/commitdiff_plain/5a979ce68711aedc3b93fd674e39f084e6f6fc2d?ds=inline proot: Add termux-chroot utility script --- diff --git a/disabled-packages/proot/build.sh b/disabled-packages/proot/build.sh index f2f05873..5004d729 100644 --- a/disabled-packages/proot/build.sh +++ b/disabled-packages/proot/build.sh @@ -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 index 00000000..5dde068e --- /dev/null +++ b/disabled-packages/proot/termux-chroot @@ -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