#!/bin/sh " echo "" echo " - Designated version for build (required)" echo "" } # Sanity checks [ ! -e configure.ac ] && echo "ERROR: Your current working directory must be the SVN check out of Spine" && exit -1 if [ "${1}x" = "--helpx" -o "${1}x" = "-hx" ]; then display_help exit 0 fi if [ -z "${1}" ]; then echo "" echo "ERROR: Invalid syntax, missing required argument" echo "" display_help exit -1 fi VERSION=${1} # Perform packaging echo "" echo "----------------------------------------------------------------------------" echo "Spine package builder" echo " Version: ${VERSION}" echo "----------------------------------------------------------------------------" # Clean up previous builds if [ -e ${TMP_DIR}/cacti-spine-${VERSION} ]; then echo "INFO: Removing previous build ${TMP_DIR}/cacti-spine-${VERSION}..." rm -Rf ${TMP_DIR}/cacti-spine-${VERSION} > /dev/null 2>&1 [ $? -gt 1 ] && echo "ERROR: Unable to remove directory: ${TMP_DIR}/cacti-spine-${VERSION}" && exit -1 fi if [ -e ${TMP_DIR}/cacti-spine-${VERSION}.tar.gz ]; then rm -Rf ${TMP_DIR}/cacti-spine-${VERSION}.tar.gz > /dev/null 2>&1 [ $? -gt 1 ] && echo "ERROR: Unable to remove file: ${TMP_DIR}/cacti-spine-${VERSION}.tar.gz" && exit -1 fi # Copy repository mkdir -p ${TMP_DIR}/cacti-spine-${VERSION} > /dev/null 2>&1 tar -cf - --exclude 'package' --exclude '.svn' --exclude '.travis.yml' * | (cd ${TMP_DIR}/cacti-spine-${VERSION}; tar -xf -) [ $? -gt 0 ] && echo "ERROR: Unable to repository to ${TMP_DIR}/cacti-spine-${VERSION}" && exit -1 # Change working directory pushd ${TMP_DIR}/cacti-spine-${VERSION} > /dev/null 2>&1 # Get version from source files, warn if different than defined for build SRC_VERSION=`cat configure.ac | grep AC_INIT | awk -F, '{print $2}' | sed 's/ //g'` if [ "${SRC_VERSION}" != "${VERSION}" ]; then echo "WARNING: Build version and source version are not the same"; echo "WARNING: Build Version: ${VERSION}" echo "WARNING: Source Version: ${SRC_VERSION}" fi # Call bootstrap echo "INFO: call bootstrap..." ./bootstrap # Check working directory cd ${TMP_DIR}/ # Package it echo "INFO: Packaging..." tar -zcf cacti-spine-${VERSION}.tar.gz cacti-spine-${VERSION} [ $? -gt 1 ] && echo "ERROR: Unable to package" && exit -1 # Change working directory popd > /dev/null 2>&1 # Clean up echo "INFO: Cleaning up build directory..." rm -rf ${TMP_DIR}/cacti-spine-${VERSION} > /dev/null 2>&1 # Display file locations echo "INFO: Completed..." echo "" echo "Package file: ${TMP_DIR}/cacti-spine-${VERSION}.tar.gz" echo "" exit 0