#!/bin/sh -efu . gear-sh-functions show_usage() { cat <<-EOF Usage: $PROG [hasher options --] [$PROG options --] [@] EOF exit } outdir='out' clean= verbose= hsh_args= while [ $# -gt 0 ]; do case "$1" in -v|--verbose) verbose=-v ;; --) shift; break ;; esac hsh_args="$hsh_args $(quote_shell_arg "$1")" shift done TEMP=`getopt -n $PROG -o o,v -l cleanup-repo,outdir:,verbose -- "$@"` || show_usage eval set -- "$TEMP" while :; do case "$1" in --cleanup-repo) clean=1 ;; -o|--outdir) shift outdir="$(readlink -ev "$1")" ;; -v|--verbose) verbose=-v ;; --) shift; break ;; *) fatal "Unrecognized option: $1" ;; esac shift done [ "$#" -eq 3 ] || show_usage server="$1"; shift workdir="$1"; shift pkg="$(readlink -ev "$1")"; shift pkgname="${pkg##*/}" rsync $verbose -rtlp "$pkg" "$server:$workdir/" ssh "$server" "cat >'$workdir/build'; sh -efu -- '$workdir/build'" <