summaryrefslogtreecommitdiff
path: root/prometheus/Pkgfile
blob: cf88429e44a80a31928835e758d564c2e66cb542 (plain)
    1 # Description: an open-source systems monitoring and alerting toolkit
    2 # URL: https://prometheus.io
    3 # Maintainer: Tim Biermann, tbier at posteo dot de
    4 # Depends on: go npm
    5 
    6 name=prometheus
    7 version=2.33.5
    8 release=1
    9 source=(https://github.com/prometheus/prometheus/archive/v$version/$name-$version.tar.gz
   10   prometheus.conf prometheus.service)
   11 
   12 build() {
   13   # setup build env {{{
   14   export LC_ALL=C
   15 
   16   ## Node Setup
   17   #export NODE_ENV=production
   18   #[ ! -d $PKGMK_SOURCE_DIR/npm_cache ] && mkdir $PKGMK_SOURCE_DIR/npm_cache
   19   #export npm_config_cache=$PKGMK_SOURCE_DIR/npm_cache
   20   export NPM_CONFIG_PREFIX="$SRC/npm"
   21   export PATH+=":$NPM_CONFIG_PREFIX/bin"
   22 
   23   ## Go Setup
   24   export GOPATH="$SRC/gopath"
   25   export PATH+=":$GOPATH/bin"
   26   mkdir -p "$GOPATH/src/github.com/grafana/"
   27   ln -fsrT "$SRC/grafana-$version/" "$GOPATH/src/github.com/grafana/grafana"
   28   export CGO_LDFLAGS="${LDFLAGS}"
   29   export CGO_CPPFLAGS="${CPPFLAGS}"
   30   export CGO_CFLAGS="${CFLAGS}"
   31   export CGO_CXXFLAGS="${CXXFLAGS}"
   32   export GOFLAGS="-buildmode=pie -trimpath -modcacherw"
   33 
   34   GOLDFLAGS="-X github.com/prometheus/common/version.Version=$version
   35     -X github.com/prometheus/common/version.Revision=CRUX
   36     -X github.com/prometheus/common/version.Branch=master
   37     -X github.com/prometheus/common/version.BuildUser=$USER@$HOSTNAME
   38     -X github.com/prometheus/common/version.BuildDate=$(date -u +%Y%m%d-%H:%M:%S)
   39   "
   40 
   41   if [ -n $LDFLAGS ]; then
   42     # LDFLAGS (and only LDFLAGS) should be passed to -extldflags.
   43     GOLDFLAGS="$GOLDFLAGS -extldflags $LDFLAGS"
   44   fi
   45   # }}}
   46   cd $name-$version
   47 
   48   cd web/ui
   49   npm install
   50   npm run build
   51   npm run build:module
   52   npm run lint
   53   GOOS= GOARCH= go generate -x -v
   54   cd ../..
   55 
   56   gofmt -w ./web/ui
   57   go mod vendor
   58   go build \
   59     -trimpath \
   60     -mod=vendor \
   61     -ldflags "$GOLDFLAGS" \
   62     -tags netgo,builtinassets \
   63     ./cmd/prometheus
   64   go build \
   65     -trimpath \
   66     -mod=vendor \
   67     -ldflags "$GOLDFLAGS" \
   68     ./cmd/promtool
   69   # install
   70   install -Dm755 -t $PKG/usr/bin prometheus promtool
   71 
   72   install -Dm644 $SRC/prometheus.conf \
   73     $PKG/etc/conf.d/prometheus
   74   install -dm644 $PKG/var/lib/prometheus/data
   75 
   76   install -Dm644 -t $PKG/etc/prometheus \
   77     documentation/examples/prometheus.yml
   78 
   79   mkdir -p $PKG/etc/prometheus/console_libraries
   80   for file in console_libraries/*
   81   do
   82     install -Dm644 -t $PKG/etc/prometheus/console_libraries/ $file
   83   done
   84 
   85   mkdir -p $PKG/etc/prometheus/consoles
   86   for file in consoles/*
   87   do
   88     install -Dm644 -t $PKG/etc/prometheus/consoles/ $file
   89   done
   90 
   91   install -dm755 $PKG/usr/share/prometheus/web/ui
   92   cp -R web/ui/{static,templates} $PKG/usr/share/prometheus/web/ui/
   93   install -Dm644 $SRC/prometheus.conf $PKG/etc/conf.d/prometheus
   94 
   95   ## install rc file
   96   install -Dm 755 $SRC/prometheus.service $PKG/etc/rc.d/prometheus
   97 }
   98 
   99 # vim: foldmethod=marker foldlevelstart=1

Generated by cgit