freeswitch/build/build_patch.sh

45 lines
971 B
Bash
Executable File

#!/bin/bash
set -e -o pipefail
usage () {
printf "usage: %s [-u <remote>] [-r <ref>] [<patch-urls> ...]\n" "$0" >&2
}
err () {
printf "error: %s\n" "$1" >&2
exit 1
}
remote=origin
ref=origin/master
dopull=true
while getopts "hnr:u:" o; do
case "$o" in
h) usage; exit 0 ;;
n) dopull=false ;;
r) ref="$OPTARG" ;;
u) remote="$OPTARG" ;;
esac
done
shift $(($OPTIND-1))
if ! which git >/dev/null; then
printf "error: please install git\n">&2
exit 1; fi
if ! which wget >/dev/null; then
printf "error: please install wget\n">&2
exit 1; fi
now=$(date -u +%Y%m%dT%H%M%SZ)
git clean -fdx || err "failed"
git reset --hard "$ref" \
|| err "reset failed"
$dopull && (git pull "$remote" || err "failed to pull")
for patch in "$@"; do
wget -O - "$patch" | git am
done
printf '# Building FreeSWITCH %s\n' "$(git describe HEAD)" \
> ${now}-fsbuild.log
(./bootstrap.sh && ./configure -C && make VERBOSE=1) 2>&1 \
| tee -a ${now}-fsbuild.log