github.com/go-graphite/carbonapi@v0.17.0/contrib/carbonapi/fpm/create_package_rpm.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  make || die 1 "Can't build package"
    33  make DESTDIR="${TMPDIR}" install || die 1 "Can't install package"
    34  mkdir -p "${TMPDIR}"/etc/systemd/system/
    35  mkdir -p "${TMPDIR}"/etc/sysconfig/
    36  cp ./contrib/carbonapi/rhel/carbonapi.service "${TMPDIR}"/etc/systemd/system/ || die 1 "Copy error"
    37  cp ./contrib/carbonapi/common/carbonapi.env "${TMPDIR}"/etc/sysconfig/carbonapi || die 1 "Copy error"
    38  
    39  ${FPM} -s dir -t rpm -n carbonapi -v ${VERSION} -C ${TMPDIR} \
    40      --iteration ${RELEASE} \
    41      -p carbonapi-VERSION-ITERATION.ARCH.rpm \
    42      -d "cairo" \
    43      --after-install contrib/carbonapi/fpm/systemd-reload.sh \
    44      --description "carbonapi: replacement graphite API server" \
    45      --license BSD-2 \
    46      --url "https://github.com/go-graphite/carbonapi" \
    47      etc usr/bin usr/share || die 1 "Can't create package!"
    48  
    49  die 0 "Success"