app-metrics/prometheus-bin: new package, binary version of prometheus
authorWilliam Hubbs <william.hubbs@sony.com>
Mon, 27 Jan 2020 22:34:52 +0000 (16:34 -0600)
committerWilliam Hubbs <williamh@gentoo.org>
Mon, 27 Jan 2020 22:39:47 +0000 (16:39 -0600)
This is needed because prometheus now includes nodejs and the build
system uses yarn.

Signed-off-by: William Hubbs <williamh@gentoo.org>
app-metrics/prometheus-bin/Manifest [new file with mode: 0644]
app-metrics/prometheus-bin/files/prometheus.confd [new file with mode: 0644]
app-metrics/prometheus-bin/files/prometheus.initd [new file with mode: 0644]
app-metrics/prometheus-bin/metadata.xml [new file with mode: 0644]
app-metrics/prometheus-bin/prometheus-bin-2.15.2.ebuild [new file with mode: 0644]
app-metrics/prometheus/prometheus-2.13.1.ebuild

diff --git a/app-metrics/prometheus-bin/Manifest b/app-metrics/prometheus-bin/Manifest
new file mode 100644 (file)
index 0000000..3c1cd89
--- /dev/null
@@ -0,0 +1 @@
+DIST prometheus-2.15.2.linux-amd64.tar.gz 59204993 BLAKE2B 700d61063cddea02ca4445257b11b782c3b6fc84ed3d48f8d196c5602819f0d44b218d15b870281293bf0661929b02930b937e66fec34918b81cd3d010a6fa21 SHA512 a3b95fe6101d5587329d84adb18c0c261babe5a909e62ab1a39f42df28c058d311b0b2ea9ecbdad9227789ed83c0fae4a12776348999cda3a70cdc457f6d3611
diff --git a/app-metrics/prometheus-bin/files/prometheus.confd b/app-metrics/prometheus-bin/files/prometheus.confd
new file mode 100644 (file)
index 0000000..93b41b3
--- /dev/null
@@ -0,0 +1,2 @@
+# arguments for Prometheus
+command_args=""
diff --git a/app-metrics/prometheus-bin/files/prometheus.initd b/app-metrics/prometheus-bin/files/prometheus.initd
new file mode 100644 (file)
index 0000000..f7371f8
--- /dev/null
@@ -0,0 +1,34 @@
+#!/sbin/openrc-run
+# Copyright 2016-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+description="Prometheus monitoring system and time series database"
+pidfile=/var/run/${RC_SVCNAME}.pid
+user=${user:-${RC_SVCNAME}}
+group=${group:-${RC_SVCNAME}}
+command_user=${user}:${group}
+
+command="/usr/bin/prometheus"
+command_args="${command_args:---config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/var/lib/prometheus/data}"
+command_background="true"
+error_log=/var/log/${RC_SVCNAME}/${RC_SVCNAME}.log
+output_log=/var/log/${RC_SVCNAME}/${RC_SVCNAME}.log
+
+extra_started_commands="reload"
+
+depend() {
+       after net
+}
+
+reload() {
+       ebegin "Reloading configuration for ${RC_SVCNAME}"
+       case "$supervisor" in
+               supervise-daemon)
+               supervise-daemon ${RC_SVCNAME} --signal HUP
+               ;;
+               *)
+               start-stop-daemon --signal HUP --pidfile "${pidfile}"
+               ;;
+       esac
+       eend $? "Failed to reload ${RC_SVCNAME}"
+}
diff --git a/app-metrics/prometheus-bin/metadata.xml b/app-metrics/prometheus-bin/metadata.xml
new file mode 100644 (file)
index 0000000..c36c371
--- /dev/null
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+       <maintainer type="person">
+               <email>williamh@gentoo.org</email>
+               <name>William Hubbs</name>
+       </maintainer>
+</pkgmetadata>
diff --git a/app-metrics/prometheus-bin/prometheus-bin-2.15.2.ebuild b/app-metrics/prometheus-bin/prometheus-bin-2.15.2.ebuild
new file mode 100644 (file)
index 0000000..89e508d
--- /dev/null
@@ -0,0 +1,48 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="prometheus monitoring system and time series database"
+HOMEPAGE="http://prometheus.io"
+MY_PN=${PN%%-bin}
+MY_P=${MY_PN}-${PV}
+SRC_URI="https://github.com/prometheus/prometheus/releases/download/v${PV}/${MY_P}.linux-amd64.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+QA_PREBUILT=".*"
+RESTRICT="strip"
+
+DEPEND="acct-group/prometheus
+       acct-user/prometheus
+       !app-metrics/prometheus"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}.linux-amd64"
+
+src_install() {
+       dobin prometheus promtool tsdb
+       insinto /usr/share/prometheus
+       doins -r console_libraries consoles
+       insinto /etc/prometheus
+       doins prometheus.yml
+       dosym ../../usr/share/prometheus/console_libraries /etc/prometheus/console_libraries
+       dosym ../../usr/share/prometheus/consoles /etc/prometheus/consoles
+
+       newinitd "${FILESDIR}"/prometheus.initd prometheus
+       newconfd "${FILESDIR}"/prometheus.confd prometheus
+       keepdir /var/log/prometheus /var/lib/prometheus
+       fowners prometheus:prometheus /var/log/prometheus /var/lib/prometheus
+}
+
+pkg_postinst() {
+       if has_version '<net-analyzer/prometheus-2.0.0_rc0'; then
+               ewarn "Old prometheus 1.x TSDB won't be converted to the new prometheus 2.0 format"
+               ewarn "Be aware that the old data currently cannot be accessed with prometheus 2.0"
+               ewarn "This release requires a clean storage directory and is not compatible with"
+               ewarn "files created by previous beta releases"
+       fi
+}
index d9614ddc2a6b27fd53af27d1ea24a8b493f38530..35f3c3c87b5ff1564c34333444f52d4e26531662 100644 (file)
@@ -17,6 +17,7 @@ SLOT="0"
 IUSE=""
 
 DEPEND="
+       !app-metrics/prometheus-bin
        >=dev-lang/go-1.12
        >=dev-util/promu-0.3.0"