From 6171c9ee372a97a195f28ee6a821dccc99a1ed2c Mon Sep 17 00:00:00 2001 From: Alarig Le Lay Date: Sun, 20 Feb 2022 22:38:26 +0100 Subject: [PATCH] www-apps/grafana-bin: New package Package-Manager: Portage-3.0.30, Repoman-3.0.3 Signed-off-by: Alarig Le Lay --- www-apps/grafana-bin/Manifest | 1 + www-apps/grafana-bin/files/grafana-r1.confd | 27 ++++++++ www-apps/grafana-bin/files/grafana.initd | 36 +++++++++++ www-apps/grafana-bin/files/grafana.service | 25 ++++++++ www-apps/grafana-bin/grafana-bin-8.4.1.ebuild | 64 +++++++++++++++++++ www-apps/grafana-bin/metadata.xml | 7 ++ 6 files changed, 160 insertions(+) create mode 100644 www-apps/grafana-bin/Manifest create mode 100644 www-apps/grafana-bin/files/grafana-r1.confd create mode 100644 www-apps/grafana-bin/files/grafana.initd create mode 100644 www-apps/grafana-bin/files/grafana.service create mode 100644 www-apps/grafana-bin/grafana-bin-8.4.1.ebuild create mode 100644 www-apps/grafana-bin/metadata.xml diff --git a/www-apps/grafana-bin/Manifest b/www-apps/grafana-bin/Manifest new file mode 100644 index 0000000..f96681c --- /dev/null +++ b/www-apps/grafana-bin/Manifest @@ -0,0 +1 @@ +DIST grafana-bin-8.4.1.tar.gz 74082523 BLAKE2B 24943e2b8b9e7df6dc0bcf24b3089c62d3d2b49821cf13aa3abfcb134a068b299316498e4c6203443f8bde74c4ec9a8d2f5ea9b801090a1b3ee6c0c9fa1c855b SHA512 802224faaa02872dad114e4ee0b5f8745133eb7010ba292da597e801b85ff869849d9c01ceac66e04e5383b0bfc9e397c9042e0a0dc402f75276e8f2d84671e1 diff --git a/www-apps/grafana-bin/files/grafana-r1.confd b/www-apps/grafana-bin/files/grafana-r1.confd new file mode 100644 index 0000000..fffd31d --- /dev/null +++ b/www-apps/grafana-bin/files/grafana-r1.confd @@ -0,0 +1,27 @@ +# Config file for /etc/init.d/grafana + +# The user to run your application as +#GRAFANA_USER=grafana + +# The group to run your application as +#GRAFANA_GROUP=grafana + +# Configuration file +#GRAFANA_CONFIGFILE="/etc/grafana/${RC_SVCNAME}.ini" + +# PID file +#GRAFANA_PIDFILE="/run/${RC_SVCNAME}.pid" + +# The grafana datadir +#GRAFANA_DATADIR=/var/lib/grafana + +# You can use this configuration option to pass additional options to the +# start-stop-daemon, see start-stop-daemon(8) for more details. +# Per default we wait 1000ms after we have started the service to ensure +# that the daemon is really up and running. +#GRAFANA_SSDARGS="--wait 1000" + +# The termination timeout (start-stop-daemon parameter "retry") ensures +# that the service will be terminated within a given time (60 + 5 seconds +# per default) when you are stopping the service. +#GRAFANA_TERMTIMEOUT="TERM/60/KILL/5" diff --git a/www-apps/grafana-bin/files/grafana.initd b/www-apps/grafana-bin/files/grafana.initd new file mode 100644 index 0000000..8380317 --- /dev/null +++ b/www-apps/grafana-bin/files/grafana.initd @@ -0,0 +1,36 @@ +#!/sbin/openrc-run +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +GRAFANA_USER="${GRAFANA_USER:-"grafana"}" +GRAFANA_GROUP="${GRAFANA_GROUP:-"grafana"}" +GRAFANA_CONFIGFILE="${GRAFANA_CONFIGFILE:-"/etc/grafana/${RC_SVCNAME}.ini"}" +GRAFANA_DATADIR="${GRAFANA_DATADIR:-"/var/lib/grafana"}" +GRAFANA_LOGDIR="${GRAFANA_LOGDIR:-"/var/log/grafana"}" +GRAFANA_PIDFILE="${GRAFANA_PIDFILE:-"/run/${RC_SVCNAME}.pid"}" +GRAFANA_SSDARGS=${GRAFANA_SSDARGS:-"--wait 1000"} +GRAFANA_TERMTIMEOUT=${GRFANA_TERMTIMEOUT:-"TERM/60/KILL/5"} + +command="/usr/bin/grafana-server" +command_args="-homepath=/usr/share/grafana" +command_args="${command_args} -config=\"${GRAFANA_CONFIGFILE}\"" +command_args="${command_args} cfg:default.paths.data=\"${GRAFANA_DATADIR}\"" +command_args="${command_args} cfg:default.paths.logs=\"${GRAFANA_LOGDIR}\"" +command_background="yes" +pidfile="${GRAFANA_PIDFILE}" +retry="${GRAFANA_TERMTIMEOUT}" +start_stop_daemon_args="--user ${GRAFANA_USER}:${GRAFANA_GROUP} ${GRAFANA_SSDARGS}" + +description="Grafana server, feature rich metrics dashboard and graph editor." + +required_files="${GRAFANA_CONFIGFILE}" + +depend() { + need localmount +} + +start_pre() { + checkpath -d -o "${GRAFANA_USER}:${GRAFANA_GROUP}" -m750 "${GRAFANA_DATADIR}" || return 1 + checkpath -d -o "${GRAFANA_USER}:${GRAFANA_GROUP}" -m750 "${GRAFANA_DATADIR}/dashboards" || return 1 + checkpath -d -o "${GRAFANA_USER}:${GRAFANA_GROUP}" -m750 "${GRAFANA_DATADIR}/plugins" || return 1 +} diff --git a/www-apps/grafana-bin/files/grafana.service b/www-apps/grafana-bin/files/grafana.service new file mode 100644 index 0000000..dcf1de2 --- /dev/null +++ b/www-apps/grafana-bin/files/grafana.service @@ -0,0 +1,25 @@ +[Unit] +Description=Grafana +Documentation=http://docs.grafana.org +Wants=network-online.target +After=network-online.target + +[Service] +User=grafana +Group=grafana +Type=simple +Restart=on-failure +RuntimeDirectory=grafana +WorkingDirectory=/usr/share/grafana +ExecStart=/usr/bin/grafana-server \ + --config=/etc/grafana/grafana.ini \ + --pidfile=/run/grafana/grafana.pid \ + cfg:default.paths.logs=/var/log/grafana \ + cfg:default.paths.data=/var/lib/grafana \ + cfg:default.paths.plugins=/var/lib/grafana/plugins +LimitNOFILE=10000 +TimeoutStopSec=20 +UMask=0027 + +[Install] +WantedBy=multi-user.target diff --git a/www-apps/grafana-bin/grafana-bin-8.4.1.ebuild b/www-apps/grafana-bin/grafana-bin-8.4.1.ebuild new file mode 100644 index 0000000..b15b8f8 --- /dev/null +++ b/www-apps/grafana-bin/grafana-bin-8.4.1.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit systemd + +MY_PN=${PN/-bin/} +MY_PV=${PV/_beta/-beta} +S=${WORKDIR}/${MY_PN}-${MY_PV} + +DESCRIPTION="Gorgeous metric viz, dashboards & editors for Graphite, InfluxDB & OpenTSDB" +HOMEPAGE="https://grafana.org" +SRC_URI="https://dl.grafana.com/oss/release/grafana-${PV}.linux-amd64.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND="acct-group/grafana + acct-user/grafana" +RDEPEND="${DEPEND} + media-libs/fontconfig" + +QA_PREBUILT="usr/bin/grafana-*" +QA_PRESTRIPPED=${QA_PREBUILT} + +src_install() { + keepdir /etc/grafana + insinto /etc/grafana + newins "${S}"/conf/sample.ini grafana.ini + rm "${S}"/conf/sample.ini || die + + # Frontend assets + insinto /usr/share/${MY_PN} + doins -r public conf + + dobin bin/grafana-cli + dobin bin/grafana-server + + newconfd "${FILESDIR}"/grafana-r1.confd grafana + newinitd "${FILESDIR}"/grafana.initd grafana + systemd_newunit "${FILESDIR}"/grafana.service grafana.service + + keepdir /var/{lib,log}/grafana + keepdir /var/lib/grafana/{dashboards,plugins} + fowners grafana:grafana /var/{lib,log}/grafana + fowners grafana:grafana /var/lib/grafana/{dashboards,plugins} + fperms 0750 /var/{lib,log}/grafana + fperms 0750 /var/lib/grafana/{dashboards,plugins} +} + +postinst() { + if [[ -z "${REPLACING_VERSIONS}" ]]; then + # This is a new installation + + elog "${PN} has built-in log rotation. Please see [log.file] section of" + elog "/etc/grafana/grafana.ini for related settings." + elog + elog "You may add your own custom configuration for app-admin/logrotate if you" + elog "wish to use external rotation of logs. In this case, you also need to make" + elog "sure the built-in rotation is turned off." + fi +} diff --git a/www-apps/grafana-bin/metadata.xml b/www-apps/grafana-bin/metadata.xml new file mode 100644 index 0000000..9dc24d2 --- /dev/null +++ b/www-apps/grafana-bin/metadata.xml @@ -0,0 +1,7 @@ + + + + + patrick@gentoo.org + +