| #!/bin/bash |
| # Builds and uploads a debian package for NSQ. |
| # See http://nsq.io/ for details. |
| |
| # To update the version of NSQ download the official tarball and put it into |
| # the skia-binaries bucket and update the DISTRIBUTION_TAR variable. |
| # Currently we only install the nsqd daemon and not using the lookup daemon. |
| |
| set -e -x |
| |
| APPNAME="nsqd" |
| APPNAME_NSQ_LOOKUPD="nsqlookupd" |
| APPNAME_NSQ_ADMIN="nsqadmin" |
| |
| SYSTEMD="${APPNAME}.service ${APPNAME_NSQ_LOOKUPD}.service ${APPNAME_NSQ_ADMIN}.service" |
| DESCRIPTION="NSQ - a realtime distributed messaging platform." |
| INIT_SCRIPT=${APPNAME} |
| |
| DISTRIBUTION_TAR="nsq-0.3.6.linux-amd64.go1.5.1.tar.gz" |
| DISTRIBUTION_URL="gs://skia-binaries/nsq/$DISTRIBUTION_TAR" |
| TEMP_DIR="./temp" |
| |
| # Extract the tar into a temporary directory. |
| mkdir -p $TEMP_DIR |
| gsutil cp $DISTRIBUTION_URL . |
| tar xzvf $DISTRIBUTION_TAR --strip-component=2 -C $TEMP_DIR |
| |
| # Copy files into the right locations in ${ROOT}. |
| copy_release_files() |
| { |
| INSTALL="sudo install -D --verbose --backup=none --group=root --owner=root" |
| ${INSTALL} --mode=644 -T ./sys/${APPNAME}.service ${ROOT}/etc/systemd/system/${APPNAME}.service |
| ${INSTALL} --mode=644 -T ./sys/${APPNAME_NSQ_LOOKUPD}.service ${ROOT}/etc/systemd/system/${APPNAME_NSQ_LOOKUPD}.service |
| ${INSTALL} --mode=644 -T ./sys/${APPNAME_NSQ_ADMIN}.service ${ROOT}/etc/systemd/system/${APPNAME_NSQ_ADMIN}.service |
| ${INSTALL} --mode=755 -T ${TEMP_DIR}/${APPNAME} ${ROOT}/usr/local/bin/${APPNAME} |
| ${INSTALL} --mode=755 -T ${TEMP_DIR}/${APPNAME_NSQ_LOOKUPD} ${ROOT}/usr/local/bin/${APPNAME_NSQ_LOOKUPD} |
| ${INSTALL} --mode=755 -T ${TEMP_DIR}/${APPNAME_NSQ_ADMIN} ${ROOT}/usr/local/bin/${APPNAME_NSQ_ADMIN} |
| ${INSTALL} --mode=755 -T ./sys/${APPNAME}_init ${ROOT}/etc/init.d/${APPNAME} |
| } |
| |
| source ../bash/release.sh |
| |
| # Remove the temporary files and directory. |
| rm -f $DISTRIBUTION_TAR |
| rm -rf $TEMP_DIR |