diff options
Diffstat (limited to '')
-rwxr-xr-x | chroot.sh | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/chroot.sh b/chroot.sh new file mode 100755 index 0000000..fe4442a --- /dev/null +++ b/chroot.sh @@ -0,0 +1,41 @@ +#!/bin/sh +set -e -u -x + +./server.c +./client.c +./help.c + +if [ ! -f termcap.db ]; then + patch -p0 -o termcap < termcap.diff + cap_mkdb termcap +fi + +user=torus +ownflags='-o root -g wheel' +dirflags="-d $ownflags" +binflags="$ownflags -m 555" +libflags="$ownflags -m 444" + +mkdir -p root + +for dir in bin home lib libexec usr; do + sudo install $dirflags root/$dir +done +sudo install $dirflags root/usr/share +sudo install $dirflags root/usr/share/misc +sudo install -d -o $user -g $user root/home/$user + +sudo install $binflags /libexec/ld-elf.so.1 root/libexec + +for lib in libc.so.7 libedit.so.7 libncurses.so.8 libncursesw.so.8; do + sudo install $libflags /lib/$lib root/lib +done + +for bin in server client help; do + sudo install $binflags $bin root/bin +done +sudo install $binflags /bin/sh root/bin + +sudo install $libflags termcap.db root/usr/share/misc + +tar -c -f chroot.tar -C root bin home lib libexec usr |