#!/usr/bin/env bash set -e root=$(readlink -e $(dirname $0)) prefix="/opt/nntpchan" help_text="usage: $0 [--prefix /opt/nntpchan] [-q|--quiet] [-r|--rebuild] [--disable-redis]" # check for help flags first for arg in $@ ; do case $arg in -h|--help) echo $help_text exit 0 ;; esac done _next="" want_rebuild="0" want_quiet="0" build_args="" # check for main flags for arg in $@ ; do case $arg in -q|--quiet) want_quiet="1" ;; -r|--rebuild) want_rebuild="1" ;; --prefix) _next="prefix" ;; --prefix=*) prefix=$(echo $arg | cut -d'=' -f2) ;; --disable-redis) build_args="$build_args --disable-redis" ;; *) if [ "X$_next" == "Xprefix" ] ; then # set prefix prefix="$arg" _next="" fi ;; esac done _cmd() { if [ "X$want_quiet" == "X1" ] ; then $@ &> /dev/null else $@ fi } if [ "X$want_rebuild" == "X1" ] ; then _cmd echo "rebuilding daemon"; _cmd $root/build.sh $build_args fi if [ ! -e $root/srndv2 ] ; then _cmd echo "building daemon" # TODO: use different GOPATH for root? _cmd $root/build.sh $build_args fi _cmd mkdir -p $prefix _cmd mkdir -p $prefix/webroot/thm _cmd mkdir -p $prefix/webroot/img _cmd cp -f $root/srndv2 $prefix/srndv2 _cmd cp -rf $root/{doc,contrib,certs} $prefix/ _cmd echo "installed to $prefix"