aboutsummaryrefslogtreecommitdiffstats
path: root/community/grafana/APKBUILD
blob: 7f96cebd28b99d1b2351a79c8bad3c476797cc46 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# Contributor: Konstantin Kulikov <k.kulikov2@gmail.com>
# Maintainer: Konstantin Kulikov <k.kulikov2@gmail.com>

# Keep in sync with grafana-frontend.

pkgname=grafana
pkgver=8.2.7
pkgrel=1
_commit=b57a137acd # git rev-parse --short HEAD
_stamp=1637228202 # git --no-pager show -s --format=%ct
pkgdesc="Open source, feature rich metrics dashboard and graph editor"
url="https://grafana.com"
arch="all !s390x !mips64" # tests fail https://github.com/grafana/grafana/issues/26390
license="AGPL-3.0-only"
depends="grafana-frontend=$pkgver-r$pkgrel"
makedepends="go"
install="$pkgname.pre-install"
subpackages="$pkgname-openrc"
options="net"
source="$pkgname-$pkgver.tar.gz::https://github.com/grafana/grafana/archive/v$pkgver.tar.gz
	$pkgname.initd
	$pkgname.confd"

export GOPATH=$srcdir/go
export GOCACHE=$srcdir/go-build
export GOTMPDIR=$srcdir
export GOFLAGS="$GOFLAGS -modcacherw"

# secfixes:
#   8.2.7-r0:
#     - CVE-2021-43798
#   8.2.4-r0:
#     - CVE-2021-41244
#   7.4.5-r0:
#     - CVE-2021-28146
#     - CVE-2021-28147
#     - CVE-2021-28148
#     - CVE-2021-27962
#   7.0.2-r0:
#     - CVE-2020-13379
#   6.3.4-r0:
#     - CVE-2019-15043

build() {
	GOBIN="$(pwd)" go install github.com/google/wire/cmd/wire@v0.5.0
	./wire gen -tags oss ./pkg/server

	local ldflags="-X main.version=$pkgver -X main.commit=$_commit -X main.buildstamp=$_stamp"
	go build -ldflags "$ldflags" -v ./pkg/cmd/grafana-server
	go build -ldflags "$ldflags" -v ./pkg/cmd/grafana-cli

}

check() {
	local pkgs="./..."

	case "$CARCH" in
	# https://github.com/grafana/grafana/issues/26389
	x86|armv7|armhf) pkgs="$(go list ./... | grep -Ev '(pkg/components/gtime$)|(pkg/tsdb/testdatasource$)|(pkg/tsdb/prometheus$)')" ;;
	# FP precision bugs in tests.
	aarch64|ppc64le) pkgs="$(go list ./... | grep -Ev 'pkg/tsdb/testdatasource$')" ;;
	esac

	go test $pkgs
}

package() {
	install -Dm755 "$srcdir/$pkgname.initd" "$pkgdir/etc/init.d/$pkgname"
	install -Dm644 "$srcdir/$pkgname.confd" "$pkgdir/etc/conf.d/$pkgname"
	install -Dm755 "$builddir/$pkgname-server" "$pkgdir/usr/sbin/$pkgname-server"
	install -Dm755 "$builddir/$pkgname-cli" "$pkgdir/usr/bin/$pkgname-cli"
	install -Dm644 "$builddir/conf/sample.ini" "$pkgdir/etc/grafana.ini"
	install -dm755 "$pkgdir/usr/share/grafana"
	cp -r "$builddir/conf" "$pkgdir/usr/share/$pkgname/"
}

sha512sums="
258628692af473fbf12d828b5e3e92d4a692babc56c0a36f54aa6e9dc73e27a3ea6998f2c57b1afe5d3a97b1f5565031c9a53361dd0151323e37d5e52f746873  grafana-8.2.7.tar.gz
b0a781e1b1e33741a97e231c761b1200239c6f1235ffbe82311fe883387eb23bef262ad68256ebd6cf87d74298041b53b947ea7a493cfa5aa814b2a1c5181e13  grafana.initd
c2d9896ae9a9425f759a47aeab42b7c43b63328e82670d50185de8c08cda7b8df264c8b105c5c3138b90dd46e86598b16826457eb3b2979a899b3a508cbe4e8c  grafana.confd
"