github.com/go-graphite/carbonapi@v0.17.0/contrib/carbonapi/fpm/create_package_deb.sh (about) 1 #!/bin/bash 2 3 FPM="${FPM:-fpm}" 4 5 die() { 6 if [ $1 -eq 0 ]; then 7 rm -rf "${TMPDIR}" 8 else 9 echo "Temporary data stored at '${TMPDIR}'" >&2 10 fi 11 echo "$2" >&2 12 exit $1 13 } 14 15 GIT_VERSION="$(git describe --always --tags)" && { 16 set -f; IFS='-' ; set -- ${GIT_VERSION} 17 VERSION=$1; [ -z "$3" ] && RELEASE=$2 || RELEASE=$2.$3 18 set +f; unset IFS 19 20 [ "$RELEASE" == "" -a "$VERSION" != "" ] && RELEASE=0 21 22 if echo $VERSION | egrep '^v[0-9]+\.[0-9]+(\.[0-9]+)?$' >/dev/null; then 23 VERSION=${VERSION:1:${#VERSION}} 24 printf "'%s' '%s'\n" "$VERSION" "$RELEASE" 25 fi 26 } || { 27 exit 1 28 } 29 30 TMPDIR=$(mktemp -d) 31 32 DISTRO=$(lsb_release -i -s) 33 DRELEASE=$(lsb_release -r -s) 34 35 make || die 1 "Can't build package" 36 make DESTDIR="${TMPDIR}" install || die 1 "Can't install package" 37 38 # Determine if we are building for Ubuntu <15.04 and need to provide upstart script 39 is_upstart=0 40 if [[ "${DISTRO}" == "Ubuntu" ]]; then 41 egrep -v -q '^(8|1[01234])\.' <<< ${DRELEASE} 42 is_upstart=$? 43 fi 44 45 if [[ ${is_upstart} -eq 0 ]]; then 46 mkdir -p "${TMPDIR}"/etc/systemd/system/ 47 mkdir -p "${TMPDIR}"/etc/default/ 48 cp ./contrib/carbonapi/deb/carbonapi.service "${TMPDIR}"/etc/systemd/system/ || die 1 "Copy error" 49 cp ./contrib/carbonapi/common/carbonapi.env "${TMPDIR}"/etc/default/carbonapi || die 1 "Copy error" 50 else 51 mkdir -p "${TMPDIR}"/etc/init/ 52 cp ./contrib/carbonapi/deb/carbonapi.conf "${TMPDIR}"/etc/init/ || die 1 "Copy error" 53 fi 54 55 mkdir -p "${TMPDIR}"/var/log/carbonapi/ 56 mkdir -p "${TMPDIR}"/etc/logrotate.d/ 57 cp ./contrib/carbonapi/deb/carbonapi.logrotate "${TMPDIR}"/etc/logrotate.d/carbonapi || die 1 "Copy error" 58 59 ${FPM} -s dir -t deb -n carbonapi -v ${VERSION} -C ${TMPDIR} \ 60 --iteration ${RELEASE} \ 61 -p carbonapi_VERSION-ITERATION.ARCH.deb \ 62 -d "libcairo2 > 1.11" \ 63 --no-deb-systemd-restart-after-upgrade \ 64 --after-install contrib/carbonapi/fpm/systemd-reload.sh \ 65 --description "carbonapi: replacement graphite API server" \ 66 --license BSD-2 \ 67 --url "https://github.com/go-graphite/carbonapi" \ 68 etc usr/bin usr/share || die 1 "Can't create package!" 69 70 die 0 "Success"