chiark / gitweb /
Initial commit.
[sys-upload] / bin / mkgaol
1 #! /bin/bash -e
2
3 shopt -s nullglob
4 case $# in 1) dir=$1 ;; *) echo >&2 "usage: $0 DIR"; exit 2 ;; esac
5 cd "$dir"
6
7 keep=("./files" "./files.*" "./.ssh/keys")
8
9 clear_dir () {
10   local p q
11
12   for p in "$1"/..?* "$1"/.[!.]* "$1"/*; do
13     for q in "${keep[@]}"; do
14       case $p in $q) continue 2 ;; esac
15       case $q in "$p"/*) clear_dir "$p"; continue 2 ;; esac
16     done
17     rm -rf "$p"
18   done
19 }
20 clear_dir .
21
22 mkdir -p .ssh/keys etc lib usr/bin
23 ln -s ../../ssh-common/Makefile ../../ssh-common/sshsvc.conf .ssh/
24 make -C.ssh/
25 cp /usr/bin/rsync usr/bin/
26 ldd /usr/bin/rsync | while read line; do
27   set -- $line
28   for i in "$@"; do case "$i" in /*) cp "$i" lib/ ;; esac; done
29 done
30
31 grep -E '^(root:|sysupl-)' /etc/passwd >etc/passwd
32 grep -E '^(root:|sysupl-)' /etc/group >etc/group