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"