diff options
-rw-r--r-- | .SRCINFO | 22 | ||||
-rw-r--r-- | PKGBUILD | 59 | ||||
-rw-r--r-- | config.patch | 49 | ||||
-rw-r--r-- | grafana.install | 10 | ||||
-rw-r--r-- | grafana.service | 15 |
5 files changed, 155 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..3544331890a1 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,22 @@ +pkgbase = grafana-git + pkgdesc = A general purpose dashboard and graph composer. It supports graphite, influxdb or opentsdb + pkgver = v2.0.2.r282.gc5d3eb5 + pkgrel = 1 + url = http://grafana.org + install = grafana.install + arch = x86_64 + arch = i686 + license = APACHE + makedepends = go + makedepends = nodejs-grunt-cli + depends = phantomjs + backup = etc/grafana/grafana.ini + source = git+https://github.com/grafana/grafana + source = config.patch + source = grafana.service + md5sums = SKIP + md5sums = d5691b6e4f0ac0e0aa010801c9870d30 + md5sums = 05508c9c21f4c93ad86944a52d37e925 + +pkgname = grafana-git + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..a78e499d7580 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,59 @@ +# Maintainer: Gilles Hamel <hamelg at laposte dot net> +_pkgname=grafana +pkgname=${_pkgname}-git +pkgver=v2.0.2.r282.gc5d3eb5 +pkgrel=1 +pkgdesc="A general purpose dashboard and graph composer. It supports graphite, influxdb or opentsdb" +url="http://grafana.org" +arch=('x86_64' 'i686') +license=('APACHE') +depends=(phantomjs) +makedepends=(go nodejs-grunt-cli) +install=${_pkgname}.install +backup=("etc/${_pkgname}/${_pkgname}.ini") +source=("git+https://github.com/${_pkgname}/${_pkgname}" + "config.patch" + "grafana.service") +md5sums=('SKIP' + 'd5691b6e4f0ac0e0aa010801c9870d30' + '05508c9c21f4c93ad86944a52d37e925') + +pkgver() { + cd "${srcdir}/${_pkgname}" + git describe --long | sed 's/\([^-]*-g\)/r\1/;s/-/./g' +} + +prepare () { + cd "${_pkgname}" + patch -p1 -i "${srcdir}"/config.patch + #patch -p1 -i "${srcdir}"/0001-Replaced-slug-dependency-with-one-that-did-not-use-g.patch +} + +build() { + export GOPATH="${srcdir}/${_pkgname}" + export PATH="$PATH:$GOPATH/bin" + cd "$GOPATH" + go run build.go setup + godep restore + mkdir -p "$GOPATH/src/github.com/grafana/grafana/" + ln -s "$GOPATH/pkg" "${srcdir}/${_pkgname}/src/github.com/grafana/grafana/" + # build less to css for the frontend + npm install + #grunt + # build the backend + # no longer doing package build since this just kicks off rpm/deb builds at the end. + #go run build.go build package + go run build.go build + grunt build + grunt build-post-process +} + +package() { + install -Dm644 "${srcdir}/grafana.service" "$pkgdir/usr/lib/systemd/system/grafana.service" + cd "${srcdir}/${_pkgname}" + install -Dsm755 bin/grafana-server "$pkgdir/usr/bin/grafana-server" + install -Dm644 tmp/conf/sample.ini "$pkgdir/etc/${_pkgname}/${_pkgname}.ini" + install -Dm644 tmp/conf/defaults.ini "$pkgdir/usr/share/grafana/conf/defaults.ini" + cp -r tmp/public tmp/vendor "$pkgdir/usr/share/grafana/" + rm "$pkgdir/usr/share/grafana/vendor/phantomjs/phantomjs" +} diff --git a/config.patch b/config.patch new file mode 100644 index 000000000000..5f8509ff4c58 --- /dev/null +++ b/config.patch @@ -0,0 +1,49 @@ +diff --git a/conf/defaults.ini b/conf/defaults.ini +index 258a019..6a7bd6b 100644 +--- a/conf/defaults.ini ++++ b/conf/defaults.ini +@@ -9,11 +9,11 @@ app_mode = production + [paths] + # Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used) + # +-data = data ++data = /var/lib/grafana + # + # Directory where grafana can store logs + # +-logs = data/log ++logs = /var/log/grafana + + #################################### Server #################################### + [server] +@@ -40,7 +40,7 @@ root_url = %(protocol)s://%(domain)s:%(http_port)s/ + router_logging = false + + # the path relative working path +-static_root_path = public ++static_root_path = /usr/share/grafana/public + + # enable gzip + enable_gzip = false +@@ -62,7 +62,7 @@ password = + ssl_mode = disable + + # For "sqlite3" only, path relative to data_path setting +-path = grafana.db ++path = /var/lib/grafanagrafana.db + + #################################### Session #################################### + [session] +diff --git a/pkg/components/renderer/renderer.go b/pkg/components/renderer/renderer.go +index 9d5ddd0..aa0aa9e 100644 +--- a/pkg/components/renderer/renderer.go ++++ b/pkg/components/renderer/renderer.go +@@ -21,7 +21,7 @@ type RenderOpts struct { + + func RenderToPng(params *RenderOpts) (string, error) { + log.Info("PhantomRenderer::renderToPng url %v", params.Url) +- binPath, _ := filepath.Abs(filepath.Join(setting.PhantomDir, "phantomjs")) ++ binPath := "/usr/bin/phantomjs" + scriptPath, _ := filepath.Abs(filepath.Join(setting.PhantomDir, "render.js")) + pngPath, _ := filepath.Abs(filepath.Join(setting.ImagesDir, util.GetRandomString(20))) + pngPath = pngPath + ".png" diff --git a/grafana.install b/grafana.install new file mode 100644 index 000000000000..f55675d2b312 --- /dev/null +++ b/grafana.install @@ -0,0 +1,10 @@ +post_install() { + id grafana 2>/dev/null || useradd -d /var/lib/grafana -r -U -M -s /bin/false grafana + mkdir -p "/var/lib/grafana" "/var/log/grafana/" + chown grafana.grafana /var/lib/grafana /var/log/grafana +} + + +post_remove() { + userdel grafana +}
\ No newline at end of file diff --git a/grafana.service b/grafana.service new file mode 100644 index 000000000000..38e720fd2f69 --- /dev/null +++ b/grafana.service @@ -0,0 +1,15 @@ +[Unit] +Description=Grafana service +After=network.target + +[Service] +User=grafana +Group=grafana +WorkingDirectory=/usr/share/grafana +ExecStart=/usr/bin/grafana-server --config=/etc/grafana/grafana.ini +LimitNOFILE=10000 +TimeoutStopSec=20 +SuccessExitStatus=0 2 + +[Install] +WantedBy=multi-user.target |