--- /dev/null
+#! /bin/bash -e
+
+shopt -s nullglob
+case $# in 1) dir=$1 ;; *) echo >&2 "usage: $0 DIR"; exit 2 ;; esac
+cd "$dir"
+
+keep=("./files" "./files.*" "./.ssh/keys")
+
+clear_dir () {
+ local p q
+
+ for p in "$1"/..?* "$1"/.[!.]* "$1"/*; do
+ for q in "${keep[@]}"; do
+ case $p in $q) continue 2 ;; esac
+ case $q in "$p"/*) clear_dir "$p"; continue 2 ;; esac
+ done
+ rm -rf "$p"
+ done
+}
+clear_dir .
+
+mkdir -p .ssh/keys etc lib usr/bin
+ln -s ../../ssh-common/Makefile ../../ssh-common/sshsvc.conf .ssh/
+make -C.ssh/
+cp /usr/bin/rsync usr/bin/
+ldd /usr/bin/rsync | while read line; do
+ set -- $line
+ for i in "$@"; do case "$i" in /*) cp "$i" lib/ ;; esac; done
+done
+
+grep -E '^(root:|sysupl-)' /etc/passwd >etc/passwd
+grep -E '^(root:|sysupl-)' /etc/group >etc/group