mkchroot (633B)
1 #!/bin/rc 2 3 dir = /var/www 4 bins = (/usr/local/bin/git /usr/local/libexec/git/git-http-backend) 5 user = www 6 group = www 7 8 # the following is incredibly openbsd-specific 9 libs = `{ldd $bins | \ 10 grep -v '^/' | \ 11 grep -v 'Start' | \ 12 sed 's/.* \///'} 13 14 for (lib in $libs) { 15 d = `{dirname $lib} 16 17 doas mkdir -p $dir/$d 18 doas cp /$lib $dir/$lib 19 } 20 21 if (!test -e $dir/dev/null) { 22 doas mkdir -p $dir/dev 23 doas mknod $dir/dev/null c 2 2 24 doas chmod 666 $dir/dev/null 25 } 26 27 doas cp `{whatis www/chroot/git-wrapper} $dir/bin/git-wrapper 28 doas cp /bin/ksh $dir/bin/ksh 29 30 doas chown -R www:www $dir/usr $dir/dev 31 doas chown -R root:bin $dir/bin