chiark / gitweb /
add unforwarded-patches script
[bin.git] / chroot-setup
1 #! /bin/sh -e
2 # Install keychain xauth x11-xserver-utils in the chroot first.
3 if [ -e "$1/proc/cmdline" ]; then exit; fi
4
5 ensure_dir_mine () {
6         sudo mkdir -p "$1"
7         sudo chown cjwatson:cjwatson "$1"
8 }
9
10 sudo mount --bind /proc "$1/proc"
11 sudo mount --bind /sys "$1/sys"
12 sudo mount --bind /dev "$1/dev"
13 sudo mount --bind /dev/pts "$1/dev/pts"
14 mkdir -p "$1/tmp/.X11-unix" "$1/tmp/.ICE-unix"
15 sudo mount --bind /tmp/.X11-unix "$1/tmp/.X11-unix"
16 sudo mount --bind /tmp/.ICE-unix "$1/tmp/.ICE-unix"
17 if [ "$SSH_AUTH_SOCK" ]; then
18         ensure_dir_mine "$1$(dirname "$SSH_AUTH_SOCK")"
19         sudo mount --bind "$(dirname "$SSH_AUTH_SOCK")" "$1$(dirname "$SSH_AUTH_SOCK")"
20 fi
21 if [ -d /home/cjwatson/.ssh/control ]; then
22         ensure_dir_mine "$1/home/cjwatson/.ssh"
23         ensure_dir_mine "$1/home/cjwatson/.ssh/control"
24         sudo mount --bind /home/cjwatson/.ssh/control "$1/home/cjwatson/.ssh/control"
25 fi
26 if [ "$GPG_AGENT_INFO" ]; then
27         ensure_dir_mine "$1$(dirname "$GPG_AGENT_INFO")"
28         sudo mount --bind "$(dirname "$GPG_AGENT_INFO")" "$1$(dirname "$GPG_AGENT_INFO")"
29 fi
30 if [ -d /home/cjwatson/.keychain ]; then
31         ensure_dir_mine "$1/home/cjwatson/.keychain"
32         sudo mount --bind /home/cjwatson/.keychain "$1/home/cjwatson/.keychain"
33 fi
34 xauth list | sudo chroot "$1" su cjwatson -c 'xargs -l1 xauth add'
35 rm -f "$1/home/cjwatson/.ICEauthority"
36 iceauth list | sudo chroot "$1" su cjwatson -c 'xargs -l1 iceauth add'
37 sudo cp -a /etc/resolv.conf "$1/etc/"
38 if [ -d /home/cjwatson/src ]; then
39         ensure_dir_mine "$1/home/cjwatson/src"
40         sudo mount --bind /home/cjwatson/src "$1/home/cjwatson/src"
41 fi