summaryrefslogtreecommitdiff
path: root/app-metrics
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /app-metrics
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'app-metrics')
-rw-r--r--app-metrics/Manifest.gzbin5217 -> 3421 bytes
-rw-r--r--app-metrics/alertmanager-0.14.0-r112
-rw-r--r--app-metrics/alertmanager-0.15.012
-rw-r--r--app-metrics/alertmanager-0.15.112
-rw-r--r--app-metrics/alertmanager/Manifest9
-rw-r--r--app-metrics/alertmanager/alertmanager-0.14.0-r1.ebuild52
-rw-r--r--app-metrics/alertmanager/alertmanager-0.15.0.ebuild52
-rw-r--r--app-metrics/alertmanager/alertmanager-0.15.1.ebuild52
-rw-r--r--app-metrics/alertmanager/files/alertmanager.confd2
-rw-r--r--app-metrics/alertmanager/files/alertmanager.initd28
-rw-r--r--app-metrics/alertmanager/metadata.xml11
-rw-r--r--app-metrics/bind_exporter-0.2.0_p2018030711
-rw-r--r--app-metrics/bind_exporter/Manifest5
-rw-r--r--app-metrics/bind_exporter/bind_exporter-0.2.0_p20180307.ebuild59
-rw-r--r--app-metrics/bind_exporter/files/bind_exporter.confd2
-rw-r--r--app-metrics/bind_exporter/files/bind_exporter.initd19
-rw-r--r--app-metrics/bind_exporter/metadata.xml11
-rw-r--r--app-metrics/blackbox_exporter-0.12.012
-rw-r--r--app-metrics/blackbox_exporter/Manifest5
-rw-r--r--app-metrics/blackbox_exporter/blackbox_exporter-0.12.0.ebuild54
-rw-r--r--app-metrics/blackbox_exporter/files/blackbox_exporter.confd2
-rw-r--r--app-metrics/blackbox_exporter/files/blackbox_exporter.initd19
-rw-r--r--app-metrics/blackbox_exporter/metadata.xml11
-rw-r--r--app-metrics/buildbot-prometheus-17.7.2-r214
-rw-r--r--app-metrics/buildbot-prometheus/Manifest4
-rw-r--r--app-metrics/buildbot-prometheus/buildbot-prometheus-17.7.2-r2.ebuild35
-rw-r--r--app-metrics/buildbot-prometheus/files/buildbot-prometheus-17.7.2-Migrate-duration-calculations-to-buildbot-09.patch52
-rw-r--r--app-metrics/buildbot-prometheus/metadata.xml16
-rw-r--r--app-metrics/collectd-5.7.2-r314
-rw-r--r--app-metrics/collectd-5.8.014
-rw-r--r--app-metrics/collectd/Manifest13
-rw-r--r--app-metrics/collectd/collectd-5.7.2-r3.ebuild548
-rw-r--r--app-metrics/collectd/collectd-5.8.0.ebuild534
-rw-r--r--app-metrics/collectd/files/collectd-5.6.0-gentoo.patch153
-rw-r--r--app-metrics/collectd/files/collectd-5.7.2-CVE-2017-16820.patch39
-rw-r--r--app-metrics/collectd/files/collectd-5.7.2-issue-2443.patch160
-rw-r--r--app-metrics/collectd/files/collectd-5.7.2-varnish-5.2+.patch1018
-rw-r--r--app-metrics/collectd/files/collectd.confd-r249
-rw-r--r--app-metrics/collectd/files/collectd.initd-r270
-rw-r--r--app-metrics/collectd/files/collectd.logrotate9
-rw-r--r--app-metrics/collectd/files/collectd.tmpfile1
-rw-r--r--app-metrics/collectd/metadata.xml27
-rw-r--r--app-metrics/elasticsearch_exporter-1.0.211
-rw-r--r--app-metrics/elasticsearch_exporter/Manifest5
-rw-r--r--app-metrics/elasticsearch_exporter/elasticsearch_exporter-1.0.2.ebuild47
-rw-r--r--app-metrics/elasticsearch_exporter/files/elasticsearch_exporter.confd2
-rw-r--r--app-metrics/elasticsearch_exporter/files/elasticsearch_exporter.initd19
-rw-r--r--app-metrics/elasticsearch_exporter/metadata.xml11
-rw-r--r--app-metrics/metadata.xml8
-rw-r--r--app-metrics/mongodb_exporter-0.4.011
-rw-r--r--app-metrics/mongodb_exporter/Manifest5
-rw-r--r--app-metrics/mongodb_exporter/files/mongodb_exporter.confd2
-rw-r--r--app-metrics/mongodb_exporter/files/mongodb_exporter.initd19
-rw-r--r--app-metrics/mongodb_exporter/metadata.xml11
-rw-r--r--app-metrics/mongodb_exporter/mongodb_exporter-0.4.0.ebuild47
-rw-r--r--app-metrics/mysqld_exporter-0.10.0-r111
-rw-r--r--app-metrics/mysqld_exporter/Manifest6
-rw-r--r--app-metrics/mysqld_exporter/files/mysqld_exporter-r1.initd73
-rw-r--r--app-metrics/mysqld_exporter/files/mysqld_exporter.confd26
-rw-r--r--app-metrics/mysqld_exporter/files/mysqld_exporter.logrotate5
-rw-r--r--app-metrics/mysqld_exporter/metadata.xml11
-rw-r--r--app-metrics/mysqld_exporter/mysqld_exporter-0.10.0-r1.ebuild61
-rw-r--r--app-metrics/nginx-vts-exporter-0.10.011
-rw-r--r--app-metrics/nginx-vts-exporter-0.10.311
-rw-r--r--app-metrics/nginx-vts-exporter/Manifest7
-rw-r--r--app-metrics/nginx-vts-exporter/files/nginx-vts-exporter.confd2
-rw-r--r--app-metrics/nginx-vts-exporter/files/nginx-vts-exporter.initd19
-rw-r--r--app-metrics/nginx-vts-exporter/metadata.xml11
-rw-r--r--app-metrics/nginx-vts-exporter/nginx-vts-exporter-0.10.0.ebuild47
-rw-r--r--app-metrics/nginx-vts-exporter/nginx-vts-exporter-0.10.3.ebuild47
-rw-r--r--app-metrics/node_exporter-0.15.211
-rw-r--r--app-metrics/node_exporter-0.16.011
-rw-r--r--app-metrics/node_exporter-0.16.0_rc311
-rw-r--r--app-metrics/node_exporter/Manifest9
-rw-r--r--app-metrics/node_exporter/files/node_exporter-1.initd19
-rw-r--r--app-metrics/node_exporter/files/node_exporter.confd2
-rw-r--r--app-metrics/node_exporter/metadata.xml11
-rw-r--r--app-metrics/node_exporter/node_exporter-0.15.2.ebuild48
-rw-r--r--app-metrics/node_exporter/node_exporter-0.16.0.ebuild48
-rw-r--r--app-metrics/node_exporter/node_exporter-0.16.0_rc3.ebuild48
-rw-r--r--app-metrics/openvpn_exporter-0.2.111
-rw-r--r--app-metrics/openvpn_exporter/Manifest13
-rw-r--r--app-metrics/openvpn_exporter/files/openvpn_exporter.confd2
-rw-r--r--app-metrics/openvpn_exporter/files/openvpn_exporter.initd19
-rw-r--r--app-metrics/openvpn_exporter/files/openvpn_exporter.logrotated7
-rw-r--r--app-metrics/openvpn_exporter/metadata.xml11
-rw-r--r--app-metrics/openvpn_exporter/openvpn_exporter-0.2.1.ebuild54
-rw-r--r--app-metrics/postfix_exporter-0.1.213
-rw-r--r--app-metrics/postfix_exporter/Manifest15
-rw-r--r--app-metrics/postfix_exporter/files/postfix_exporter.confd9
-rw-r--r--app-metrics/postfix_exporter/files/postfix_exporter.initd19
-rw-r--r--app-metrics/postfix_exporter/files/postfix_exporter.logrotated7
-rw-r--r--app-metrics/postfix_exporter/metadata.xml11
-rw-r--r--app-metrics/postfix_exporter/postfix_exporter-0.1.2.ebuild58
-rw-r--r--app-metrics/postgres_exporter-0.4.612
-rw-r--r--app-metrics/postgres_exporter/Manifest5
-rw-r--r--app-metrics/postgres_exporter/files/postgres_exporter.confd2
-rw-r--r--app-metrics/postgres_exporter/files/postgres_exporter.initd19
-rw-r--r--app-metrics/postgres_exporter/metadata.xml11
-rw-r--r--app-metrics/postgres_exporter/postgres_exporter-0.4.6.ebuild40
-rw-r--r--app-metrics/prom2json-0.1.0_p2017052311
-rw-r--r--app-metrics/prom2json/Manifest3
-rw-r--r--app-metrics/prom2json/metadata.xml11
-rw-r--r--app-metrics/prom2json/prom2json-0.1.0_p20170523.ebuild38
-rw-r--r--app-metrics/prometheus-2.2.112
-rw-r--r--app-metrics/prometheus-2.3.112
-rw-r--r--app-metrics/prometheus-2.3.212
-rw-r--r--app-metrics/prometheus/Manifest9
-rw-r--r--app-metrics/prometheus/files/prometheus-3.initd28
-rw-r--r--app-metrics/prometheus/files/prometheus.confd2
-rw-r--r--app-metrics/prometheus/metadata.xml11
-rw-r--r--app-metrics/prometheus/prometheus-2.2.1.ebuild70
-rw-r--r--app-metrics/prometheus/prometheus-2.3.1.ebuild70
-rw-r--r--app-metrics/prometheus/prometheus-2.3.2.ebuild70
-rw-r--r--app-metrics/pushgateway-0.4.011
-rw-r--r--app-metrics/pushgateway-0.5.011
-rw-r--r--app-metrics/pushgateway-0.5.211
-rw-r--r--app-metrics/pushgateway/Manifest14
-rw-r--r--app-metrics/pushgateway/files/pushgateway-1.confd14
-rw-r--r--app-metrics/pushgateway/files/pushgateway-1.initd19
-rw-r--r--app-metrics/pushgateway/files/pushgateway-1.service16
-rw-r--r--app-metrics/pushgateway/files/pushgateway.confd14
-rw-r--r--app-metrics/pushgateway/files/pushgateway.initd19
-rw-r--r--app-metrics/pushgateway/files/pushgateway.logrotated7
-rw-r--r--app-metrics/pushgateway/files/pushgateway.service16
-rw-r--r--app-metrics/pushgateway/metadata.xml15
-rw-r--r--app-metrics/pushgateway/pushgateway-0.4.0.ebuild51
-rw-r--r--app-metrics/pushgateway/pushgateway-0.5.0.ebuild51
-rw-r--r--app-metrics/pushgateway/pushgateway-0.5.2.ebuild51
-rw-r--r--app-metrics/redis_exporter-0.15.011
-rw-r--r--app-metrics/redis_exporter/Manifest7
-rw-r--r--app-metrics/redis_exporter/files/redis_exporter.confd30
-rw-r--r--app-metrics/redis_exporter/files/redis_exporter.initd19
-rw-r--r--app-metrics/redis_exporter/files/redis_exporter.logrotated7
-rw-r--r--app-metrics/redis_exporter/files/redis_exporter.service16
-rw-r--r--app-metrics/redis_exporter/metadata.xml11
-rw-r--r--app-metrics/redis_exporter/redis_exporter-0.15.0.ebuild52
-rw-r--r--app-metrics/snmp_exporter-0.10.011
-rw-r--r--app-metrics/snmp_exporter-0.11.011
-rw-r--r--app-metrics/snmp_exporter-0.9.011
-rw-r--r--app-metrics/snmp_exporter/Manifest9
-rw-r--r--app-metrics/snmp_exporter/files/snmp_exporter.confd2
-rw-r--r--app-metrics/snmp_exporter/files/snmp_exporter.initd19
-rw-r--r--app-metrics/snmp_exporter/metadata.xml11
-rw-r--r--app-metrics/snmp_exporter/snmp_exporter-0.10.0.ebuild50
-rw-r--r--app-metrics/snmp_exporter/snmp_exporter-0.11.0.ebuild50
-rw-r--r--app-metrics/snmp_exporter/snmp_exporter-0.9.0.ebuild50
-rw-r--r--app-metrics/uwsgi_exporter-0.7.011
-rw-r--r--app-metrics/uwsgi_exporter/Manifest7
-rw-r--r--app-metrics/uwsgi_exporter/files/uwsgi_exporter.confd16
-rw-r--r--app-metrics/uwsgi_exporter/files/uwsgi_exporter.initd19
-rw-r--r--app-metrics/uwsgi_exporter/files/uwsgi_exporter.logrotated7
-rw-r--r--app-metrics/uwsgi_exporter/files/uwsgi_exporter.service16
-rw-r--r--app-metrics/uwsgi_exporter/metadata.xml11
-rw-r--r--app-metrics/uwsgi_exporter/uwsgi_exporter-0.7.0.ebuild54
155 files changed, 5161 insertions, 360 deletions
diff --git a/app-metrics/Manifest.gz b/app-metrics/Manifest.gz
index 3ae0c6dc2dec..a41676055af1 100644
--- a/app-metrics/Manifest.gz
+++ b/app-metrics/Manifest.gz
Binary files differ
diff --git a/app-metrics/alertmanager-0.14.0-r1 b/app-metrics/alertmanager-0.14.0-r1
deleted file mode 100644
index 2125d8140bdf..000000000000
--- a/app-metrics/alertmanager-0.14.0-r1
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile install prepare setup test unpack
-DEPEND=dev-util/promu >=dev-lang/go-1.9
-DESCRIPTION=Alertmanager for alerts sent by client applications such as Prometheus
-EAPI=6
-HOMEPAGE=https://github.com/prometheus/alertmanager
-KEYWORDS=~amd64
-LICENSE=Apache-2.0
-RESTRICT=test
-SLOT=0
-SRC_URI=https://github.com/prometheus/alertmanager/archive/v0.14.0.tar.gz -> alertmanager-0.14.0.tar.gz
-_eclasses_=golang-base d4e3a3f895016e5c9d7afb1a33e7cf3c golang-build b66349c110e4ddd6203bbe8bf4ae05c1 golang-vcs-snapshot 913580335becddd3ebecefe852e47536 user 8bc2845510e2109af75e3eeac607ec81
-_md5_=539b0d081674f3b4e07081e0313355f7
diff --git a/app-metrics/alertmanager-0.15.0 b/app-metrics/alertmanager-0.15.0
deleted file mode 100644
index 451273b6a4ad..000000000000
--- a/app-metrics/alertmanager-0.15.0
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile install prepare setup test unpack
-DEPEND=dev-util/promu >=dev-lang/go-1.9
-DESCRIPTION=Alertmanager for alerts sent by client applications such as Prometheus
-EAPI=6
-HOMEPAGE=https://github.com/prometheus/alertmanager
-KEYWORDS=~amd64
-LICENSE=Apache-2.0
-RESTRICT=test
-SLOT=0
-SRC_URI=https://github.com/prometheus/alertmanager/archive/v0.15.0.tar.gz -> alertmanager-0.15.0.tar.gz
-_eclasses_=golang-base d4e3a3f895016e5c9d7afb1a33e7cf3c golang-build b66349c110e4ddd6203bbe8bf4ae05c1 golang-vcs-snapshot 913580335becddd3ebecefe852e47536 user 8bc2845510e2109af75e3eeac607ec81
-_md5_=224db0fc5ec99a6bca20f45105ea0d67
diff --git a/app-metrics/alertmanager-0.15.1 b/app-metrics/alertmanager-0.15.1
deleted file mode 100644
index 93c6bf442e81..000000000000
--- a/app-metrics/alertmanager-0.15.1
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile install prepare setup test unpack
-DEPEND=dev-util/promu >=dev-lang/go-1.9
-DESCRIPTION=Alertmanager for alerts sent by client applications such as Prometheus
-EAPI=6
-HOMEPAGE=https://github.com/prometheus/alertmanager
-KEYWORDS=~amd64
-LICENSE=Apache-2.0
-RESTRICT=test
-SLOT=0
-SRC_URI=https://github.com/prometheus/alertmanager/archive/v0.15.1.tar.gz -> alertmanager-0.15.1.tar.gz
-_eclasses_=golang-base d4e3a3f895016e5c9d7afb1a33e7cf3c golang-build b66349c110e4ddd6203bbe8bf4ae05c1 golang-vcs-snapshot 913580335becddd3ebecefe852e47536 user 8bc2845510e2109af75e3eeac607ec81
-_md5_=b83b6cd34626de3a11aca0749a45f866
diff --git a/app-metrics/alertmanager/Manifest b/app-metrics/alertmanager/Manifest
new file mode 100644
index 000000000000..53b489edef9c
--- /dev/null
+++ b/app-metrics/alertmanager/Manifest
@@ -0,0 +1,9 @@
+AUX alertmanager.confd 135 BLAKE2B 7a3dd341e63a73e9782d44dc59c8a65ea1c855ae0589ce80e616be6d8faf24224f804c564296955487760c155649c184b3132a2741cf30d171c88dcfdd469583 SHA512 391eb26d67310fba9371d274b1e9552cf0c9c02de1e3616c3e5514ae99bf7d36b52c6caa7e94a96f640b0f8542b15b4dded9d59154173c01d4e9a99ec2219fbc
+AUX alertmanager.initd 817 BLAKE2B 74a7e6c292ac52f4d6d00644038e74624be41ed632a6db389a7c226b3a37d43f22f1c8c098d34f652d9b6b9cb407523b375c884e75fe3740578f26e822df21c7 SHA512 34ae9348f5e054543bdbffd29e30d1fb6147d47e74cecb1755c29bf4327bd56ac4fae4cecddf2c515b6ddffbce4ad7151ae3a3e7f283db2d6b74619f5faa44ac
+DIST alertmanager-0.14.0.tar.gz 2786623 BLAKE2B e9c773af81153b3062d27464c6b8d1edcafe66575b8d5a6309b162c6546d3dedf7ae5b1afcf4dafb3dfdb6bcf826aeb9119b27cfe596da365a6272ee71b30441 SHA512 e352d51d86b853ff679892df3c494da2c7b4afb918d807e6d63b76e959b586f43a4c773de18bdd9e6a5067d4034748bb304ebdee2f08983b00890c1ae393d0b8
+DIST alertmanager-0.15.0.tar.gz 2755787 BLAKE2B 3c13f31c87605d7ff1e90ed8734c5415aa8ee3f9d5ba2713bd8ea8d6d56b013d70e60e3571714b4b423c82c139cb784eff146339a62e2e302c92e7e045d8b977 SHA512 df3b5146c333227ce463b7eed318c30e5c5192ed1728acd3e8664cab85be18b3c430d776063a4101611cdbb08be36f4a04cef9f9d8e053f4db443ea2dcab5853
+DIST alertmanager-0.15.1.tar.gz 2756389 BLAKE2B 8da152f3edc856ea12025e08b108b47501d95a278e621198712831cc3b105085f4b6b0073c184314b2cc4b291c6d27d6fecf35d5c423476a92ed35f63fe66ede SHA512 b71c59fb1fb745e0d1aac39617cd208b778d215db9d4c72703f5d88a6f293451b63f941dab1c86a8a2257657aa1d9a243044711724e3bfcc66e64db36f473c6b
+EBUILD alertmanager-0.14.0-r1.ebuild 1311 BLAKE2B 347ffeaca216e1b1234b6005fe670696ec2d580738b8b0dc7236a28ba8821176d3eba3a37a0d7772f983be3632d7f709fa37f3d75603607c7bdf25a271955be2 SHA512 64a1ceb5cca20a51ad3ba9c5dee50d20c3774acabae01dcb3ace1a185b125eb44dfe1ba1ffc60876c09e5b14d59d421b9950f4e71d2f937c80bb398e65bf5a08
+EBUILD alertmanager-0.15.0.ebuild 1311 BLAKE2B 796affcc4eae677d9b0c82046415dfc22a740332686abf0da40969d6ed92825377a8e331f93b5f11af4175bf04ef629831522cb905134a2e80af732c1aa6dcbe SHA512 91352629f1dac90a54811392fbfe07070cc05abd544b6d2937bce9e8e654cd020c7feb7e0624ab8dc203055f7ec5c7c53744ca4a848912dc6e01428716dc5901
+EBUILD alertmanager-0.15.1.ebuild 1311 BLAKE2B 7280246a9da3cd00c5c5545190629305aa7c117eb9ad28b5f110908a035cb56c6c5153eceb76761bd29e81195d15720acc81de660eff2603eb64be8dd72e95ac SHA512 4adf84dd9e3adef99e85badcde86356a5179c90cc7074516353a097708c8faf3561ae5c95edd859fab644de0cc578b7ddf84b029ad95273e8e43b34937a8df83
+MISC metadata.xml 333 BLAKE2B eb945c2d22a9d93154b7a021559038b9565f00d54dda86445c00156ddffd6754cd433026ff465a38864d00bf1c44a3c050835fd854dadce82ea92649613151ef SHA512 2059ca45e92e3a833d93097362e1ae79ef085c35f87ec2bcbde4ee2d20f8938cb27fb19647d083990c1224b3d0c06f163a3f1bedfabfb59a6b3b15a90697ac0f
diff --git a/app-metrics/alertmanager/alertmanager-0.14.0-r1.ebuild b/app-metrics/alertmanager/alertmanager-0.14.0-r1.ebuild
new file mode 100644
index 000000000000..43de943ea4fb
--- /dev/null
+++ b/app-metrics/alertmanager/alertmanager-0.14.0-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit user golang-build golang-vcs-snapshot
+
+EGO_PN="github.com/prometheus/alertmanager"
+EGIT_COMMIT="v${PV/_rc/-rc.}"
+ALERTMANAGER_COMMIT="fb713f6"
+ARCHIVE_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Alertmanager for alerts sent by client applications such as Prometheus"
+HOMEPAGE="https://github.com/prometheus/alertmanager"
+SRC_URI="${ARCHIVE_URI}"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+DEPEND="dev-util/promu"
+
+RESTRICT="test"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_prepare() {
+ default
+ sed -i -e "s/{{.Revision}}/${ALERTMANAGER_COMMIT}/" src/${EGO_PN}/.promu.yml || die
+}
+
+src_compile() {
+ pushd src/${EGO_PN} || die
+ mkdir -p bin || die
+ GOPATH="${S}" promu build -v --prefix bin || die
+ popd || die
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin bin/*
+ dodoc {README,CHANGELOG,CONTRIBUTING}.md
+ insinto /etc/alertmanager/
+ newins doc/examples/simple.yml config.yml.example
+ popd || die
+ keepdir /var/lib/alertmanager /var/log/alertmanager
+ fowners ${PN}:${PN} /var/lib/alertmanager /var/log/alertmanager
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+}
diff --git a/app-metrics/alertmanager/alertmanager-0.15.0.ebuild b/app-metrics/alertmanager/alertmanager-0.15.0.ebuild
new file mode 100644
index 000000000000..a101d133f357
--- /dev/null
+++ b/app-metrics/alertmanager/alertmanager-0.15.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit user golang-build golang-vcs-snapshot
+
+EGO_PN="github.com/prometheus/alertmanager"
+EGIT_COMMIT="v${PV/_rc/-rc.}"
+ALERTMANAGER_COMMIT="462c969"
+ARCHIVE_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Alertmanager for alerts sent by client applications such as Prometheus"
+HOMEPAGE="https://github.com/prometheus/alertmanager"
+SRC_URI="${ARCHIVE_URI}"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+DEPEND="dev-util/promu"
+
+RESTRICT="test"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_prepare() {
+ default
+ sed -i -e "s/{{.Revision}}/${ALERTMANAGER_COMMIT}/" src/${EGO_PN}/.promu.yml || die
+}
+
+src_compile() {
+ pushd src/${EGO_PN} || die
+ mkdir -p bin || die
+ GOPATH="${S}" promu build -v --prefix bin || die
+ popd || die
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin bin/*
+ dodoc {README,CHANGELOG,CONTRIBUTING}.md
+ insinto /etc/alertmanager/
+ newins doc/examples/simple.yml config.yml.example
+ popd || die
+ keepdir /var/lib/alertmanager /var/log/alertmanager
+ fowners ${PN}:${PN} /var/lib/alertmanager /var/log/alertmanager
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+}
diff --git a/app-metrics/alertmanager/alertmanager-0.15.1.ebuild b/app-metrics/alertmanager/alertmanager-0.15.1.ebuild
new file mode 100644
index 000000000000..0cdd5f83df8f
--- /dev/null
+++ b/app-metrics/alertmanager/alertmanager-0.15.1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit user golang-build golang-vcs-snapshot
+
+EGO_PN="github.com/prometheus/alertmanager"
+EGIT_COMMIT="v${PV/_rc/-rc.}"
+ALERTMANAGER_COMMIT="8397de1"
+ARCHIVE_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Alertmanager for alerts sent by client applications such as Prometheus"
+HOMEPAGE="https://github.com/prometheus/alertmanager"
+SRC_URI="${ARCHIVE_URI}"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+DEPEND="dev-util/promu"
+
+RESTRICT="test"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_prepare() {
+ default
+ sed -i -e "s/{{.Revision}}/${ALERTMANAGER_COMMIT}/" src/${EGO_PN}/.promu.yml || die
+}
+
+src_compile() {
+ pushd src/${EGO_PN} || die
+ mkdir -p bin || die
+ GOPATH="${S}" promu build -v --prefix bin || die
+ popd || die
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin bin/*
+ dodoc {README,CHANGELOG,CONTRIBUTING}.md
+ insinto /etc/alertmanager/
+ newins doc/examples/simple.yml config.yml.example
+ popd || die
+ keepdir /var/lib/alertmanager /var/log/alertmanager
+ fowners ${PN}:${PN} /var/lib/alertmanager /var/log/alertmanager
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+}
diff --git a/app-metrics/alertmanager/files/alertmanager.confd b/app-metrics/alertmanager/files/alertmanager.confd
new file mode 100644
index 000000000000..57c769e41a76
--- /dev/null
+++ b/app-metrics/alertmanager/files/alertmanager.confd
@@ -0,0 +1,2 @@
+# arguments for prometheus alertmanager
+command_args="--config.file=/etc/alertmanager/config.yml --storage.path=/var/lib/alertmanager"
diff --git a/app-metrics/alertmanager/files/alertmanager.initd b/app-metrics/alertmanager/files/alertmanager.initd
new file mode 100644
index 000000000000..5d625ac57bb8
--- /dev/null
+++ b/app-metrics/alertmanager/files/alertmanager.initd
@@ -0,0 +1,28 @@
+#!/sbin/openrc-run
+# Copyright 2016-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Prometheus alertmanager"
+pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
+user=${user:-${RC_SVCNAME}}
+group=${group:-${RC_SVCNAME}}
+
+command="/usr/bin/alertmanager"
+command_args="${command_args:---config.file=/etc/alertmanager/config.yml --storage.path=/var/lib/alertmanager}"
+command_background="true"
+start_stop_daemon_args="--user ${user} --group ${group} \
+ --stdout /var/log/alertmanager/${RC_SVCNAME}.log \
+ --stderr /var/log/alertmanager/${RC_SVCNAME}.log"
+
+extra_started_commands="reload"
+
+depend() {
+ after net
+}
+
+reload() {
+ ebegin "Reloading ${SVCNAME}"
+ start-stop-daemon --signal HUP --pidfile "${pidfile}"
+ eend $? "Failed to stop ${SVCNAME}"
+}
+
diff --git a/app-metrics/alertmanager/metadata.xml b/app-metrics/alertmanager/metadata.xml
new file mode 100644
index 000000000000..714320b4f365
--- /dev/null
+++ b/app-metrics/alertmanager/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mrueg@gentoo.org</email>
+ <name>Manuel Rüger</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">prometheus/alertmanager</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-metrics/bind_exporter-0.2.0_p20180307 b/app-metrics/bind_exporter-0.2.0_p20180307
deleted file mode 100644
index 59333722fbc0..000000000000
--- a/app-metrics/bind_exporter-0.2.0_p20180307
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile install postinst prepare setup test unpack
-DEPEND=dev-util/promu >=dev-lang/go-1.9
-DESCRIPTION=Prometheus exporter for BIND
-EAPI=6
-HOMEPAGE=https://github.com/digitalocean/bind_exporter
-KEYWORDS=~amd64
-LICENSE=Apache-2.0
-SLOT=0
-SRC_URI=https://github.com/digitalocean/bind_exporter/archive/38ef3a6caa68e8c42a08e72d51e90b00333e6894.tar.gz -> bind_exporter-0.2.0_p20180307.tar.gz
-_eclasses_=golang-base d4e3a3f895016e5c9d7afb1a33e7cf3c golang-build b66349c110e4ddd6203bbe8bf4ae05c1 golang-vcs-snapshot 913580335becddd3ebecefe852e47536 user 8bc2845510e2109af75e3eeac607ec81
-_md5_=7517c6be43747e992eed4b6bdca14c5f
diff --git a/app-metrics/bind_exporter/Manifest b/app-metrics/bind_exporter/Manifest
new file mode 100644
index 000000000000..7172e25f7988
--- /dev/null
+++ b/app-metrics/bind_exporter/Manifest
@@ -0,0 +1,5 @@
+AUX bind_exporter.confd 57 BLAKE2B dfffea2f2859b377d5132a2c56ace0260f2d272463c104144acea0a2489141d01e35f4899d53af1526fe0ca1ae760fef62c96a0b6849c8b8678b7693a53ac20f SHA512 54c5162993d488eecec2453b06b2cbedd5eb4599074cf43fda644e2faba4c35ad481840dbb8b05979bf1a0dcdff32edd9efa56bc779f264d81056793d1d00be0
+AUX bind_exporter.initd 550 BLAKE2B fcb4eb3066023024b8605a2c9787ba7c8871d05d1b11a1ea97ebab91e403e21876c8b29136b114c6ceef29e9be79056accdde7061e13f615b1f55c25998b938e SHA512 1471a0644c1c2d5a242987638b6fa0576913b9dfbcf886ade42951b3cc71f632c210060a619637988c5239a3ff934c2073e2bd34b913abd9871eb028fd71e2e1
+DIST bind_exporter-0.2.0_p20180307.tar.gz 873965 BLAKE2B e59cbd2ccbd13dd60b673c6816e2d4c151e85ed159daa272996081814f7f276bc686b5d6a94db59e41085d57a12974bd2dcb8ef7696dba3940de705dfc800f25 SHA512 63331f877d988a41b86c0204569a1cd19cbfa176be9e811ef8fa5509d0af4a2f7dda0b27f9ba3b0f3df985f7c075f4535225298ce8808f97497d8bfa3b41256d
+EBUILD bind_exporter-0.2.0_p20180307.ebuild 1550 BLAKE2B 5448c9f30f97c14a72f8063af4b335d5ea34f092d6c07adc5f27e72a366acccaf437b5c83a74117f9ce2f55fc6823762d587e823615745a004d38d85d201d09d SHA512 f94d6e633a3fff0c9b1b84e4ce3bc4034abce0519dbba1d332f54dc188278821e874d4e32323aca926d01e2b06c7506378e0318d1acba22f1a66da248cc5d6c9
+MISC metadata.xml 336 BLAKE2B 5b39247fdfd604232cfc3025e79ef77b109e9751e5eb2221da402420058a2b54686030592b30f6337575e5d6fc7f4080b46afc133e06ca4c48408b15bfd550e9 SHA512 e66208ff143de58a4a947c7de9b1ef414211dfd68ef5d2b18529c5b23252941bb32208cd6747cd5892d01986eb4a872f96083ee8ca166d322d8bdcdbe998c7c1
diff --git a/app-metrics/bind_exporter/bind_exporter-0.2.0_p20180307.ebuild b/app-metrics/bind_exporter/bind_exporter-0.2.0_p20180307.ebuild
new file mode 100644
index 000000000000..2a1f34a01290
--- /dev/null
+++ b/app-metrics/bind_exporter/bind_exporter-0.2.0_p20180307.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit user golang-build golang-vcs-snapshot
+
+EGO_PN="github.com/digitalocean/bind_exporter"
+EXPORTER_COMMIT="38ef3a6caa68e8c42a08e72d51e90b00333e6894"
+ARCHIVE_URI="https://${EGO_PN}/archive/${EXPORTER_COMMIT}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Prometheus exporter for BIND"
+HOMEPAGE="https://github.com/digitalocean/bind_exporter"
+SRC_URI="${ARCHIVE_URI}"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+DEPEND="dev-util/promu"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_prepare() {
+ default
+ sed -i -e "/-s$/d" -e "s/{{.Revision}}/${EXPORTER_COMMIT}/" src/${EGO_PN}/.promu.yml || die
+}
+
+src_compile() {
+ pushd src/${EGO_PN} || die
+ mkdir -p bin || die
+ GOPATH="${S}" promu build -v --prefix bin || die
+ popd || die
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin bin/${PN}
+ dodoc {README,CHANGELOG}.md
+ popd || die
+ keepdir /var/log/${PN}
+ fowners ${PN}:${PN} /var/log/${PN}
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+}
+
+pkg_postinst() {
+ elog "Make sure BIND was built with libxml2 support. You can check with the"
+ elog "following command: named -V | grep libxml2."
+ elog "Configure BIND to open a statistics channel. It's recommended to run"
+ elog "the bind_exporter next to BIND, so it's only necessary to open a port"
+ elog "locally."
+ elog ""
+ elog "statistics-channels {"
+ elog "inet 127.0.0.1 port 8053 allow { 127.0.0.1; };"
+ elog "};"
+}
diff --git a/app-metrics/bind_exporter/files/bind_exporter.confd b/app-metrics/bind_exporter/files/bind_exporter.confd
new file mode 100644
index 000000000000..e1cc826703e4
--- /dev/null
+++ b/app-metrics/bind_exporter/files/bind_exporter.confd
@@ -0,0 +1,2 @@
+# arguments for prometheus bind exporter
+command_args=""
diff --git a/app-metrics/bind_exporter/files/bind_exporter.initd b/app-metrics/bind_exporter/files/bind_exporter.initd
new file mode 100644
index 000000000000..1167b2430573
--- /dev/null
+++ b/app-metrics/bind_exporter/files/bind_exporter.initd
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+# Copyright 2016-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Prometheus bind exporter"
+pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
+user=${user:-${RC_SVCNAME}}
+group=${group:-${RC_SVCNAME}}
+
+command="/usr/bin/bind_exporter"
+command_args="${command_args:-}"
+command_background="true"
+start_stop_daemon_args="--user ${user} --group ${group} \
+ --stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log \
+ --stderr /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log"
+
+depend() {
+ after net
+}
diff --git a/app-metrics/bind_exporter/metadata.xml b/app-metrics/bind_exporter/metadata.xml
new file mode 100644
index 000000000000..202de383a4e7
--- /dev/null
+++ b/app-metrics/bind_exporter/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mrueg@gentoo.org</email>
+ <name>Manuel Rüger</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">digitalocean/bind_exporter</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-metrics/blackbox_exporter-0.12.0 b/app-metrics/blackbox_exporter-0.12.0
deleted file mode 100644
index f6ef1685bb44..000000000000
--- a/app-metrics/blackbox_exporter-0.12.0
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile install postinst prepare setup test unpack
-DEPEND=dev-util/promu filecaps? ( sys-libs/libcap ) >=dev-lang/go-1.9
-DESCRIPTION=Prometheus exporter for blackbox probing via HTTP, HTTPS, DNS, TCP and ICMP
-EAPI=6
-HOMEPAGE=https://github.com/prometheus/blackbox_exporter
-IUSE=+filecaps
-KEYWORDS=~amd64
-LICENSE=Apache-2.0
-SLOT=0
-SRC_URI=https://github.com/prometheus/blackbox_exporter/archive/v0.12.0.tar.gz -> blackbox_exporter-0.12.0.tar.gz
-_eclasses_=fcaps 9445d60c1eb084a91c38ef4c070b2f16 golang-base d4e3a3f895016e5c9d7afb1a33e7cf3c golang-build b66349c110e4ddd6203bbe8bf4ae05c1 golang-vcs-snapshot 913580335becddd3ebecefe852e47536 user 8bc2845510e2109af75e3eeac607ec81
-_md5_=ed749681acece233372e6f715a161b89
diff --git a/app-metrics/blackbox_exporter/Manifest b/app-metrics/blackbox_exporter/Manifest
new file mode 100644
index 000000000000..8e83e9bb5e9d
--- /dev/null
+++ b/app-metrics/blackbox_exporter/Manifest
@@ -0,0 +1,5 @@
+AUX blackbox_exporter.confd 110 BLAKE2B c3cb7ed7d314ea8b347b4db9839e7c987c91c78378a6085473d687a5f3460f06ca6825567fbe832c3114906156290d00d505e15e3c2461eb844acb4e56937af0 SHA512 aa8720c03c4bf21ad5f789a4e9c6df6059fb71413cfdc605f8868bcd54eab899aa527afa9d847c7780042a8d4d72468145a97f8d732ef6aad861dcbf96bdf2ed
+AUX blackbox_exporter.initd 615 BLAKE2B fce98f2c0740db2309d0395cf1e7e3f8b3b305c688cbafbf14a1787d952d49933ddebee1a688b844a66c95d02c38c38e943ff73e4dce68a1069c69c91540cc47 SHA512 f5ecc87e592fe85e4cfed759f06a1d88a4bbd05a474cb7955aae296ee29ae2ddf875a427bfcc7ff8369367eb8892c85bcc5051d273f8c2693395c8851b5f8669
+DIST blackbox_exporter-0.12.0.tar.gz 2202465 BLAKE2B e3b082f8a491b531b0caf3331ecd391bf8734df0915ccbb7988ac1e67e57436bd45169aa403d5511fbb44eb176f89836ad8c04c491f5194f90f9f8a3b686a656 SHA512 2c98c0f4127bdd04ac54eb182c5468fd38121558f85aa8b4bec860f783f266b144df3153da0b028fdb84a4131a4e374a969bb09ce3a781ddf95f0a008c11bbb6
+EBUILD blackbox_exporter-0.12.0.ebuild 1440 BLAKE2B cb3900045d4128eb313c1e7c0d314e65c1773f491d314ffe052dbb6390dd4e8eddd4351a1f220fff80d9a88d9ca0676d862716fe83e6a56d84e142daea041854 SHA512 3b9c53156662bc16538f0db00b741ada3b3fd6373f7ef3272c97cd7080dc36b83ef8f40007ca307dcd73e5b82274e3f16a2de67743858c0f39eec99d76f6a3d1
+MISC metadata.xml 338 BLAKE2B 117f205ecdd4c05aba1ce92846f59dc7790c9fdae79db5cc1eb912d34a9e1d83eaaea26feb24245a0c5fc4394552705aa7b23171920d9023ca8e4333b3c09650 SHA512 e431b2ef89e797b9cbb290a70683a4392f07559851550dd22f5410f09c979730c8dd35c095f855565df8d72adb42c6e4b9d03882adf37240b0da28cc508ee2ad
diff --git a/app-metrics/blackbox_exporter/blackbox_exporter-0.12.0.ebuild b/app-metrics/blackbox_exporter/blackbox_exporter-0.12.0.ebuild
new file mode 100644
index 000000000000..24aa268f15a2
--- /dev/null
+++ b/app-metrics/blackbox_exporter/blackbox_exporter-0.12.0.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit fcaps user golang-build golang-vcs-snapshot
+
+EGO_PN="github.com/prometheus/blackbox_exporter"
+EGIT_COMMIT="v${PV/_rc/-rc.}"
+BLACKBOX_EXPORTER_COMMIT="4a22506"
+ARCHIVE_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Prometheus exporter for blackbox probing via HTTP, HTTPS, DNS, TCP and ICMP"
+HOMEPAGE="https://github.com/prometheus/blackbox_exporter"
+SRC_URI="${ARCHIVE_URI}"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+DEPEND="dev-util/promu"
+
+FILECAPS=(
+ cap_net_raw usr/bin/blackbox_exporter
+)
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_prepare() {
+ default
+ sed -i -e "s/{{.Revision}}/${BLACKBOX_EXPORTER_COMMIT}/" src/${EGO_PN}/.promu.yml || die
+}
+
+src_compile() {
+ pushd src/${EGO_PN} || die
+ mkdir -p bin || die
+ GOPATH="${S}" promu build -v --prefix blackbox_exporter || die
+ popd || die
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin blackbox_exporter/blackbox_exporter
+ dodoc {README,CONFIGURATION}.md blackbox.yml
+ insinto /etc/blackbox_exporter
+ newins example.yml blackbox.yml.example
+ popd || die
+ keepdir /var/lib/blackbox_exporter /var/log/blackbox_exporter
+ fowners ${PN}:${PN} /var/lib/blackbox_exporter /var/log/blackbox_exporter
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+}
diff --git a/app-metrics/blackbox_exporter/files/blackbox_exporter.confd b/app-metrics/blackbox_exporter/files/blackbox_exporter.confd
new file mode 100644
index 000000000000..39887477dff9
--- /dev/null
+++ b/app-metrics/blackbox_exporter/files/blackbox_exporter.confd
@@ -0,0 +1,2 @@
+# arguments for prometheus blackbox exporter
+command_args="--config.file=/etc/blackbox_exporter/blackbox.yml"
diff --git a/app-metrics/blackbox_exporter/files/blackbox_exporter.initd b/app-metrics/blackbox_exporter/files/blackbox_exporter.initd
new file mode 100644
index 000000000000..ab001d41abe9
--- /dev/null
+++ b/app-metrics/blackbox_exporter/files/blackbox_exporter.initd
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+# Copyright 2016-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Prometheus blackbox exporter"
+pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
+user=${user:-${RC_SVCNAME}}
+group=${group:-${RC_SVCNAME}}
+
+command="/usr/bin/blackbox_exporter"
+command_args="${command_args:---config.file=/etc/blackbox_exporter/blackbox.yml}"
+command_background="true"
+start_stop_daemon_args="--user ${user} --group ${group} \
+ --stdout /var/log/blackbox_exporter/${RC_SVCNAME}.log \
+ --stderr /var/log/blackbox_exporter/${RC_SVCNAME}.log"
+
+depend() {
+ after net
+}
diff --git a/app-metrics/blackbox_exporter/metadata.xml b/app-metrics/blackbox_exporter/metadata.xml
new file mode 100644
index 000000000000..5d0a20fee17b
--- /dev/null
+++ b/app-metrics/blackbox_exporter/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mrueg@gentoo.org</email>
+ <name>Manuel Rüger</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">prometheus/blackbox_exporter</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-metrics/buildbot-prometheus-17.7.2-r2 b/app-metrics/buildbot-prometheus-17.7.2-r2
deleted file mode 100644
index e5c0a3a20bba..000000000000
--- a/app-metrics/buildbot-prometheus-17.7.2-r2
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install postinst prepare test
-DEPEND=dev-python/setuptools[python_targets_python2_7(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,-python_single_target_python2_7(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-)] dev-python/prometheus_client[python_targets_python2_7(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,-python_single_target_python2_7(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-)] >=dev-util/buildbot-0.9.0[python_targets_python2_7(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,-python_single_target_python2_7(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-)] python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_5? ( dev-lang/python:3.5 ) python_targets_python3_6? ( dev-lang/python:3.6 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,-python_single_target_python2_7(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-)]
-DESCRIPTION=A Prometheus metrics exporter for Buildbot
-EAPI=6
-HOMEPAGE=https://github.com/claws/buildbot-prometheus
-IUSE=python_targets_python2_7 python_targets_python3_5 python_targets_python3_6
-KEYWORDS=~amd64
-LICENSE=MIT
-RDEPEND=dev-python/prometheus_client[python_targets_python2_7(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,-python_single_target_python2_7(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-)] >=dev-util/buildbot-0.9.0[python_targets_python2_7(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,-python_single_target_python2_7(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-)] python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_targets_python3_5? ( dev-lang/python:3.5 ) python_targets_python3_6? ( dev-lang/python:3.6 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,-python_single_target_python2_7(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-)]
-REQUIRED_USE=|| ( python_targets_python2_7 python_targets_python3_5 python_targets_python3_6 )
-SLOT=0
-SRC_URI=https://github.com/claws/buildbot-prometheus/archive/17.7.2.tar.gz -> buildbot-prometheus-17.7.2.tar.gz
-_eclasses_=distutils-r1 63fea93ca1cc4fdc5fa2247afc4e3a15 multibuild 35719a9cd25ec71ee49c966f6868454c multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 python-r1 0b5829eb6369d7af3a834b6eed7b7107 python-utils-r1 7db901256449fef43c3aaa4d486c1c63 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 xdg-utils f2c8335407f0b935b0a96d4adf23ef25
-_md5_=06b7caef6227c9fc8f83190884ba88c5
diff --git a/app-metrics/buildbot-prometheus/Manifest b/app-metrics/buildbot-prometheus/Manifest
new file mode 100644
index 000000000000..c37d724464f8
--- /dev/null
+++ b/app-metrics/buildbot-prometheus/Manifest
@@ -0,0 +1,4 @@
+AUX buildbot-prometheus-17.7.2-Migrate-duration-calculations-to-buildbot-09.patch 2430 BLAKE2B 1c7cc11d95301cf119b3cf0a1d9b1c0af9e48fd486a03350138d97c625abcb72e0f13b0eb4c826341f4e9a6938a708f0afee4c1cd36750a99580a34b23aa290b SHA512 ef63fbfabe5bef28eae222dca2509e24f5f1ec3aa71aa3af3c0092cf78cb9efe58296d54e46760c43ecd38c3d9ab741d1c83c79f2eee7f96572a82f125a389b6
+DIST buildbot-prometheus-17.7.2.tar.gz 10101 BLAKE2B 25c060b5368aa1dea6145b6d380db8001f3cd1fb49f9b3bb1e4ecccdb771591abc269d5aee9d022a9b182b19650a0c398b580004f20def0675b86ca9f3a1e2db SHA512 8a0ecaf57eade3d69fabc57a19a1c02af8e398c3bc4732e40f39e8904a16c9b751d4f6f8ace0dd7893b380d1ffc8a51360279aeb7b4059a6cd9438145344e74b
+EBUILD buildbot-prometheus-17.7.2-r2.ebuild 1122 BLAKE2B 4ed47d8f6f252be8866c997639f7380d0ecf33f7813c1c08b7f6fd83837b216dac116cc78bdd3e5d892ba8a8952f65564919b59286d1375b2b09f42b36065f51 SHA512 b72291f2d007542bd510e3f2f2b0bd42439d3c70583909a742a02a209e9f8507850597512222acfb99f355b4dcedb51777b7f1c67177fccd5bd2a1373b9e3d2e
+MISC metadata.xml 498 BLAKE2B e2cfffddc7ee5bcf879529fea9c97b2c5f93134c16b57dcac5a9f445cba4097f001f973668d82a9a619a524e03da6d79f8910a76637ed1070beb742ad25599c1 SHA512 6a99e044eef36810ef2dee8b090e852ec9518fb8cc8a019257543e77200aae69faf0e0e89f54d562be701dd8f5ebae9d90af860e3bdc3c54fa079e669af16202
diff --git a/app-metrics/buildbot-prometheus/buildbot-prometheus-17.7.2-r2.ebuild b/app-metrics/buildbot-prometheus/buildbot-prometheus-17.7.2-r2.ebuild
new file mode 100644
index 000000000000..67323d1dbeff
--- /dev/null
+++ b/app-metrics/buildbot-prometheus/buildbot-prometheus-17.7.2-r2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 python3_{5,6} )
+inherit distutils-r1
+
+DESCRIPTION="A Prometheus metrics exporter for Buildbot"
+HOMEPAGE="https://github.com/claws/buildbot-prometheus"
+SRC_URI="https://github.com/claws/buildbot-prometheus/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+RDEPEND="dev-python/prometheus_client[${PYTHON_USEDEP}]
+ >=dev-util/buildbot-0.9.0[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ ${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/buildbot-prometheus-17.7.2-Migrate-duration-calculations-to-buildbot-09.patch"
+)
+
+python_prepare_all() {
+ sed -i -e "/^install_reqs.*$/d" -e "/^from pip.*$/d" -e "s/requires = .*/requires = ['buildbot', 'prometheus_client']/" setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+pkg_postinst() {
+ einfo "This version has been patched to be compatible with the current buildbot releases >=0.9.0"
+ einfo "For older buildbot-0.8* releases, please use dev-python/buildbot-prometheus-17.7.2-r1 version"
+}
diff --git a/app-metrics/buildbot-prometheus/files/buildbot-prometheus-17.7.2-Migrate-duration-calculations-to-buildbot-09.patch b/app-metrics/buildbot-prometheus/files/buildbot-prometheus-17.7.2-Migrate-duration-calculations-to-buildbot-09.patch
new file mode 100644
index 000000000000..7fbdbdd09133
--- /dev/null
+++ b/app-metrics/buildbot-prometheus/files/buildbot-prometheus-17.7.2-Migrate-duration-calculations-to-buildbot-09.patch
@@ -0,0 +1,52 @@
+From ceddea3f55773e104c628ef6316ce74785d235f3 Mon Sep 17 00:00:00 2001
+From: Brian Dolbec <brian.dolbec@sony.com>
+Date: Tue, 6 Mar 2018 02:30:56 +0000
+Subject: [PATCH] Migrate duration calculations to >=buildbot-0.9
+
+---
+ buildbot_prometheus/prometheus.py | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/buildbot_prometheus/prometheus.py b/buildbot_prometheus/prometheus.py
+index a766f41..ebf41a1 100644
+--- a/buildbot_prometheus/prometheus.py
++++ b/buildbot_prometheus/prometheus.py
+@@ -302,7 +302,7 @@ class Prometheus(service.BuildbotService):
+ build_started = msg['started_at']
+ build_finished = msg['complete_at']
+ build_duration = build_finished - build_started
+- duration_seconds = build_duration.total_seconds()
++ duration_seconds = build_duration
+ self.g_builds_duration.labels(**labels).set(duration_seconds)
+
+ build_status = resolve_results_status(msg['results'])
+@@ -401,7 +401,7 @@ class Prometheus(service.BuildbotService):
+ buildset_started = msg['submitted_at']
+ buildset_finished = msg['complete_at']
+ buildset_duration = buildset_finished - buildset_started
+- duration_seconds = buildset_duration.total_seconds()
++ duration_seconds = buildset_duration
+ self.g_buildsets_duration.labels(**labels).set(duration_seconds)
+
+ bs_success = resolve_results_status(msg['results'])
+@@ -444,7 +444,7 @@ class Prometheus(service.BuildbotService):
+ br_started = msg['submitted_at']
+ br_finished = msg['complete_at']
+ br_duration = br_finished - br_started
+- duration_seconds = br_duration.total_seconds()
++ duration_seconds = br_duration
+ self.g_build_requests_duration.labels(**labels).set(duration_seconds)
+
+ br_success = resolve_results_status(msg['results'])
+@@ -491,7 +491,7 @@ class Prometheus(service.BuildbotService):
+ step_started = msg['started_at']
+ step_finished = msg['complete_at']
+ step_duration = step_finished - step_started
+- duration_seconds = step_duration.total_seconds()
++ duration_seconds = step_duration
+ self.g_steps_duration.labels(**labels).set(duration_seconds)
+
+ step_success = resolve_results_status(msg['results'])
+--
+libgit2 0.24.6
+
diff --git a/app-metrics/buildbot-prometheus/metadata.xml b/app-metrics/buildbot-prometheus/metadata.xml
new file mode 100644
index 000000000000..81ebfb154a13
--- /dev/null
+++ b/app-metrics/buildbot-prometheus/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mrueg@gentoo.org</email>
+ <name>Manuel Rüger</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>dolsen@gentoo.org</email>
+ <name>Brian Dolbec</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">buildbot-prometheus</remote-id>
+ <remote-id type="github">claws/buildbot-prometheus</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-metrics/collectd-5.7.2-r3 b/app-metrics/collectd-5.7.2-r3
deleted file mode 100644
index 60803e0d7ce0..000000000000
--- a/app-metrics/collectd-5.7.2-r3
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=configure install postinst preinst prepare setup
-DEPEND=dev-libs/libgcrypt:= dev-libs/libltdl:0= perl? ( dev-lang/perl:=[ithreads] ) udev? ( virtual/udev ) xfs? ( sys-fs/xfsprogs ) collectd_plugins_amqp? ( net-libs/rabbitmq-c ) collectd_plugins_apache? ( net-misc/curl:0= ) collectd_plugins_ascent? ( net-misc/curl:0= dev-libs/libxml2:2= ) collectd_plugins_bind? ( net-misc/curl:0= dev-libs/libxml2:2= ) collectd_plugins_ceph? ( dev-libs/yajl:= ) collectd_plugins_curl? ( net-misc/curl:0= ) collectd_plugins_curl_json? ( net-misc/curl:0= dev-libs/yajl:= ) collectd_plugins_curl_xml? ( net-misc/curl:0= dev-libs/libxml2:2= ) collectd_plugins_dbi? ( dev-db/libdbi ) collectd_plugins_dns? ( net-libs/libpcap ) collectd_plugins_gmond? ( sys-cluster/ganglia ) collectd_plugins_gps? ( sci-geosciences/gpsd:= ) collectd_plugins_ipmi? ( >=sys-libs/openipmi-2.0.16-r1 ) collectd_plugins_iptables? ( >=net-firewall/iptables-1.4.13:0= ) collectd_plugins_log_logstash? ( dev-libs/yajl:= ) collectd_plugins_lua? ( dev-lang/lua:0= ) collectd_plugins_lvm? ( sys-fs/lvm2 ) collectd_plugins_memcachec? ( dev-libs/libmemcached ) collectd_plugins_modbus? ( dev-libs/libmodbus ) collectd_plugins_mqtt? ( app-misc/mosquitto ) collectd_plugins_mysql? ( virtual/libmysqlclient:= ) collectd_plugins_netlink? ( net-libs/libmnl ) collectd_plugins_nginx? ( net-misc/curl:0= ) collectd_plugins_notify_desktop? ( x11-libs/libnotify ) collectd_plugins_notify_email? ( net-libs/libesmtp ) collectd_plugins_nut? ( >=sys-power/nut-2.7.2-r2 ) collectd_plugins_openldap? ( net-nds/openldap ) collectd_plugins_onewire? ( >=sys-fs/owfs-3.1:= ) collectd_plugins_oracle? ( dev-db/oracle-instantclient-basic ) collectd_plugins_perl? ( dev-lang/perl:=[ithreads] ) collectd_plugins_ping? ( net-libs/liboping ) collectd_plugins_postgresql? ( dev-db/postgresql:= ) collectd_plugins_python? ( python_single_target_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_single_target_python3_4? ( dev-lang/python:3.4 ) python_single_target_python3_5? ( dev-lang/python:3.5 ) python_single_target_python3_6? ( dev-lang/python:3.6 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)?,python_single_target_python3_4(+)?,python_single_target_python3_5(+)?,python_single_target_python3_6(+)?] ) collectd_plugins_redis? ( dev-libs/hiredis:= ) collectd_plugins_routeros? ( net-libs/librouteros ) collectd_plugins_rrdcached? ( net-analyzer/rrdtool:= ) collectd_plugins_rrdtool? ( net-analyzer/rrdtool:= ) collectd_plugins_sensors? ( sys-apps/lm_sensors ) collectd_plugins_sigrok? ( <sci-libs/libsigrok-0.4:= dev-libs/glib:2 ) collectd_plugins_smart? ( dev-libs/libatasmart ) collectd_plugins_snmp? ( net-analyzer/net-snmp ) collectd_plugins_tokyotyrant? ( net-misc/tokyotyrant ) collectd_plugins_varnish? ( www-servers/varnish ) collectd_plugins_virt? ( app-emulation/libvirt:= dev-libs/libxml2:2= ) collectd_plugins_write_http? ( net-misc/curl:0= dev-libs/yajl:= ) collectd_plugins_write_kafka? ( >=dev-libs/librdkafka-0.9.0.99:= dev-libs/yajl:= ) collectd_plugins_write_prometheus? ( >=dev-libs/protobuf-c-1.2.1-r1:= net-libs/libmicrohttpd:= ) collectd_plugins_write_redis? ( dev-libs/hiredis:= ) collectd_plugins_xencpu? ( app-emulation/xen-tools:= ) kernel_FreeBSD? ( collectd_plugins_disk? ( sys-libs/libstatgrab:= ) collectd_plugins_interface? ( sys-libs/libstatgrab:= ) collectd_plugins_load? ( sys-libs/libstatgrab:= ) collectd_plugins_memory? ( sys-libs/libstatgrab:= ) collectd_plugins_swap? ( sys-libs/libstatgrab:= ) collectd_plugins_users? ( sys-libs/libstatgrab:= ) ) collectd_plugins_iptables? ( || ( <=sys-kernel/linux-headers-4.4 >=sys-kernel/linux-headers-4.6 ) ) collectd_plugins_java? ( >=virtual/jdk-1.6 ) virtual/pkgconfig >=app-portage/elt-patches-20170422 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 filecaps? ( sys-libs/libcap ) collectd_plugins_java? ( >=dev-java/java-config-2.2.0-r3 ) virtual/pkgconfig
-DESCRIPTION=Collects system statistics and provides mechanisms to store the values
-EAPI=6
-HOMEPAGE=https://collectd.org/
-IUSE=contrib debug java kernel_Darwin kernel_FreeBSD kernel_linux perl selinux static-libs udev xfs collectd_plugins_aggregation collectd_plugins_amqp collectd_plugins_apache collectd_plugins_apcups collectd_plugins_ascent collectd_plugins_battery collectd_plugins_bind collectd_plugins_ceph collectd_plugins_cgroups collectd_plugins_chrony collectd_plugins_conntrack collectd_plugins_contextswitch collectd_plugins_cpu collectd_plugins_cpufreq collectd_plugins_cpusleep collectd_plugins_csv collectd_plugins_curl collectd_plugins_curl_json collectd_plugins_curl_xml collectd_plugins_dbi collectd_plugins_df collectd_plugins_disk collectd_plugins_dns collectd_plugins_drbd collectd_plugins_email collectd_plugins_entropy collectd_plugins_ethstat collectd_plugins_exec collectd_plugins_fhcount collectd_plugins_filecount collectd_plugins_fscache collectd_plugins_gmond collectd_plugins_gps collectd_plugins_hddtemp collectd_plugins_hugepages collectd_plugins_interface collectd_plugins_ipc collectd_plugins_ipmi collectd_plugins_iptables collectd_plugins_ipvs collectd_plugins_irq collectd_plugins_java collectd_plugins_lua collectd_plugins_load collectd_plugins_logfile collectd_plugins_log_logstash collectd_plugins_lvm collectd_plugins_madwifi collectd_plugins_match_empty_counter collectd_plugins_match_hashed collectd_plugins_match_regex collectd_plugins_match_timediff collectd_plugins_match_value collectd_plugins_mbmon collectd_plugins_md collectd_plugins_memcachec collectd_plugins_memcached collectd_plugins_memory collectd_plugins_modbus collectd_plugins_mqtt collectd_plugins_multimeter collectd_plugins_mysql collectd_plugins_netlink collectd_plugins_network collectd_plugins_network collectd_plugins_nfs collectd_plugins_nginx collectd_plugins_notify_desktop collectd_plugins_notify_email collectd_plugins_notify_nagios collectd_plugins_ntpd collectd_plugins_numa collectd_plugins_nut collectd_plugins_olsrd collectd_plugins_onewire collectd_plugins_openldap collectd_plugins_openvpn collectd_plugins_oracle collectd_plugins_perl collectd_plugins_ping collectd_plugins_postgresql collectd_plugins_powerdns collectd_plugins_processes collectd_plugins_protocols collectd_plugins_python collectd_plugins_python collectd_plugins_redis collectd_plugins_routeros collectd_plugins_rrdcached collectd_plugins_rrdtool collectd_plugins_sensors collectd_plugins_serial collectd_plugins_sigrok collectd_plugins_smart collectd_plugins_snmp collectd_plugins_statsd collectd_plugins_swap collectd_plugins_syslog collectd_plugins_table collectd_plugins_tail collectd_plugins_tail_csv collectd_plugins_target_notification collectd_plugins_target_replace collectd_plugins_target_scale collectd_plugins_target_set collectd_plugins_tcpconns collectd_plugins_teamspeak2 collectd_plugins_ted collectd_plugins_thermal collectd_plugins_threshold collectd_plugins_tokyotyrant collectd_plugins_turbostat collectd_plugins_unixsock collectd_plugins_uptime collectd_plugins_users collectd_plugins_uuid collectd_plugins_varnish collectd_plugins_virt collectd_plugins_vmem collectd_plugins_vserver collectd_plugins_wireless collectd_plugins_write_graphite collectd_plugins_write_http collectd_plugins_write_kafka collectd_plugins_write_log collectd_plugins_write_prometheus collectd_plugins_write_redis collectd_plugins_write_sensu collectd_plugins_write_tsdb collectd_plugins_xencpu collectd_plugins_zfs_arc collectd_plugins_zookeeper +filecaps elibc_FreeBSD collectd_plugins_java kernel_linux python_targets_python2_7 python_targets_python3_4 python_targets_python3_5 python_targets_python3_6 python_single_target_python2_7 python_single_target_python3_4 python_single_target_python3_5 python_single_target_python3_6
-KEYWORDS=alpha amd64 arm x86
-LICENSE=GPL-2
-RDEPEND=dev-libs/libgcrypt:= dev-libs/libltdl:0= perl? ( dev-lang/perl:=[ithreads] ) udev? ( virtual/udev ) xfs? ( sys-fs/xfsprogs ) collectd_plugins_amqp? ( net-libs/rabbitmq-c ) collectd_plugins_apache? ( net-misc/curl:0= ) collectd_plugins_ascent? ( net-misc/curl:0= dev-libs/libxml2:2= ) collectd_plugins_bind? ( net-misc/curl:0= dev-libs/libxml2:2= ) collectd_plugins_ceph? ( dev-libs/yajl:= ) collectd_plugins_curl? ( net-misc/curl:0= ) collectd_plugins_curl_json? ( net-misc/curl:0= dev-libs/yajl:= ) collectd_plugins_curl_xml? ( net-misc/curl:0= dev-libs/libxml2:2= ) collectd_plugins_dbi? ( dev-db/libdbi ) collectd_plugins_dns? ( net-libs/libpcap ) collectd_plugins_gmond? ( sys-cluster/ganglia ) collectd_plugins_gps? ( sci-geosciences/gpsd:= ) collectd_plugins_ipmi? ( >=sys-libs/openipmi-2.0.16-r1 ) collectd_plugins_iptables? ( >=net-firewall/iptables-1.4.13:0= ) collectd_plugins_log_logstash? ( dev-libs/yajl:= ) collectd_plugins_lua? ( dev-lang/lua:0= ) collectd_plugins_lvm? ( sys-fs/lvm2 ) collectd_plugins_memcachec? ( dev-libs/libmemcached ) collectd_plugins_modbus? ( dev-libs/libmodbus ) collectd_plugins_mqtt? ( app-misc/mosquitto ) collectd_plugins_mysql? ( virtual/libmysqlclient:= ) collectd_plugins_netlink? ( net-libs/libmnl ) collectd_plugins_nginx? ( net-misc/curl:0= ) collectd_plugins_notify_desktop? ( x11-libs/libnotify ) collectd_plugins_notify_email? ( net-libs/libesmtp ) collectd_plugins_nut? ( >=sys-power/nut-2.7.2-r2 ) collectd_plugins_openldap? ( net-nds/openldap ) collectd_plugins_onewire? ( >=sys-fs/owfs-3.1:= ) collectd_plugins_oracle? ( dev-db/oracle-instantclient-basic ) collectd_plugins_perl? ( dev-lang/perl:=[ithreads] ) collectd_plugins_ping? ( net-libs/liboping ) collectd_plugins_postgresql? ( dev-db/postgresql:= ) collectd_plugins_python? ( python_single_target_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_single_target_python3_4? ( dev-lang/python:3.4 ) python_single_target_python3_5? ( dev-lang/python:3.5 ) python_single_target_python3_6? ( dev-lang/python:3.6 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)?,python_single_target_python3_4(+)?,python_single_target_python3_5(+)?,python_single_target_python3_6(+)?] ) collectd_plugins_redis? ( dev-libs/hiredis:= ) collectd_plugins_routeros? ( net-libs/librouteros ) collectd_plugins_rrdcached? ( net-analyzer/rrdtool:= ) collectd_plugins_rrdtool? ( net-analyzer/rrdtool:= ) collectd_plugins_sensors? ( sys-apps/lm_sensors ) collectd_plugins_sigrok? ( <sci-libs/libsigrok-0.4:= dev-libs/glib:2 ) collectd_plugins_smart? ( dev-libs/libatasmart ) collectd_plugins_snmp? ( net-analyzer/net-snmp ) collectd_plugins_tokyotyrant? ( net-misc/tokyotyrant ) collectd_plugins_varnish? ( www-servers/varnish ) collectd_plugins_virt? ( app-emulation/libvirt:= dev-libs/libxml2:2= ) collectd_plugins_write_http? ( net-misc/curl:0= dev-libs/yajl:= ) collectd_plugins_write_kafka? ( >=dev-libs/librdkafka-0.9.0.99:= dev-libs/yajl:= ) collectd_plugins_write_prometheus? ( >=dev-libs/protobuf-c-1.2.1-r1:= net-libs/libmicrohttpd:= ) collectd_plugins_write_redis? ( dev-libs/hiredis:= ) collectd_plugins_xencpu? ( app-emulation/xen-tools:= ) kernel_FreeBSD? ( collectd_plugins_disk? ( sys-libs/libstatgrab:= ) collectd_plugins_interface? ( sys-libs/libstatgrab:= ) collectd_plugins_load? ( sys-libs/libstatgrab:= ) collectd_plugins_memory? ( sys-libs/libstatgrab:= ) collectd_plugins_swap? ( sys-libs/libstatgrab:= ) collectd_plugins_users? ( sys-libs/libstatgrab:= ) ) collectd_plugins_java? ( >=virtual/jre-1.6 ) collectd_plugins_syslog? ( virtual/logger ) selinux? ( sec-policy/selinux-collectd ) !<sys-apps/openrc-0.18.2 collectd_plugins_java? ( >=dev-java/java-config-2.2.0-r3 ) virtual/tmpfiles
-REQUIRED_USE=collectd_plugins_python? ( ^^ ( python_single_target_python2_7 python_single_target_python3_4 python_single_target_python3_5 python_single_target_python3_6 ) python_single_target_python2_7? ( python_targets_python2_7 ) python_single_target_python3_4? ( python_targets_python3_4 ) python_single_target_python3_5? ( python_targets_python3_5 ) python_single_target_python3_6? ( python_targets_python3_6 ) ) collectd_plugins_smart? ( udev )
-SLOT=0
-SRC_URI=https://collectd.org/files/collectd-5.7.2.tar.bz2
-_eclasses_=autotools d0e5375d47f4c809f406eb892e531513 desktop 1b286a7e7143d8c4ec89cd0d2743a097 eapi7-ver d97a56a62c7df8614afddcb25f5ff00f epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc fcaps 9445d60c1eb084a91c38ef4c070b2f16 flag-o-matic 5128c4729303400bd8d4b0b966530955 java-pkg-opt-2 77d2e22d0de7640f817d20e861c0ff3f java-utils-2 0ee72667014428e01a01df2345244cf3 libtool 0081a71a261724730ec4c248494f044d linux-info 8e77ea4def23d38cdf0e8ffa69187d34 ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e perl-functions 01e8c68d5a528bbcda4d3c60205983df preserve-libs ef207dc62baddfddfd39a164d9797648 python-single-r1 26fdbe5e685d53f67303a3a43d9e4848 python-utils-r1 7db901256449fef43c3aaa4d486c1c63 systemd 04e50685fbf3d89e5c67ac6a385dd595 tmpfiles d7dc36a24e327d58f0728badddca6448 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 user 8bc2845510e2109af75e3eeac607ec81 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72
-_md5_=4f05cad3d00d4244ff56733c96645833
diff --git a/app-metrics/collectd-5.8.0 b/app-metrics/collectd-5.8.0
deleted file mode 100644
index f22064d94e23..000000000000
--- a/app-metrics/collectd-5.8.0
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=configure install postinst preinst prepare setup
-DEPEND=dev-libs/libgcrypt:= dev-libs/libltdl:0= perl? ( dev-lang/perl:=[ithreads] ) udev? ( virtual/udev ) xfs? ( sys-fs/xfsprogs ) collectd_plugins_amqp? ( net-libs/rabbitmq-c ) collectd_plugins_apache? ( net-misc/curl:0= ) collectd_plugins_ascent? ( net-misc/curl:0= dev-libs/libxml2:2= ) collectd_plugins_bind? ( net-misc/curl:0= dev-libs/libxml2:2= ) collectd_plugins_ceph? ( dev-libs/yajl:= ) collectd_plugins_curl? ( net-misc/curl:0= ) collectd_plugins_curl_json? ( net-misc/curl:0= dev-libs/yajl:= ) collectd_plugins_curl_xml? ( net-misc/curl:0= dev-libs/libxml2:2= ) collectd_plugins_dbi? ( dev-db/libdbi ) collectd_plugins_dns? ( net-libs/libpcap ) collectd_plugins_gmond? ( sys-cluster/ganglia ) collectd_plugins_gps? ( sci-geosciences/gpsd:= ) collectd_plugins_ipmi? ( >=sys-libs/openipmi-2.0.16-r1 ) collectd_plugins_iptables? ( >=net-firewall/iptables-1.4.13:0= ) collectd_plugins_log_logstash? ( dev-libs/yajl:= ) collectd_plugins_lua? ( dev-lang/lua:0= ) collectd_plugins_lvm? ( sys-fs/lvm2 ) collectd_plugins_memcachec? ( dev-libs/libmemcached ) collectd_plugins_modbus? ( dev-libs/libmodbus ) collectd_plugins_mqtt? ( app-misc/mosquitto ) collectd_plugins_mysql? ( virtual/libmysqlclient:= ) collectd_plugins_netlink? ( net-libs/libmnl ) collectd_plugins_nginx? ( net-misc/curl:0= ) collectd_plugins_notify_desktop? ( x11-libs/libnotify ) collectd_plugins_notify_email? ( net-libs/libesmtp ) collectd_plugins_nut? ( >=sys-power/nut-2.7.2-r2 ) collectd_plugins_openldap? ( net-nds/openldap ) collectd_plugins_onewire? ( >=sys-fs/owfs-3.1:= ) collectd_plugins_oracle? ( dev-db/oracle-instantclient-basic ) collectd_plugins_ovs_events? ( dev-libs/yajl:= ) collectd_plugins_ovs_stats? ( dev-libs/yajl:= ) collectd_plugins_perl? ( dev-lang/perl:=[ithreads] ) collectd_plugins_ping? ( net-libs/liboping ) collectd_plugins_postgresql? ( dev-db/postgresql:= ) collectd_plugins_python? ( python_single_target_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_single_target_python3_4? ( dev-lang/python:3.4 ) python_single_target_python3_5? ( dev-lang/python:3.5 ) python_single_target_python3_6? ( dev-lang/python:3.6 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)?,python_single_target_python3_4(+)?,python_single_target_python3_5(+)?,python_single_target_python3_6(+)?] ) collectd_plugins_redis? ( dev-libs/hiredis:= ) collectd_plugins_routeros? ( net-libs/librouteros ) collectd_plugins_rrdcached? ( net-analyzer/rrdtool:= ) collectd_plugins_rrdtool? ( net-analyzer/rrdtool:= ) collectd_plugins_sensors? ( sys-apps/lm_sensors ) collectd_plugins_sigrok? ( <sci-libs/libsigrok-0.4:= dev-libs/glib:2 ) collectd_plugins_smart? ( dev-libs/libatasmart ) collectd_plugins_snmp? ( net-analyzer/net-snmp ) collectd_plugins_snmp_agent? ( net-analyzer/net-snmp ) collectd_plugins_tokyotyrant? ( net-misc/tokyotyrant ) collectd_plugins_varnish? ( www-servers/varnish ) collectd_plugins_virt? ( app-emulation/libvirt:= dev-libs/libxml2:2= ) collectd_plugins_write_http? ( net-misc/curl:0= dev-libs/yajl:= ) collectd_plugins_write_kafka? ( >=dev-libs/librdkafka-0.9.0.99:= dev-libs/yajl:= ) collectd_plugins_write_mongodb? ( >=dev-libs/mongo-c-driver-1.8.2:= ) collectd_plugins_write_prometheus? ( >=dev-libs/protobuf-c-1.2.1-r1:= net-libs/libmicrohttpd:= ) collectd_plugins_write_redis? ( dev-libs/hiredis:= ) collectd_plugins_xencpu? ( app-emulation/xen-tools:= ) kernel_FreeBSD? ( collectd_plugins_disk? ( sys-libs/libstatgrab:= ) collectd_plugins_interface? ( sys-libs/libstatgrab:= ) collectd_plugins_load? ( sys-libs/libstatgrab:= ) collectd_plugins_memory? ( sys-libs/libstatgrab:= ) collectd_plugins_swap? ( sys-libs/libstatgrab:= ) collectd_plugins_users? ( sys-libs/libstatgrab:= ) ) collectd_plugins_iptables? ( || ( <=sys-kernel/linux-headers-4.4 >=sys-kernel/linux-headers-4.6 ) ) collectd_plugins_java? ( >=virtual/jdk-1.6 ) virtual/pkgconfig >=app-portage/elt-patches-20170422 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 filecaps? ( sys-libs/libcap ) collectd_plugins_java? ( >=dev-java/java-config-2.2.0-r3 ) virtual/pkgconfig
-DESCRIPTION=Collects system statistics and provides mechanisms to store the values
-EAPI=6
-HOMEPAGE=https://collectd.org/
-IUSE=contrib debug java kernel_Darwin kernel_FreeBSD kernel_linux perl selinux static-libs udev xfs collectd_plugins_aggregation collectd_plugins_amqp collectd_plugins_apache collectd_plugins_apcups collectd_plugins_ascent collectd_plugins_battery collectd_plugins_bind collectd_plugins_ceph collectd_plugins_cgroups collectd_plugins_chrony collectd_plugins_conntrack collectd_plugins_contextswitch collectd_plugins_cpu collectd_plugins_cpufreq collectd_plugins_cpusleep collectd_plugins_csv collectd_plugins_curl collectd_plugins_curl_json collectd_plugins_curl_xml collectd_plugins_dbi collectd_plugins_df collectd_plugins_disk collectd_plugins_dns collectd_plugins_drbd collectd_plugins_email collectd_plugins_entropy collectd_plugins_ethstat collectd_plugins_exec collectd_plugins_fhcount collectd_plugins_filecount collectd_plugins_fscache collectd_plugins_gmond collectd_plugins_gps collectd_plugins_hddtemp collectd_plugins_hugepages collectd_plugins_interface collectd_plugins_ipc collectd_plugins_ipmi collectd_plugins_iptables collectd_plugins_ipvs collectd_plugins_irq collectd_plugins_java collectd_plugins_lua collectd_plugins_load collectd_plugins_logfile collectd_plugins_log_logstash collectd_plugins_lvm collectd_plugins_madwifi collectd_plugins_match_empty_counter collectd_plugins_match_hashed collectd_plugins_match_regex collectd_plugins_match_timediff collectd_plugins_match_value collectd_plugins_mbmon collectd_plugins_mcelog collectd_plugins_md collectd_plugins_memcachec collectd_plugins_memcached collectd_plugins_memory collectd_plugins_modbus collectd_plugins_mqtt collectd_plugins_multimeter collectd_plugins_mysql collectd_plugins_netlink collectd_plugins_network collectd_plugins_network collectd_plugins_nfs collectd_plugins_nginx collectd_plugins_notify_desktop collectd_plugins_notify_email collectd_plugins_notify_nagios collectd_plugins_ntpd collectd_plugins_numa collectd_plugins_nut collectd_plugins_olsrd collectd_plugins_onewire collectd_plugins_openldap collectd_plugins_openvpn collectd_plugins_oracle collectd_plugins_ovs_events collectd_plugins_ovs_stats collectd_plugins_perl collectd_plugins_ping collectd_plugins_postgresql collectd_plugins_powerdns collectd_plugins_processes collectd_plugins_protocols collectd_plugins_python collectd_plugins_python collectd_plugins_redis collectd_plugins_routeros collectd_plugins_rrdcached collectd_plugins_rrdtool collectd_plugins_sensors collectd_plugins_serial collectd_plugins_sigrok collectd_plugins_smart collectd_plugins_snmp collectd_plugins_snmp_agent collectd_plugins_statsd collectd_plugins_swap collectd_plugins_syslog collectd_plugins_table collectd_plugins_tail collectd_plugins_tail_csv collectd_plugins_target_notification collectd_plugins_target_replace collectd_plugins_target_scale collectd_plugins_target_set collectd_plugins_tcpconns collectd_plugins_teamspeak2 collectd_plugins_ted collectd_plugins_thermal collectd_plugins_threshold collectd_plugins_tokyotyrant collectd_plugins_turbostat collectd_plugins_unixsock collectd_plugins_uptime collectd_plugins_users collectd_plugins_uuid collectd_plugins_varnish collectd_plugins_virt collectd_plugins_vmem collectd_plugins_vserver collectd_plugins_wireless collectd_plugins_write_graphite collectd_plugins_write_http collectd_plugins_write_kafka collectd_plugins_write_log collectd_plugins_write_mongodb collectd_plugins_write_prometheus collectd_plugins_write_redis collectd_plugins_write_sensu collectd_plugins_write_tsdb collectd_plugins_xencpu collectd_plugins_zfs_arc collectd_plugins_zookeeper +filecaps elibc_FreeBSD collectd_plugins_java kernel_linux python_targets_python2_7 python_targets_python3_4 python_targets_python3_5 python_targets_python3_6 python_single_target_python2_7 python_single_target_python3_4 python_single_target_python3_5 python_single_target_python3_6
-KEYWORDS=~alpha ~amd64 ~arm ~x86
-LICENSE=MIT GPL-2 GPL-2+ GPL-3 GPL-3+
-RDEPEND=dev-libs/libgcrypt:= dev-libs/libltdl:0= perl? ( dev-lang/perl:=[ithreads] ) udev? ( virtual/udev ) xfs? ( sys-fs/xfsprogs ) collectd_plugins_amqp? ( net-libs/rabbitmq-c ) collectd_plugins_apache? ( net-misc/curl:0= ) collectd_plugins_ascent? ( net-misc/curl:0= dev-libs/libxml2:2= ) collectd_plugins_bind? ( net-misc/curl:0= dev-libs/libxml2:2= ) collectd_plugins_ceph? ( dev-libs/yajl:= ) collectd_plugins_curl? ( net-misc/curl:0= ) collectd_plugins_curl_json? ( net-misc/curl:0= dev-libs/yajl:= ) collectd_plugins_curl_xml? ( net-misc/curl:0= dev-libs/libxml2:2= ) collectd_plugins_dbi? ( dev-db/libdbi ) collectd_plugins_dns? ( net-libs/libpcap ) collectd_plugins_gmond? ( sys-cluster/ganglia ) collectd_plugins_gps? ( sci-geosciences/gpsd:= ) collectd_plugins_ipmi? ( >=sys-libs/openipmi-2.0.16-r1 ) collectd_plugins_iptables? ( >=net-firewall/iptables-1.4.13:0= ) collectd_plugins_log_logstash? ( dev-libs/yajl:= ) collectd_plugins_lua? ( dev-lang/lua:0= ) collectd_plugins_lvm? ( sys-fs/lvm2 ) collectd_plugins_memcachec? ( dev-libs/libmemcached ) collectd_plugins_modbus? ( dev-libs/libmodbus ) collectd_plugins_mqtt? ( app-misc/mosquitto ) collectd_plugins_mysql? ( virtual/libmysqlclient:= ) collectd_plugins_netlink? ( net-libs/libmnl ) collectd_plugins_nginx? ( net-misc/curl:0= ) collectd_plugins_notify_desktop? ( x11-libs/libnotify ) collectd_plugins_notify_email? ( net-libs/libesmtp ) collectd_plugins_nut? ( >=sys-power/nut-2.7.2-r2 ) collectd_plugins_openldap? ( net-nds/openldap ) collectd_plugins_onewire? ( >=sys-fs/owfs-3.1:= ) collectd_plugins_oracle? ( dev-db/oracle-instantclient-basic ) collectd_plugins_ovs_events? ( dev-libs/yajl:= ) collectd_plugins_ovs_stats? ( dev-libs/yajl:= ) collectd_plugins_perl? ( dev-lang/perl:=[ithreads] ) collectd_plugins_ping? ( net-libs/liboping ) collectd_plugins_postgresql? ( dev-db/postgresql:= ) collectd_plugins_python? ( python_single_target_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) python_single_target_python3_4? ( dev-lang/python:3.4 ) python_single_target_python3_5? ( dev-lang/python:3.5 ) python_single_target_python3_6? ( dev-lang/python:3.6 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,python_targets_python3_6(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)?,python_single_target_python3_4(+)?,python_single_target_python3_5(+)?,python_single_target_python3_6(+)?] ) collectd_plugins_redis? ( dev-libs/hiredis:= ) collectd_plugins_routeros? ( net-libs/librouteros ) collectd_plugins_rrdcached? ( net-analyzer/rrdtool:= ) collectd_plugins_rrdtool? ( net-analyzer/rrdtool:= ) collectd_plugins_sensors? ( sys-apps/lm_sensors ) collectd_plugins_sigrok? ( <sci-libs/libsigrok-0.4:= dev-libs/glib:2 ) collectd_plugins_smart? ( dev-libs/libatasmart ) collectd_plugins_snmp? ( net-analyzer/net-snmp ) collectd_plugins_snmp_agent? ( net-analyzer/net-snmp ) collectd_plugins_tokyotyrant? ( net-misc/tokyotyrant ) collectd_plugins_varnish? ( www-servers/varnish ) collectd_plugins_virt? ( app-emulation/libvirt:= dev-libs/libxml2:2= ) collectd_plugins_write_http? ( net-misc/curl:0= dev-libs/yajl:= ) collectd_plugins_write_kafka? ( >=dev-libs/librdkafka-0.9.0.99:= dev-libs/yajl:= ) collectd_plugins_write_mongodb? ( >=dev-libs/mongo-c-driver-1.8.2:= ) collectd_plugins_write_prometheus? ( >=dev-libs/protobuf-c-1.2.1-r1:= net-libs/libmicrohttpd:= ) collectd_plugins_write_redis? ( dev-libs/hiredis:= ) collectd_plugins_xencpu? ( app-emulation/xen-tools:= ) kernel_FreeBSD? ( collectd_plugins_disk? ( sys-libs/libstatgrab:= ) collectd_plugins_interface? ( sys-libs/libstatgrab:= ) collectd_plugins_load? ( sys-libs/libstatgrab:= ) collectd_plugins_memory? ( sys-libs/libstatgrab:= ) collectd_plugins_swap? ( sys-libs/libstatgrab:= ) collectd_plugins_users? ( sys-libs/libstatgrab:= ) ) collectd_plugins_java? ( >=virtual/jre-1.6 ) collectd_plugins_syslog? ( virtual/logger ) selinux? ( sec-policy/selinux-collectd ) !<sys-apps/openrc-0.18.2 collectd_plugins_java? ( >=dev-java/java-config-2.2.0-r3 ) virtual/tmpfiles
-REQUIRED_USE=collectd_plugins_python? ( ^^ ( python_single_target_python2_7 python_single_target_python3_4 python_single_target_python3_5 python_single_target_python3_6 ) python_single_target_python2_7? ( python_targets_python2_7 ) python_single_target_python3_4? ( python_targets_python3_4 ) python_single_target_python3_5? ( python_targets_python3_5 ) python_single_target_python3_6? ( python_targets_python3_6 ) ) collectd_plugins_smart? ( udev )
-SLOT=0
-SRC_URI=https://collectd.org/files/collectd-5.8.0.tar.bz2
-_eclasses_=autotools d0e5375d47f4c809f406eb892e531513 desktop 1b286a7e7143d8c4ec89cd0d2743a097 eapi7-ver d97a56a62c7df8614afddcb25f5ff00f epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc fcaps 9445d60c1eb084a91c38ef4c070b2f16 flag-o-matic 5128c4729303400bd8d4b0b966530955 java-pkg-opt-2 77d2e22d0de7640f817d20e861c0ff3f java-utils-2 0ee72667014428e01a01df2345244cf3 libtool 0081a71a261724730ec4c248494f044d linux-info 8e77ea4def23d38cdf0e8ffa69187d34 ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e perl-functions 01e8c68d5a528bbcda4d3c60205983df preserve-libs ef207dc62baddfddfd39a164d9797648 python-single-r1 26fdbe5e685d53f67303a3a43d9e4848 python-utils-r1 7db901256449fef43c3aaa4d486c1c63 systemd 04e50685fbf3d89e5c67ac6a385dd595 tmpfiles d7dc36a24e327d58f0728badddca6448 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 user 8bc2845510e2109af75e3eeac607ec81 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72
-_md5_=f306707fce2e803f27bfeb62be45fe37
diff --git a/app-metrics/collectd/Manifest b/app-metrics/collectd/Manifest
new file mode 100644
index 000000000000..a6c3e1d0a380
--- /dev/null
+++ b/app-metrics/collectd/Manifest
@@ -0,0 +1,13 @@
+AUX collectd-5.6.0-gentoo.patch 4294 BLAKE2B 99274b5a2734910a35ab6a0003d6fe257e239fc0a3b1f3ca398c82b0e28b9365729980999af0db417b3818c7b4de47f48c0118eea88a43f8de162ae40eeb68be SHA512 088f65e2d90c29092621693847f165be7024caa2237a2129dbffcedba3c1f93baa8169de9d3c2979c709219ec12ee0d3b6dd36586ede92062d1a14a28b8611c8
+AUX collectd-5.7.2-CVE-2017-16820.patch 1326 BLAKE2B 0dbd15e6c52531423b47d25b0fab0319c867482fbcd7f9e5a59c9ae6908ce1844f9ed41590a048ff247acf2bfdb8ddd34723dd289074269fb8bd7133ae324d40 SHA512 13e7ad198c88538a8bdcdd1d0ee8ed3ebe7b8ac00df98341a1248a4e5fd02b44b24d239c6c3ac70fce6492674163371755f126e2f4a0099159032514a842ea0b
+AUX collectd-5.7.2-issue-2443.patch 4628 BLAKE2B 357f4171c4cc5e13e43da0709bcecff8d9c7d529c1c2c910e14ec2502ea4abd3df2e1be591b2d98b06d6dd5f984e9dd5615f7cd7e14cad79d49adc6f369cf37b SHA512 16c7bc99a6401c96fb3b2cda5ad6e540024ae13d66268b4d5ada4c65c456a5dbd210ea58d116463381dbac953f9f8d4907d2185a24195a304e0f5a645829755e
+AUX collectd-5.7.2-varnish-5.2+.patch 40982 BLAKE2B a1f90a27e95b2665626fc2112646f5fb092472f32b58fb6bcc2a6a15e2916bb067b7f8aa7c85fba12eaf839d10b94004a1847f537d5f5535d9a7aac0fe2fe5a7 SHA512 eea0fd89f65b14ba6012160c4d2560e8c6339f7aeb873d93ed35b9c3551d76d6087c6cdbe986610502e8a73b144fba945f1efd1db31e5be792b9ecead2d0eeec
+AUX collectd.confd-r2 2001 BLAKE2B fbf1a64aab6ec60111553466c3a8b725200ab13d0e09c1ba1d71e68213e8f978c3cad0dfc5eb2c536ced8213f172804f0596b3494f9b42b0cacf3432105cab5a SHA512 729f2b4e06c4a8c95d32c03c6f3f292eaa4895780ace180b74fcf139a949e9c28a2b3ae823bdebec0014f9b4d919adb399bc7f019c68c0e268b263326959edb7
+AUX collectd.initd-r2 1843 BLAKE2B ccb12e55de72565aa7b6bb0f2c4e7a5a6d15ff23d5bc75e9cb36e1f2dba85b3b2b587336f976059af165ae89333d681ffe0cf53bbcd8098eaeff75228cb80b68 SHA512 8f0a73f0f2b2280c0f2e35894a9dfa38af937930eb090eab52cbe81089a146bd974f6a2a3062b7147611f9c13b770a945a1a9228a026405d31578e27a3fd3b80
+AUX collectd.logrotate 115 BLAKE2B ce2a79787096b04af6ecd128633dde68fb868a02cc1d246c3e512c1733133fcc8da41b3ab2a0051b4da78c53e6629b2ad8085872dec1d4c28e397c88cafe3a90 SHA512 87ec01784d415f00834c2b20614f11f7e08b70f88d7c87509a8b8fd7e1af8758565b9ed6a6840af7bf1006cb941a61a6ff4f3176f6ded722728f24483b08bc8e
+AUX collectd.tmpfile 39 BLAKE2B 0d1ee2f02e539e854b62b47032308d08505fa31d8428e98f8d150c924201074c5edae22eea3990edf3a7837f1473193fe009a501645bf064638c532ec53a36cc SHA512 55fb70da9ece74b143c3e971b890954842230691039f8ad2240cc4c8d699e4e7a21efcbfd0b3cb2503e90af0bbdd0c7d886e09baf9fc86ec26c115a0bce6a668
+DIST collectd-5.7.2.tar.bz2 1798777 BLAKE2B 4af359a773457bb9c05b6a301d7728eea7598c200f7ca534875b07d1d011b280ab138f680d9607723f14523dd71dcbec3a41e0d8d183848c8ef809cef86c2b8f SHA512 8844b67159f8da2203b5ac57ef19fce0a01050a016174d196b48b5fb24925ad2935af9bdd9af06097ff663499abc496cdcc2d9e9a10f403f8d707c465c1a88f3
+DIST collectd-5.8.0.tar.bz2 1686017 BLAKE2B 26d995cdb9c25869bf96a056e6ba879de9f009fd4bbf1364a7dedba93b822e57c4b606ca8c84da68cc29db8e77333047695e85d7eb101080de9cee783240f5ea SHA512 1b3d0cc44e2ca54e13eebf292074f1efa8b33d6800d04405e0eaaa2dd1cb2416c6eae580729fb5aead23a5039f41ffe8a9989a907a8c18be8f867f1099fc0008
+EBUILD collectd-5.7.2-r3.ebuild 19604 BLAKE2B a8029a04105fc974d7509caec64d4ac4b36cc0f4c94ab626a73a9e9097076618c26c0fc69c8b3f0af4cee6c4834bac0425fd3905caf9356cd864f0c810f2fb79 SHA512 e8359fc8644c775fe5c9158fa26fd7b0c63aef1f68d2f0dc242043a6dd223338c2544d8680377243c2939fb74b998fb5530febe4f1d0376c6ec3771d47303af7
+EBUILD collectd-5.8.0.ebuild 19356 BLAKE2B 6bfc6392609b9994345ed2bf1d51e2dfb2267ba10ceb6553f4d29c90ef64c0cbb14f53b18cfed30661639c85ce9fd435d926aa1e8bbd71d0f5d6259ab44361a3 SHA512 296426f02c9df69ea7796b182319772ca1dd55da1e0f914a1e1ecd210a5a550d27fc09554283aae8d782861e78361b667d3999406c9f2c870791676d9379c798
+MISC metadata.xml 1515 BLAKE2B 5525766b822463f94f7c2cddbdf78b4c4ea5a473880a473d0b51481d948569cfc7f51bd2e74eb67065ab2be1b23e4fb7ee99512d018c6e6b5ac1ee7331eae9eb SHA512 51c17c16d27b722d729d036d67c562ab76e212dac9bcd004a7e43c2c5e041b8c46e74f9a130f30c2e18cc95ca1b367034246eff02cfaf55f6f9375ff836749e5
diff --git a/app-metrics/collectd/collectd-5.7.2-r3.ebuild b/app-metrics/collectd/collectd-5.7.2-r3.ebuild
new file mode 100644
index 000000000000..32854c2b44a5
--- /dev/null
+++ b/app-metrics/collectd/collectd-5.7.2-r3.ebuild
@@ -0,0 +1,548 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+JAVA_PKG_OPT_USE="collectd_plugins_java"
+
+inherit autotools fcaps flag-o-matic java-pkg-opt-2 linux-info multilib perl-functions python-single-r1 systemd tmpfiles user
+
+DESCRIPTION="Collects system statistics and provides mechanisms to store the values"
+
+HOMEPAGE="https://collectd.org/"
+SRC_URI="${HOMEPAGE%/}/files/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm x86"
+IUSE="contrib debug java kernel_Darwin kernel_FreeBSD kernel_linux perl selinux static-libs udev xfs"
+
+# The plugin lists have to follow here since they extend IUSE
+
+# Plugins that don't build (e.g. dependencies not in Gentoo)
+# apple_sensors: Requires libIOKit
+# aquaero: Requires aerotools-ng/libaquaero5
+# barometer: Requires libi2c (i2c_smbus_read_i2c_block_data)
+# dpdkstat: Requires dpdk
+# grpc: Requires libgrpc
+# intel_rdt Requires libpqos from intel-cmt-cat project
+# lpar: Requires libperfstat (AIX only)
+# mic: Requires Intel Many Integrated Core Architecture API
+# (part of Intel's Xeon Phi software)
+# netapp: Requires libnetapp (http://communities.netapp.com/docs/DOC-1110)
+# pf: Requires BSD packet filter
+# pinba: Requires MySQL Pinba engine (http://pinba.org/)
+# tape: Requires libkstat (Solaris only)
+# write_mongodb: https://github.com/collectd/collectd/issues/492
+# write_riemann: Requires riemann-c-client
+# xmms: Requires libxmms (v1)
+# zone: Solaris only...
+COLLECTD_IMPOSSIBLE_PLUGINS="apple_sensors aquaero barometer dpdkstat grpc
+ intel_rdt lpar mic netapp pf pinba tape write_mongodb
+ write_riemann xmms zone"
+
+# Plugins that have been (compile) tested and can be enabled via COLLECTD_PLUGINS
+COLLECTD_TESTED_PLUGINS="aggregation amqp apache apcups ascent battery bind
+ ceph cgroups chrony conntrack contextswitch cpu cpufreq cpusleep
+ csv curl curl_json curl_xml dbi df disk dns drbd email
+ entropy ethstat exec fhcount filecount fscache gmond gps hddtemp
+ hugepages interface ipc ipmi iptables ipvs irq java lua
+ load logfile log_logstash lvm madwifi match_empty_counter
+ match_hashed match_regex match_timediff match_value mbmon md
+ memcachec memcached memory modbus mqtt multimeter mysql netlink
+ network network nfs nginx notify_desktop notify_email notify_nagios
+ ntpd numa nut olsrd onewire openldap openvpn oracle perl ping
+ postgresql powerdns processes protocols python python redis
+ routeros rrdcached rrdtool sensors serial sigrok smart snmp statsd
+ swap syslog table tail tail_csv target_notification target_replace
+ target_scale target_set tcpconns teamspeak2 ted thermal threshold
+ tokyotyrant turbostat unixsock uptime users uuid varnish virt
+ vmem vserver wireless write_graphite write_http write_kafka
+ write_log write_prometheus write_redis write_sensu write_tsdb
+ xencpu zfs_arc zookeeper"
+
+COLLECTD_DISABLED_PLUGINS="${COLLECTD_IMPOSSIBLE_PLUGINS}"
+
+COLLECTD_ALL_PLUGINS=${COLLECTD_TESTED_PLUGINS}
+
+for plugin in ${COLLECTD_ALL_PLUGINS}; do
+ IUSE="${IUSE} collectd_plugins_${plugin}"
+done
+unset plugin
+
+# Now come the dependencies.
+
+COMMON_DEPEND="
+ dev-libs/libgcrypt:=
+ dev-libs/libltdl:0=
+ perl? ( dev-lang/perl:=[ithreads] )
+ udev? ( virtual/udev )
+ xfs? ( sys-fs/xfsprogs )
+ collectd_plugins_amqp? ( net-libs/rabbitmq-c )
+ collectd_plugins_apache? ( net-misc/curl:0= )
+ collectd_plugins_ascent? ( net-misc/curl:0= dev-libs/libxml2:2= )
+ collectd_plugins_bind? ( net-misc/curl:0= dev-libs/libxml2:2= )
+ collectd_plugins_ceph? ( dev-libs/yajl:= )
+ collectd_plugins_curl? ( net-misc/curl:0= )
+ collectd_plugins_curl_json? ( net-misc/curl:0= dev-libs/yajl:= )
+ collectd_plugins_curl_xml? ( net-misc/curl:0= dev-libs/libxml2:2= )
+ collectd_plugins_dbi? ( dev-db/libdbi )
+ collectd_plugins_dns? ( net-libs/libpcap )
+ collectd_plugins_gmond? ( sys-cluster/ganglia )
+ collectd_plugins_gps? ( sci-geosciences/gpsd:= )
+ collectd_plugins_ipmi? ( >=sys-libs/openipmi-2.0.16-r1 )
+ collectd_plugins_iptables? ( >=net-firewall/iptables-1.4.13:0= )
+ collectd_plugins_log_logstash? ( dev-libs/yajl:= )
+ collectd_plugins_lua? ( dev-lang/lua:0= )
+ collectd_plugins_lvm? ( sys-fs/lvm2 )
+ collectd_plugins_memcachec? ( dev-libs/libmemcached )
+ collectd_plugins_modbus? ( dev-libs/libmodbus )
+ collectd_plugins_mqtt? ( app-misc/mosquitto )
+ collectd_plugins_mysql? ( virtual/libmysqlclient:= )
+ collectd_plugins_netlink? ( net-libs/libmnl )
+ collectd_plugins_nginx? ( net-misc/curl:0= )
+ collectd_plugins_notify_desktop? ( x11-libs/libnotify )
+ collectd_plugins_notify_email? ( net-libs/libesmtp )
+ collectd_plugins_nut? ( >=sys-power/nut-2.7.2-r2 )
+ collectd_plugins_openldap? ( net-nds/openldap )
+ collectd_plugins_onewire? ( >=sys-fs/owfs-3.1:= )
+ collectd_plugins_oracle? ( dev-db/oracle-instantclient-basic )
+ collectd_plugins_perl? ( dev-lang/perl:=[ithreads] )
+ collectd_plugins_ping? ( net-libs/liboping )
+ collectd_plugins_postgresql? ( dev-db/postgresql:= )
+ collectd_plugins_python? ( ${PYTHON_DEPS} )
+ collectd_plugins_redis? ( dev-libs/hiredis:= )
+ collectd_plugins_routeros? ( net-libs/librouteros )
+ collectd_plugins_rrdcached? ( net-analyzer/rrdtool:= )
+ collectd_plugins_rrdtool? ( net-analyzer/rrdtool:= )
+ collectd_plugins_sensors? ( sys-apps/lm_sensors )
+ collectd_plugins_sigrok? ( <sci-libs/libsigrok-0.4:= dev-libs/glib:2 )
+ collectd_plugins_smart? ( dev-libs/libatasmart )
+ collectd_plugins_snmp? ( net-analyzer/net-snmp )
+ collectd_plugins_tokyotyrant? ( net-misc/tokyotyrant )
+ collectd_plugins_varnish? ( www-servers/varnish )
+ collectd_plugins_virt? ( app-emulation/libvirt:= dev-libs/libxml2:2= )
+ collectd_plugins_write_http? ( net-misc/curl:0= dev-libs/yajl:= )
+ collectd_plugins_write_kafka? ( >=dev-libs/librdkafka-0.9.0.99:= dev-libs/yajl:= )
+ collectd_plugins_write_prometheus? ( >=dev-libs/protobuf-c-1.2.1-r1:= net-libs/libmicrohttpd:= )
+ collectd_plugins_write_redis? ( dev-libs/hiredis:= )
+ collectd_plugins_xencpu? ( app-emulation/xen-tools:= )
+
+ kernel_FreeBSD? (
+ collectd_plugins_disk? ( sys-libs/libstatgrab:= )
+ collectd_plugins_interface? ( sys-libs/libstatgrab:= )
+ collectd_plugins_load? ( sys-libs/libstatgrab:= )
+ collectd_plugins_memory? ( sys-libs/libstatgrab:= )
+ collectd_plugins_swap? ( sys-libs/libstatgrab:= )
+ collectd_plugins_users? ( sys-libs/libstatgrab:= )
+ )"
+
+# Enforcing !=sys-kernel/linux-headers-4.5 > due to #577846
+DEPEND="${COMMON_DEPEND}
+ collectd_plugins_iptables? ( || ( <=sys-kernel/linux-headers-4.4 >=sys-kernel/linux-headers-4.6 ) )
+ collectd_plugins_java? ( >=virtual/jdk-1.6 )
+ virtual/pkgconfig"
+
+RDEPEND="${COMMON_DEPEND}
+ collectd_plugins_java? ( >=virtual/jre-1.6 )
+ collectd_plugins_syslog? ( virtual/logger )
+ selinux? ( sec-policy/selinux-collectd )
+ !<sys-apps/openrc-0.18.2"
+
+REQUIRED_USE="
+ collectd_plugins_python? ( ${PYTHON_REQUIRED_USE} )
+ collectd_plugins_smart? ( udev )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.6.0-gentoo.patch
+ "${FILESDIR}"/${PN}-5.7.2-issue-2443.patch
+ "${FILESDIR}"/${PN}-5.7.2-CVE-2017-16820.patch
+ "${FILESDIR}"/${PN}-5.7.2-varnish-5.2+.patch
+)
+
+# @FUNCTION: collectd_plugin_kernel_linux
+# @DESCRIPTION:
+# USAGE: <plugin name> <kernel_options> <severity>
+# kernel_options is a list of kernel configurations options; the check tests whether at least
+# one of them is enabled. If no, depending on the third argument an elog, ewarn, or eerror message
+# is emitted.
+collectd_plugin_kernel_linux() {
+ local multi_opt opt
+ if has ${1} ${COLLECTD_ALL_PLUGINS}; then
+ if use collectd_plugins_${1}; then
+ for opt in ${2}; do
+ if linux_chkconfig_present ${opt}; then
+ return 0;
+ fi
+ done
+ multi_opt=${2//\ /\ or\ }
+ case ${3} in
+ (info)
+ elog "The ${1} plugin can use kernel features that are disabled now; enable ${multi_opt} in your kernel"
+ ;;
+ (warn)
+ ewarn "The ${1} plugin uses kernel features that are disabled now; enable ${multi_opt} in your kernel"
+ ;;
+ (error)
+ eerror "The ${1} plugin needs kernel features that are disabled now; enable ${multi_opt} in your kernel"
+ ;;
+ (*)
+ die "function collectd_plugin_kernel_linux called with invalid third argument"
+ ;;
+ esac
+ fi
+ fi
+}
+
+collectd_linux_kernel_checks() {
+ if ! linux_chkconfig_present PROC_FS; then
+ ewarn "/proc file system support is disabled, many plugins will not be able to read any statistics from your system unless you enable PROC_FS in your kernel"
+ fi
+
+ if ! linux_chkconfig_present SYSFS; then
+ ewarn "/sys file system support is disabled, many plugins will not be able to read any statistics from your system unless you enable SYSFS in your kernel"
+ fi
+
+ # battery.c: /proc/pmu/battery_%i
+ # battery.c: /proc/acpi/battery
+ collectd_plugin_kernel_linux battery ACPI_BATTERY warn
+
+ # cgroups.c: /sys/fs/cgroup/
+ collectd_plugin_kernel_linux cgroups CGROUPS warn
+
+ # cpufreq.c: /sys/devices/system/cpu/cpu%d/cpufreq/
+ collectd_plugin_kernel_linux cpufreq SYSFS warn
+ collectd_plugin_kernel_linux cpufreq CPU_FREQ_STAT warn
+
+ # drbd.c: /proc/drbd
+ collectd_plugin_kernel_linux drbd BLK_DEV_DRBD warn
+
+ # conntrack.c: /proc/sys/net/netfilter/*
+ collectd_plugin_kernel_linux conntrack NETFILTER warn
+
+ # fscache.c: /proc/fs/fscache/stats
+ collectd_plugin_kernel_linux fscache FSCACHE warn
+
+ # nfs.c: /proc/net/rpc/nfs
+ # nfs.c: /proc/net/rpc/nfsd
+ collectd_plugin_kernel_linux nfs NFS_COMMON warn
+
+ # serial.c: /proc/tty/driver/serial
+ # serial.c: /proc/tty/driver/ttyS
+ collectd_plugin_kernel_linux serial SERIAL_CORE warn
+
+ # swap.c: /proc/meminfo
+ collectd_plugin_kernel_linux swap SWAP warn
+
+ # thermal.c: /proc/acpi/thermal_zone
+ # thermal.c: /sys/class/thermal
+ collectd_plugin_kernel_linux thermal ACPI_THERMAL warn
+
+ # turbostat.c: /dev/cpu/%d/msr
+ collectd_plugin_kernel_linux turbostat X86_MSR warn
+
+ # vmem.c: /proc/vmstat
+ collectd_plugin_kernel_linux vmem VM_EVENT_COUNTERS warn
+
+ # vserver.c: /proc/virtual
+ collectd_plugin_kernel_linux vserver VSERVER warn
+
+ # uuid.c: /sys/hypervisor/uuid
+ collectd_plugin_kernel_linux uuid SYSFS info
+
+ # wireless.c: /proc/net/wireless
+ collectd_plugin_kernel_linux wireless "WIRELESS MAC80211 IEEE80211" warn
+
+ # zfs_arc.c: /proc/spl/kstat/zfs/arcstats
+ collectd_plugin_kernel_linux zfs_arc "SPL ZFS" warn
+}
+
+pkg_setup() {
+ if use kernel_linux; then
+ linux-info_pkg_setup
+
+ if linux_config_exists; then
+ einfo "Checking your linux kernel configuration:"
+ collectd_linux_kernel_checks
+ else
+ elog "Cannot find a linux kernel configuration. Continuing anyway."
+ fi
+ fi
+
+ if use collectd_plugins_java; then
+ java-pkg-opt-2_pkg_setup
+ fi
+
+ use collectd_plugins_python && python-single-r1_pkg_setup
+
+ enewgroup collectd
+ enewuser collectd -1 -1 /var/lib/collectd collectd
+}
+
+src_prepare() {
+ default
+
+ # There's some strange prefix handling in the default config file, resulting in
+ # paths like "/usr/var/..."
+ sed -i -e "s:@prefix@/var:/var:g" src/collectd.conf.in || die
+
+ # fix installdirs for perl, bug 444360
+ sed -i -e 's/INSTALL_BASE=$(DESTDIR)$(prefix) //' bindings/Makefile.am || die
+
+ # Adjust upstream's systemd unit
+ # - Get rid of EnvironmentFile directive; These files don't exist on Gentoo!
+ # - Add User=collectd to run collectd as user "collectd" per default
+ sed -i \
+ -e '/^EnvironmentFile=.*/d' \
+ -e '/^\[Service\]/aUser=collectd' \
+ contrib/systemd.${PN}.service || die
+
+ if use collectd_plugins_java; then
+ # Set javac -source and -target flags according to (R)DEPEND.
+ sed -i -e "s/\$(JAVAC)/\0 $(java-pkg_javac-args)/g" bindings/java/Makefile.am || die
+ fi
+
+ ebegin "Removing bundled libltdl"
+ rm -rf libltdl || die
+ eend 0
+
+ eautoreconf
+}
+
+src_configure() {
+ # Now come the lists of os-dependent plugins. Any plugin that is not listed anywhere here
+ # should work independent of the operating system.
+
+ local linux_plugins="barometer battery cpu cpufreq disk
+ drbd entropy ethstat hugepages interface iptables
+ ipvs irq ipc load memory md netlink nfs numa processes
+ serial swap tcpconns thermal turbostat users vmem wireless
+ zfc_arc"
+
+ local need_libstatgrab=0
+ local libstatgrab_plugins="cpu disk interface load memory swap users"
+ local bsd_plugins="cpu tcpconns ${libstatgrab_plugins} zfc_arc"
+
+ local darwin_plugins="apple_sensors battery cpu disk interface memory processes tcpconns"
+
+ local osdependent_plugins="${linux_plugins} ${bsd_plugins} ${darwin_plugins}"
+ local myos_plugins=""
+ if use kernel_linux; then
+ einfo "Enabling Linux plugins."
+ myos_plugins=${linux_plugins}
+ elif use kernel_FreeBSD; then
+ einfo "Enabling FreeBSD plugins."
+ myos_plugins=${bsd_plugins}
+ elif use kernel_Darwin; then
+ einfo "Enabling Darwin plugins."
+ myos_plugins=${darwin_plugins}
+ fi
+
+ local myconf="--disable-werror"
+
+ # Do we debug?
+ myconf+=" $(use_enable debug)"
+
+ # udev support?
+ # Required for smart plugin via REQUIRED_USE; Optional for disk plugin
+ if use udev; then
+ myconf+=" --with-libudev"
+ else
+ myconf+=" --without-libudev"
+ fi
+
+ local plugin
+
+ # Disable what needs to be disabled.
+ for plugin in ${COLLECTD_DISABLED_PLUGINS}; do
+ myconf+=" --disable-${plugin}"
+ done
+
+ # Set enable/disable for each single plugin.
+ for plugin in ${COLLECTD_ALL_PLUGINS}; do
+ if has ${plugin} ${osdependent_plugins}; then
+ # plugin is os-dependent ...
+ if has ${plugin} ${myos_plugins}; then
+ # ... and available in this os
+ myconf+=" $(use_enable collectd_plugins_${plugin} ${plugin})"
+ # ... must we link against libstatgrab? Bug #541518
+ if use kernel_FreeBSD && has ${plugin} ${libstatgrab_plugins}; then
+ einfo "We must link against libstatgrab due to plugin \"${plugin}\" ..."
+ need_libstatgrab=1
+ fi
+ else
+ # ... and NOT available in this os
+ if use collectd_plugins_${plugin}; then
+ ewarn "You try to enable the ${plugin} plugin, but it is not available for this"
+ ewarn "kernel. Disabling it automatically."
+ fi
+ myconf+=" --disable-${plugin}"
+ fi
+ elif [[ "${plugin}" = "collectd_plugins_perl" ]]; then
+ if use collectd_plugins_perl && ! use perl; then
+ ewarn "Perl plugin disabled as perl bindings disabled by -perl use flag"
+ myconf+= --disable-perl
+ else
+ myconf+=" $(use_enable collectd_plugins_${plugin} ${plugin})"
+ fi
+ else
+ myconf+=" $(use_enable collectd_plugins_${plugin} ${plugin})"
+ fi
+ done
+
+ if [ "${need_libstatgrab}" -eq 1 ]; then
+ myconf+=" --with-libstatgrab"
+ else
+ myconf+=" --without-libstatgrab"
+ fi
+
+ # JAVA_HOME is set by eclasses.
+ if use collectd_plugins_java; then
+ myconf+=" --with-java"
+ fi
+
+ # Need libiptc ONLY for iptables. If we try to use it otherwise bug 340109 happens.
+ # lots of libs are only needed for plugins, if they are disabled, also disable the lib
+ use collectd_plugins_iptables || myconf+=" --with-libiptc=no"
+ use collectd_plugins_openldap || myconf+=" --with-libldap=no"
+ use collectd_plugins_redis || use collectd_plugins_write_redis || myconf+=" --with-libhiredis=no"
+ use collectd_plugins_smart || myconf+=" --with-libatasmart=no"
+ use collectd_plugins_gps || myconf+=" --with-libgps=no"
+
+ if use perl; then
+ myconf+=" --with-perl-bindings=INSTALLDIRS=vendor"
+ else
+ myconf+=" --without-perl-bindings"
+ fi
+
+ # No need for v5upgrade
+ myconf+=" --disable-target_v5upgrade"
+
+ # Python
+ if use collectd_plugins_python; then
+ myconf+=" --with-libpython=yes"
+ export PYTHON_CONFIG=$(python_get_PYTHON_CONFIG)
+ else
+ myconf+=" --with-libpython=no"
+ fi
+
+ # XFS support
+ myconf+=" $(use_enable xfs)"
+
+ # Finally, run econf.
+ KERNEL_DIR="${KERNEL_DIR}" econf --config-cache \
+ $(use_enable static-libs static) \
+ --localstatedir=/var ${myconf}
+}
+
+src_install() {
+ emake DESTDIR="${D%/}" install
+
+ perl_delete_localpod
+
+ find "${ED}"usr/ -name "*.la" -delete || die
+
+ if use collectd_plugins_java; then
+ java-pkg_regjar "${ED}"usr/share/${PN}/java/*.jar
+ fi
+
+ fowners root:collectd /etc/collectd.conf
+ fperms u=rw,g=r,o= /etc/collectd.conf
+
+ dodoc AUTHORS ChangeLog README
+
+ if use contrib ; then
+ insinto /usr/share/doc/${PF}
+ doins -r contrib
+ fi
+
+ keepdir /var/lib/${PN}
+ fowners collectd:collectd /var/lib/${PN}
+
+ newinitd "${FILESDIR}/${PN}.initd-r2" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r2" ${PN}
+ systemd_newunit "contrib/systemd.${PN}.service" ${PN}.service
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+ newtmpfiles "${FILESDIR}"/${PN}.tmpfile ${PN}.conf
+
+ sed -i -e 's:^.*PIDFile "/var/run/collectd.pid":#PIDFile "/run/collectd.pid":' "${ED}"etc/collectd.conf || die
+ sed -i -e 's:^# SocketFile "/var/run/collectd-unixsock":# SocketFile "/run/collectd/collectd.socket":' "${ED}"etc/collectd.conf || die
+ sed -i -e 's:^.*LoadPlugin perl$:# The new, correct way to load the perl plugin -- \n# <LoadPlugin perl>\n# Globals true\n# </LoadPlugin>:' "${ED}"etc/collectd.conf || die
+ sed -i -e 's:^.*LoadPlugin python$:# The new, correct way to load the python plugin -- \n# <LoadPlugin python>\n# Globals true\n# </LoadPlugin>:' "${ED}"etc/collectd.conf || die
+}
+
+pkg_postinst() {
+ tmpfiles_process "${PN}.conf"
+
+ if use filecaps; then
+ local caps=()
+ use collectd_plugins_ceph && caps+=('CAP_DAC_OVERRIDE')
+ use collectd_plugins_exec && caps+=('CAP_SETUID' 'CAP_SETGID')
+ use collectd_plugins_iptables && caps+=('CAP_NET_ADMIN')
+ use collectd_plugins_filecount && caps+=('CAP_DAC_READ_SEARCH')
+
+ if use collectd_plugins_dns || use collectd_plugins_ping; then
+ caps+=('CAP_NET_RAW')
+ fi
+
+ if use collectd_plugins_turbostat || use collectd_plugins_smart; then
+ caps+=('CAP_SYS_RAWIO')
+ fi
+
+ if [ ${#caps[@]} -gt 0 ]; then
+ local caps_str=$(IFS=","; echo "${caps[*]}")
+ fcaps ${caps_str} usr/sbin/collectd
+ elog "Capabilities for ${EROOT}usr/sbin/collectd set to:"
+ elog " ${caps_str}+EP"
+ elog
+
+ local systemd_unit="$(systemd_get_systemunitdir)/collectd.service"
+ if [[ -e "${systemd_unit}" ]]; then
+ caps_str="${caps[*]}"
+ sed -i -e "s:^CapabilityBoundingSet=.*:CapabilityBoundingSet=${caps_str}:" "${systemd_unit}" || \
+ die "Failed to set CapabilityBoundingSet in '${systemd_unit}'"
+
+ elog "CapabilityBoundingSet in '${systemd_unit}'"
+ elog "updated to match capabilities set above."
+ elog
+ else
+ if has_version "sys-apps/systemd"; then
+ # Bug 596852
+ ewarn "Failed to update CapabilityBoundingSet in '${systemd_unit}'"
+ ewarn "because unit was not found. Please file a bug about this."
+ fi
+ fi
+ fi
+ fi
+
+ elog "Note: Collectd is only the collector."
+ elog " You need to install 'data' sources (applications) locally or"
+ elog " remotely on your own."
+
+ elog
+ elog "Collectd is configured to run as unprivileged user by default."
+ elog "You may want to revisit the configuration."
+ elog
+
+ if use collectd_plugins_email; then
+ ewarn "The email plug-in is deprecated. To submit statistics please use the unixsock plugin."
+ fi
+
+ if use collectd_plugins_smart; then
+ elog ""
+ elog "If you are using smart plugin and don't run collectd as root make sure"
+ elog "that the collectd user is allowed to access the disk you want to monitor"
+ elog "(can be done via udev rule for example) and that collectd has the required"
+ elog "capabilities set (which is the default when package was emerged with"
+ elog "'filecaps' USE flag set)."
+ fi
+
+ if use contrib; then
+ elog "The scripts in /usr/share/doc/${PF}/collection3 for generating graphs need dev-perl/HTML-Parser,"
+ elog "dev-perl/config-general, dev-perl/regexp-common, and net-analyzer/rrdtool[perl] to be installed."
+ fi
+}
diff --git a/app-metrics/collectd/collectd-5.8.0.ebuild b/app-metrics/collectd/collectd-5.8.0.ebuild
new file mode 100644
index 000000000000..1595bfd1c824
--- /dev/null
+++ b/app-metrics/collectd/collectd-5.8.0.ebuild
@@ -0,0 +1,534 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+JAVA_PKG_OPT_USE="collectd_plugins_java"
+
+inherit autotools fcaps flag-o-matic java-pkg-opt-2 linux-info multilib perl-functions python-single-r1 systemd tmpfiles user
+
+DESCRIPTION="Collects system statistics and provides mechanisms to store the values"
+
+HOMEPAGE="https://collectd.org/"
+SRC_URI="${HOMEPAGE%/}/files/${P}.tar.bz2"
+
+LICENSE="MIT GPL-2 GPL-2+ GPL-3 GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~x86"
+IUSE="contrib debug java kernel_Darwin kernel_FreeBSD kernel_linux perl selinux static-libs udev xfs"
+
+# The plugin lists have to follow here since they extend IUSE
+
+# Plugins that don't build (e.g. dependencies not in Gentoo)
+# apple_sensors: Requires libIOKit
+# aquaero: Requires aerotools-ng/libaquaero5
+# barometer: Requires libi2c (i2c_smbus_read_i2c_block_data)
+# dpdkevents: Requires dpdk
+# dpdkstat: Requires dpdk
+# grpc: Requires libgrpc
+# intel_pmu: Requires libjevents (pmu-tools)
+# intel_rdt: Requires libpqos from intel-cmt-cat project
+# lpar: Requires libperfstat (AIX only)
+# mic: Requires Intel Many Integrated Core Architecture API
+# (part of Intel's Xeon Phi software)
+# netapp: Requires libnetapp (http://communities.netapp.com/docs/DOC-1110)
+# pf: Requires BSD packet filter
+# pinba: Requires MySQL Pinba engine (http://pinba.org/)
+# tape: Requires libkstat (Solaris only)
+# write_riemann: Requires riemann-c-client
+# xmms: Requires libxmms (v1)
+# zone: Solaris only...
+COLLECTD_IMPOSSIBLE_PLUGINS="apple_sensors aquaero barometer dpdkstat grpc
+ intel_pmu intel_rdt lpar mic netapp pf pinba tape write_riemann
+ xmms zone"
+
+# Plugins that have been (compile) tested and can be enabled via COLLECTD_PLUGINS
+COLLECTD_TESTED_PLUGINS="aggregation amqp apache apcups ascent battery bind
+ ceph cgroups chrony conntrack contextswitch cpu cpufreq cpusleep
+ csv curl curl_json curl_xml dbi df disk dns drbd email
+ entropy ethstat exec fhcount filecount fscache gmond gps hddtemp
+ hugepages interface ipc ipmi iptables ipvs irq java lua
+ load logfile log_logstash lvm madwifi match_empty_counter
+ match_hashed match_regex match_timediff match_value mbmon mcelog md
+ memcachec memcached memory modbus mqtt multimeter mysql netlink
+ network network nfs nginx notify_desktop notify_email notify_nagios
+ ntpd numa nut olsrd onewire openldap openvpn oracle ovs_events
+ ovs_stats perl ping postgresql powerdns processes protocols python
+ python redis routeros rrdcached rrdtool sensors serial sigrok smart
+ snmp snmp_agent statsd swap syslog table tail tail_csv
+ target_notification target_replace target_scale target_set tcpconns
+ teamspeak2 ted thermal threshold tokyotyrant turbostat unixsock
+ uptime users uuid varnish virt vmem vserver wireless write_graphite
+ write_http write_kafka write_log write_mongodb write_prometheus
+ write_redis write_sensu write_tsdb xencpu zfs_arc zookeeper"
+
+COLLECTD_DISABLED_PLUGINS="${COLLECTD_IMPOSSIBLE_PLUGINS}"
+
+COLLECTD_ALL_PLUGINS=${COLLECTD_TESTED_PLUGINS}
+
+for plugin in ${COLLECTD_ALL_PLUGINS}; do
+ IUSE="${IUSE} collectd_plugins_${plugin}"
+done
+unset plugin
+
+# Now come the dependencies.
+
+COMMON_DEPEND="
+ dev-libs/libgcrypt:=
+ dev-libs/libltdl:0=
+ perl? ( dev-lang/perl:=[ithreads] )
+ udev? ( virtual/udev )
+ xfs? ( sys-fs/xfsprogs )
+ collectd_plugins_amqp? ( net-libs/rabbitmq-c )
+ collectd_plugins_apache? ( net-misc/curl:0= )
+ collectd_plugins_ascent? ( net-misc/curl:0= dev-libs/libxml2:2= )
+ collectd_plugins_bind? ( net-misc/curl:0= dev-libs/libxml2:2= )
+ collectd_plugins_ceph? ( dev-libs/yajl:= )
+ collectd_plugins_curl? ( net-misc/curl:0= )
+ collectd_plugins_curl_json? ( net-misc/curl:0= dev-libs/yajl:= )
+ collectd_plugins_curl_xml? ( net-misc/curl:0= dev-libs/libxml2:2= )
+ collectd_plugins_dbi? ( dev-db/libdbi )
+ collectd_plugins_dns? ( net-libs/libpcap )
+ collectd_plugins_gmond? ( sys-cluster/ganglia )
+ collectd_plugins_gps? ( sci-geosciences/gpsd:= )
+ collectd_plugins_ipmi? ( >=sys-libs/openipmi-2.0.16-r1 )
+ collectd_plugins_iptables? ( >=net-firewall/iptables-1.4.13:0= )
+ collectd_plugins_log_logstash? ( dev-libs/yajl:= )
+ collectd_plugins_lua? ( dev-lang/lua:0= )
+ collectd_plugins_lvm? ( sys-fs/lvm2 )
+ collectd_plugins_memcachec? ( dev-libs/libmemcached )
+ collectd_plugins_modbus? ( dev-libs/libmodbus )
+ collectd_plugins_mqtt? ( app-misc/mosquitto )
+ collectd_plugins_mysql? ( virtual/libmysqlclient:= )
+ collectd_plugins_netlink? ( net-libs/libmnl )
+ collectd_plugins_nginx? ( net-misc/curl:0= )
+ collectd_plugins_notify_desktop? ( x11-libs/libnotify )
+ collectd_plugins_notify_email? ( net-libs/libesmtp )
+ collectd_plugins_nut? ( >=sys-power/nut-2.7.2-r2 )
+ collectd_plugins_openldap? ( net-nds/openldap )
+ collectd_plugins_onewire? ( >=sys-fs/owfs-3.1:= )
+ collectd_plugins_oracle? ( dev-db/oracle-instantclient-basic )
+ collectd_plugins_ovs_events? ( dev-libs/yajl:= )
+ collectd_plugins_ovs_stats? ( dev-libs/yajl:= )
+ collectd_plugins_perl? ( dev-lang/perl:=[ithreads] )
+ collectd_plugins_ping? ( net-libs/liboping )
+ collectd_plugins_postgresql? ( dev-db/postgresql:= )
+ collectd_plugins_python? ( ${PYTHON_DEPS} )
+ collectd_plugins_redis? ( dev-libs/hiredis:= )
+ collectd_plugins_routeros? ( net-libs/librouteros )
+ collectd_plugins_rrdcached? ( net-analyzer/rrdtool:= )
+ collectd_plugins_rrdtool? ( net-analyzer/rrdtool:= )
+ collectd_plugins_sensors? ( sys-apps/lm_sensors )
+ collectd_plugins_sigrok? ( <sci-libs/libsigrok-0.4:= dev-libs/glib:2 )
+ collectd_plugins_smart? ( dev-libs/libatasmart )
+ collectd_plugins_snmp? ( net-analyzer/net-snmp )
+ collectd_plugins_snmp_agent? ( net-analyzer/net-snmp )
+ collectd_plugins_tokyotyrant? ( net-misc/tokyotyrant )
+ collectd_plugins_varnish? ( www-servers/varnish )
+ collectd_plugins_virt? ( app-emulation/libvirt:= dev-libs/libxml2:2= )
+ collectd_plugins_write_http? ( net-misc/curl:0= dev-libs/yajl:= )
+ collectd_plugins_write_kafka? ( >=dev-libs/librdkafka-0.9.0.99:= dev-libs/yajl:= )
+ collectd_plugins_write_mongodb? ( >=dev-libs/mongo-c-driver-1.8.2:= )
+ collectd_plugins_write_prometheus? ( >=dev-libs/protobuf-c-1.2.1-r1:= net-libs/libmicrohttpd:= )
+ collectd_plugins_write_redis? ( dev-libs/hiredis:= )
+ collectd_plugins_xencpu? ( app-emulation/xen-tools:= )
+
+ kernel_FreeBSD? (
+ collectd_plugins_disk? ( sys-libs/libstatgrab:= )
+ collectd_plugins_interface? ( sys-libs/libstatgrab:= )
+ collectd_plugins_load? ( sys-libs/libstatgrab:= )
+ collectd_plugins_memory? ( sys-libs/libstatgrab:= )
+ collectd_plugins_swap? ( sys-libs/libstatgrab:= )
+ collectd_plugins_users? ( sys-libs/libstatgrab:= )
+ )"
+
+# Enforcing !=sys-kernel/linux-headers-4.5 > due to #577846
+DEPEND="${COMMON_DEPEND}
+ collectd_plugins_iptables? ( || ( <=sys-kernel/linux-headers-4.4 >=sys-kernel/linux-headers-4.6 ) )
+ collectd_plugins_java? ( >=virtual/jdk-1.6 )
+ virtual/pkgconfig"
+
+RDEPEND="${COMMON_DEPEND}
+ collectd_plugins_java? ( >=virtual/jre-1.6 )
+ collectd_plugins_syslog? ( virtual/logger )
+ selinux? ( sec-policy/selinux-collectd )
+ !<sys-apps/openrc-0.18.2"
+
+REQUIRED_USE="
+ collectd_plugins_python? ( ${PYTHON_REQUIRED_USE} )
+ collectd_plugins_smart? ( udev )"
+
+# @FUNCTION: collectd_plugin_kernel_linux
+# @DESCRIPTION:
+# USAGE: <plugin name> <kernel_options> <severity>
+# kernel_options is a list of kernel configurations options; the check tests whether at least
+# one of them is enabled. If no, depending on the third argument an elog, ewarn, or eerror message
+# is emitted.
+collectd_plugin_kernel_linux() {
+ local multi_opt opt
+ if has ${1} ${COLLECTD_ALL_PLUGINS}; then
+ if use collectd_plugins_${1}; then
+ for opt in ${2}; do
+ if linux_chkconfig_present ${opt}; then
+ return 0;
+ fi
+ done
+ multi_opt=${2//\ /\ or\ }
+ case ${3} in
+ (info)
+ elog "The ${1} plugin can use kernel features that are disabled now; enable ${multi_opt} in your kernel"
+ ;;
+ (warn)
+ ewarn "The ${1} plugin uses kernel features that are disabled now; enable ${multi_opt} in your kernel"
+ ;;
+ (error)
+ eerror "The ${1} plugin needs kernel features that are disabled now; enable ${multi_opt} in your kernel"
+ ;;
+ (*)
+ die "function collectd_plugin_kernel_linux called with invalid third argument"
+ ;;
+ esac
+ fi
+ fi
+}
+
+collectd_linux_kernel_checks() {
+ if ! linux_chkconfig_present PROC_FS; then
+ ewarn "/proc file system support is disabled, many plugins will not be able to read any statistics from your system unless you enable PROC_FS in your kernel"
+ fi
+
+ if ! linux_chkconfig_present SYSFS; then
+ ewarn "/sys file system support is disabled, many plugins will not be able to read any statistics from your system unless you enable SYSFS in your kernel"
+ fi
+
+ # battery.c: /proc/pmu/battery_%i
+ # battery.c: /proc/acpi/battery
+ collectd_plugin_kernel_linux battery ACPI_BATTERY warn
+
+ # cgroups.c: /sys/fs/cgroup/
+ collectd_plugin_kernel_linux cgroups CGROUPS warn
+
+ # cpufreq.c: /sys/devices/system/cpu/cpu%d/cpufreq/
+ collectd_plugin_kernel_linux cpufreq SYSFS warn
+ collectd_plugin_kernel_linux cpufreq CPU_FREQ_STAT warn
+
+ # drbd.c: /proc/drbd
+ collectd_plugin_kernel_linux drbd BLK_DEV_DRBD warn
+
+ # conntrack.c: /proc/sys/net/netfilter/*
+ collectd_plugin_kernel_linux conntrack NETFILTER warn
+
+ # fscache.c: /proc/fs/fscache/stats
+ collectd_plugin_kernel_linux fscache FSCACHE warn
+
+ # nfs.c: /proc/net/rpc/nfs
+ # nfs.c: /proc/net/rpc/nfsd
+ collectd_plugin_kernel_linux nfs NFS_COMMON warn
+
+ # serial.c: /proc/tty/driver/serial
+ # serial.c: /proc/tty/driver/ttyS
+ collectd_plugin_kernel_linux serial SERIAL_CORE warn
+
+ # swap.c: /proc/meminfo
+ collectd_plugin_kernel_linux swap SWAP warn
+
+ # thermal.c: /proc/acpi/thermal_zone
+ # thermal.c: /sys/class/thermal
+ collectd_plugin_kernel_linux thermal ACPI_THERMAL warn
+
+ # turbostat.c: /dev/cpu/%d/msr
+ collectd_plugin_kernel_linux turbostat X86_MSR warn
+
+ # vmem.c: /proc/vmstat
+ collectd_plugin_kernel_linux vmem VM_EVENT_COUNTERS warn
+
+ # vserver.c: /proc/virtual
+ collectd_plugin_kernel_linux vserver VSERVER warn
+
+ # uuid.c: /sys/hypervisor/uuid
+ collectd_plugin_kernel_linux uuid SYSFS info
+
+ # wireless.c: /proc/net/wireless
+ collectd_plugin_kernel_linux wireless "WIRELESS MAC80211 IEEE80211" warn
+
+ # zfs_arc.c: /proc/spl/kstat/zfs/arcstats
+ collectd_plugin_kernel_linux zfs_arc "SPL ZFS" warn
+}
+
+pkg_setup() {
+ if use kernel_linux; then
+ linux-info_pkg_setup
+
+ if linux_config_exists; then
+ einfo "Checking your linux kernel configuration:"
+ collectd_linux_kernel_checks
+ else
+ elog "Cannot find a linux kernel configuration. Continuing anyway."
+ fi
+ fi
+
+ if use collectd_plugins_java; then
+ java-pkg-opt-2_pkg_setup
+ fi
+
+ use collectd_plugins_python && python-single-r1_pkg_setup
+
+ enewgroup collectd
+ enewuser collectd -1 -1 /var/lib/collectd collectd
+}
+
+src_prepare() {
+ default
+
+ # There's some strange prefix handling in the default config file, resulting in
+ # paths like "/usr/var/..."
+ sed -i -e "s:@prefix@/var:/var:g" src/collectd.conf.in || die
+
+ # Adjust upstream's systemd unit
+ # - Get rid of EnvironmentFile directive; These files don't exist on Gentoo!
+ # - Add User=collectd to run collectd as user "collectd" per default
+ sed -i \
+ -e '/^EnvironmentFile=.*/d' \
+ -e '/^\[Service\]/aUser=collectd' \
+ contrib/systemd.${PN}.service || die
+
+ eautoreconf
+}
+
+src_configure() {
+ # Now come the lists of os-dependent plugins. Any plugin that is not listed anywhere here
+ # should work independent of the operating system.
+
+ local linux_plugins="barometer battery cpu cpufreq disk
+ drbd entropy ethstat hugepages interface iptables
+ ipvs irq ipc load memory md netlink nfs numa processes
+ serial swap tcpconns thermal turbostat users vmem wireless
+ zfc_arc"
+
+ local need_libstatgrab=0
+ local libstatgrab_plugins="cpu disk interface load memory swap users"
+ local bsd_plugins="cpu tcpconns ${libstatgrab_plugins} zfc_arc"
+
+ local darwin_plugins="apple_sensors battery cpu disk interface memory processes tcpconns"
+
+ local osdependent_plugins="${linux_plugins} ${bsd_plugins} ${darwin_plugins}"
+ local myos_plugins=""
+ if use kernel_linux; then
+ einfo "Enabling Linux plugins."
+ myos_plugins=${linux_plugins}
+ elif use kernel_FreeBSD; then
+ einfo "Enabling FreeBSD plugins."
+ myos_plugins=${bsd_plugins}
+ elif use kernel_Darwin; then
+ einfo "Enabling Darwin plugins."
+ myos_plugins=${darwin_plugins}
+ fi
+
+ local myconf="--disable-werror"
+
+ # Do we debug?
+ myconf+=" $(use_enable debug)"
+
+ # udev support?
+ # Required for smart plugin via REQUIRED_USE; Optional for disk plugin
+ if use udev; then
+ myconf+=" --with-libudev"
+ else
+ myconf+=" --without-libudev"
+ fi
+
+ local plugin
+
+ # Disable what needs to be disabled.
+ for plugin in ${COLLECTD_DISABLED_PLUGINS}; do
+ myconf+=" --disable-${plugin}"
+ done
+
+ # Set enable/disable for each single plugin.
+ for plugin in ${COLLECTD_ALL_PLUGINS}; do
+ if has ${plugin} ${osdependent_plugins}; then
+ # plugin is os-dependent ...
+ if has ${plugin} ${myos_plugins}; then
+ # ... and available in this os
+ myconf+=" $(use_enable collectd_plugins_${plugin} ${plugin})"
+ # ... must we link against libstatgrab? Bug #541518
+ if use kernel_FreeBSD && has ${plugin} ${libstatgrab_plugins}; then
+ einfo "We must link against libstatgrab due to plugin \"${plugin}\" ..."
+ need_libstatgrab=1
+ fi
+ else
+ # ... and NOT available in this os
+ if use collectd_plugins_${plugin}; then
+ ewarn "You try to enable the ${plugin} plugin, but it is not available for this"
+ ewarn "kernel. Disabling it automatically."
+ fi
+ myconf+=" --disable-${plugin}"
+ fi
+ elif [[ "${plugin}" = "collectd_plugins_perl" ]]; then
+ if use collectd_plugins_perl && ! use perl; then
+ ewarn "Perl plugin disabled as perl bindings disabled by -perl use flag"
+ myconf+= --disable-perl
+ else
+ myconf+=" $(use_enable collectd_plugins_${plugin} ${plugin})"
+ fi
+ else
+ myconf+=" $(use_enable collectd_plugins_${plugin} ${plugin})"
+ fi
+ done
+
+ if [ "${need_libstatgrab}" -eq 1 ]; then
+ myconf+=" --with-libstatgrab"
+ else
+ myconf+=" --without-libstatgrab"
+ fi
+
+ # JAVA_HOME is set by eclasses.
+ if use collectd_plugins_java; then
+ myconf+=" --with-java"
+ fi
+
+ # Need libiptc ONLY for iptables. If we try to use it otherwise bug 340109 happens.
+ # lots of libs are only needed for plugins, if they are disabled, also disable the lib
+ use collectd_plugins_iptables || myconf+=" --with-libiptc=no"
+ use collectd_plugins_openldap || myconf+=" --with-libldap=no"
+ use collectd_plugins_redis || use collectd_plugins_write_redis || myconf+=" --with-libhiredis=no"
+ use collectd_plugins_smart || myconf+=" --with-libatasmart=no"
+ use collectd_plugins_gps || myconf+=" --with-libgps=no"
+
+ if use perl; then
+ myconf+=" --with-perl-bindings=INSTALLDIRS=vendor"
+ else
+ myconf+=" --without-perl-bindings"
+ fi
+
+ # No need for v5upgrade
+ myconf+=" --disable-target_v5upgrade"
+
+ # Python
+ if use collectd_plugins_python; then
+ myconf+=" --with-libpython=yes"
+ export PYTHON_CONFIG=$(python_get_PYTHON_CONFIG)
+ else
+ myconf+=" --with-libpython=no"
+ fi
+
+ # XFS support
+ myconf+=" $(use_enable xfs)"
+
+ # Finally, run econf.
+ KERNEL_DIR="${KERNEL_DIR}" econf --config-cache \
+ $(use_enable static-libs static) \
+ --localstatedir=/var ${myconf}
+}
+
+src_install() {
+ emake DESTDIR="${D%/}" install
+
+ perl_delete_localpod
+
+ find "${ED}"usr/ -name "*.la" -delete || die
+
+ if use collectd_plugins_java; then
+ java-pkg_regjar "${ED}"usr/share/${PN}/java/*.jar
+ fi
+
+ fowners root:collectd /etc/collectd.conf
+ fperms u=rw,g=r,o= /etc/collectd.conf
+
+ dodoc AUTHORS ChangeLog README
+
+ if use contrib ; then
+ insinto /usr/share/doc/${PF}
+ doins -r contrib
+ fi
+
+ keepdir /var/lib/${PN}
+ fowners collectd:collectd /var/lib/${PN}
+
+ newinitd "${FILESDIR}/${PN}.initd-r2" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r2" ${PN}
+ systemd_newunit "contrib/systemd.${PN}.service" ${PN}.service
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+ newtmpfiles "${FILESDIR}"/${PN}.tmpfile ${PN}.conf
+
+ sed -i -e 's:^.*PIDFile "/var/run/collectd.pid":#PIDFile "/run/collectd.pid":' "${ED}"etc/collectd.conf || die
+ sed -i -e 's:^# SocketFile "/var/run/collectd-unixsock":# SocketFile "/run/collectd/collectd.socket":' "${ED}"etc/collectd.conf || die
+ sed -i -e 's:^.*LoadPlugin perl$:# The new, correct way to load the perl plugin -- \n# <LoadPlugin perl>\n# Globals true\n# </LoadPlugin>:' "${ED}"etc/collectd.conf || die
+ sed -i -e 's:^.*LoadPlugin python$:# The new, correct way to load the python plugin -- \n# <LoadPlugin python>\n# Globals true\n# </LoadPlugin>:' "${ED}"etc/collectd.conf || die
+}
+
+pkg_postinst() {
+ tmpfiles_process "${PN}.conf"
+
+ if use filecaps; then
+ local caps=()
+ use collectd_plugins_ceph && caps+=('CAP_DAC_OVERRIDE')
+ use collectd_plugins_exec && caps+=('CAP_SETUID' 'CAP_SETGID')
+ use collectd_plugins_iptables && caps+=('CAP_NET_ADMIN')
+ use collectd_plugins_filecount && caps+=('CAP_DAC_READ_SEARCH')
+
+ if use collectd_plugins_dns || use collectd_plugins_ping; then
+ caps+=('CAP_NET_RAW')
+ fi
+
+ if use collectd_plugins_turbostat || use collectd_plugins_smart; then
+ caps+=('CAP_SYS_RAWIO')
+ fi
+
+ if [ ${#caps[@]} -gt 0 ]; then
+ local caps_str=$(IFS=","; echo "${caps[*]}")
+ fcaps ${caps_str} usr/sbin/collectd
+ elog "Capabilities for ${EROOT}usr/sbin/collectd set to:"
+ elog " ${caps_str}+EP"
+ elog
+
+ local systemd_unit="$(systemd_get_systemunitdir)/collectd.service"
+ if [[ -e "${systemd_unit}" ]]; then
+ caps_str="${caps[*]}"
+ sed -i -e "s:^CapabilityBoundingSet=.*:CapabilityBoundingSet=${caps_str}:" "${systemd_unit}" || \
+ die "Failed to set CapabilityBoundingSet in '${systemd_unit}'"
+
+ elog "CapabilityBoundingSet in '${systemd_unit}'"
+ elog "updated to match capabilities set above."
+ elog
+ else
+ if has_version "sys-apps/systemd"; then
+ # Bug 596852
+ ewarn "Failed to update CapabilityBoundingSet in '${systemd_unit}'"
+ ewarn "because unit was not found. Please file a bug about this."
+ fi
+ fi
+ fi
+ fi
+
+ elog "Note: Collectd is only the collector."
+ elog " You need to install 'data' sources (applications) locally or"
+ elog " remotely on your own."
+
+ elog
+ elog "Collectd is configured to run as unprivileged user by default."
+ elog "You may want to revisit the configuration."
+ elog
+
+ if use collectd_plugins_email; then
+ ewarn "The email plug-in is deprecated. To submit statistics please use the unixsock plugin."
+ fi
+
+ if use collectd_plugins_smart; then
+ elog ""
+ elog "If you are using smart plugin and don't run collectd as root make sure"
+ elog "that the collectd user is allowed to access the disk you want to monitor"
+ elog "(can be done via udev rule for example) and that collectd has the required"
+ elog "capabilities set (which is the default when package was emerged with"
+ elog "'filecaps' USE flag set)."
+ fi
+
+ if use contrib; then
+ elog "The scripts in /usr/share/doc/${PF}/collection3 for generating graphs need dev-perl/HTML-Parser,"
+ elog "dev-perl/config-general, dev-perl/regexp-common, and net-analyzer/rrdtool[perl] to be installed."
+ fi
+}
diff --git a/app-metrics/collectd/files/collectd-5.6.0-gentoo.patch b/app-metrics/collectd/files/collectd-5.6.0-gentoo.patch
new file mode 100644
index 000000000000..dd8c1576354c
--- /dev/null
+++ b/app-metrics/collectd/files/collectd-5.6.0-gentoo.patch
@@ -0,0 +1,153 @@
+From 8fe20883e248572690798e4dd1423511aa2f4e5d Mon Sep 17 00:00:00 2001
+From: Thomas Deutschmann <whissi@gentoo.org>
+Date: Thu, 22 Sep 2016 00:53:58 +0200
+Subject: [PATCH 1/3] Remove bundled libltdl
+
+---
+ Makefile.am | 6 ------
+ configure.ac | 8 ++++----
+ 2 files changed, 4 insertions(+), 10 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 03bdd39..ad04a3c 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,11 +1,5 @@
+-ACLOCAL_AMFLAGS = -I libltdl/m4
+-
+ SUBDIRS =
+
+-if BUILD_INCLUDED_LTDL
+-SUBDIRS += libltdl
+-endif
+-
+ SUBDIRS += proto src bindings .
+
+ AM_CPPFLAGS = $(LTDLINCL)
+diff --git a/configure.ac b/configure.ac
+index 9a6da11..68e15e0 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -3,7 +3,6 @@ AC_PREREQ([2.60])
+ AC_INIT([collectd],[m4_esyscmd(./version-gen.sh)])
+ AC_CONFIG_SRCDIR(src/target_set.c)
+ AC_CONFIG_HEADERS(src/config.h)
+-AC_CONFIG_AUX_DIR([libltdl/config])
+
+ dnl older automake's default of ARFLAGS=cru is noisy on newer binutils;
+ dnl we don't really need the 'u' even in older toolchains. Then there is
+@@ -13,7 +12,6 @@ m4_divert_text([DEFAULTS], [: "${ARFLAGS=cr} ${AR_FLAGS=cr}"])
+ m4_ifdef([LT_PACKAGE_VERSION],
+ # libtool >= 2.2
+ [
+- LT_CONFIG_LTDL_DIR([libltdl])
+ LT_INIT([dlopen])
+ LTDL_INIT([convenience])
+ AC_DEFINE(LIBTOOL_VERSION, 2, [Define to used libtool version.])
+@@ -25,12 +23,14 @@ m4_ifdef([LT_PACKAGE_VERSION],
+ AC_SUBST(LTDLINCL)
+ AC_SUBST(LIBLTDL)
+ AC_LIBTOOL_DLOPEN
+- AC_CONFIG_SUBDIRS(libltdl)
+ AC_DEFINE(LIBTOOL_VERSION, 1, [Define to used libtool version.])
+ ]
+ )
+
+-AM_CONDITIONAL([BUILD_INCLUDED_LTDL], [test "x$LTDLDEPS" != "x"])
++if test "x$LTDLDEPS" != "x"
++then
++ AC_MSG_ERROR(["system's libltdl is too old! Should never happen. Please file a bug at https://bugs.gentoo.org"])
++fi
+
+ AM_INIT_AUTOMAKE([subdir-objects tar-pax dist-bzip2 no-dist-gzip foreign])
+ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+--
+2.10.0
+
+
+From 0b00f519ce183b8ceaab5cf8e56f574ecd2cb7c4 Mon Sep 17 00:00:00 2001
+From: Thomas Deutschmann <whissi@gentoo.org>
+Date: Thu, 22 Sep 2016 00:54:08 +0200
+Subject: [PATCH 2/3] Remove libhal dependency
+
+X-Gentoo-Bug: 353839
+X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=353839
+---
+ configure.ac | 24 ------------------------
+ 1 file changed, 24 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 68e15e0..1700c44 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1663,30 +1663,6 @@ AM_CONDITIONAL(BUILD_WITH_LIBRESOLV, test "x$with_libresolv" = "xyes")
+
+ dnl Check for HAL (hardware abstraction library)
+ with_libhal="no"
+-PKG_CHECK_MODULES([HAL], [hal],
+- [
+- SAVE_LIBS="$LIBS"
+- LIBS="$HAL_LIBS $LIBS"
+- AC_CHECK_LIB([hal], [libhal_device_property_exists],
+- [
+- SAVE_CPPFLAGS="$CPPFLAGS"
+- CPPFLAGS="$HAL_CFLAGS $CPPFLAGS"
+- AC_CHECK_HEADERS([libhal.h],
+- [
+- with_libhal="yes"
+- BUILD_WITH_LIBHAL_CFLAGS="$HAL_CFLAGS"
+- BUILD_WITH_LIBHAL_LIBS="$HAL_LIBS"
+- ])
+- CPPFLAGS="$SAVE_CPPFLAGS"
+- ],
+- [ : ]
+- )
+- LIBS="$SAVE_LIBS"
+- ],
+- [ : ]
+-)
+-AC_SUBST(BUILD_WITH_LIBHAL_CFLAGS)
+-AC_SUBST(BUILD_WITH_LIBHAL_LIBS)
+
+
+ SAVE_LIBS="$LIBS"
+--
+2.10.0
+
+
+From 380c61888bed5856319fa32816d8f2f4c88ee7bc Mon Sep 17 00:00:00 2001
+From: Thomas Deutschmann <whissi@gentoo.org>
+Date: Thu, 22 Sep 2016 00:54:19 +0200
+Subject: [PATCH 3/3] Link Oracle plug-in against libocci
+
+Author: Aurelien Minet
+X-Gentoo-Bug: 347607
+X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=347607
+---
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 1700c44..83909a0 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -3587,14 +3587,14 @@ AC_ARG_WITH(oracle, [AS_HELP_STRING([--with-oracle@<:@=ORACLE_HOME@:>@], [Path t
+ ])
+ if test "x$ORACLE_HOME" != "x"
+ then
+- with_oracle_cppflags="-I$ORACLE_HOME/rdbms/public"
++ with_oracle_cppflags="-I$ORACLE_HOME/rdbms/public -locci"
+
+ if test -e "$ORACLE_HOME/lib/ldflags"
+ then
+ with_oracle_libs=`cat "$ORACLE_HOME/lib/ldflags"`
+ fi
+ #with_oracle_libs="-L$ORACLE_HOME/lib $with_oracle_libs -lclntsh"
+- with_oracle_libs="-L$ORACLE_HOME/lib -lclntsh"
++ with_oracle_libs="-L$ORACLE_HOME/lib -lclntsh -locci"
+ fi
+ if test "x$with_oracle" = "xyes"
+ then
+--
+2.10.0
+
diff --git a/app-metrics/collectd/files/collectd-5.7.2-CVE-2017-16820.patch b/app-metrics/collectd/files/collectd-5.7.2-CVE-2017-16820.patch
new file mode 100644
index 000000000000..0090f2940bf6
--- /dev/null
+++ b/app-metrics/collectd/files/collectd-5.7.2-CVE-2017-16820.patch
@@ -0,0 +1,39 @@
+CVE-2017-16820: Fix double free of request PDU
+
+https://github.com/collectd/collectd/commit/d16c24542b2f96a194d43a73c2e5778822b9cb47
+
+--- a/src/snmp.c
++++ b/src/snmp.c
+@@ -1357,11 +1357,13 @@ static int csnmp_read_table(host_definition_t *host, data_definition_t *data) {
+ if (oid_list_todo_num == 0) {
+ /* The request is still empty - so we are finished */
+ DEBUG("snmp plugin: all variables have left their subtree");
++ snmp_free_pdu(req);
+ status = 0;
+ break;
+ }
+
+ res = NULL;
++ /* snmp_sess_synch_response always frees our req PDU */
+ status = snmp_sess_synch_response(host->sess_handle, req, &res);
+ if ((status != STAT_SUCCESS) || (res == NULL)) {
+ char *errstr = NULL;
+@@ -1376,8 +1378,6 @@ static int csnmp_read_table(host_definition_t *host, data_definition_t *data) {
+ snmp_free_pdu(res);
+ res = NULL;
+
+- /* snmp_synch_response already freed our PDU */
+- req = NULL;
+ sfree(errstr);
+ csnmp_host_close_session(host);
+
+@@ -1492,9 +1492,6 @@ static int csnmp_read_table(host_definition_t *host, data_definition_t *data) {
+ snmp_free_pdu(res);
+ res = NULL;
+
+- if (req != NULL)
+- snmp_free_pdu(req);
+- req = NULL;
+
+ if (status == 0)
+ csnmp_dispatch_table(host, data, instance_list_head, value_list_head);
diff --git a/app-metrics/collectd/files/collectd-5.7.2-issue-2443.patch b/app-metrics/collectd/files/collectd-5.7.2-issue-2443.patch
new file mode 100644
index 000000000000..19410c139b0a
--- /dev/null
+++ b/app-metrics/collectd/files/collectd-5.7.2-issue-2443.patch
@@ -0,0 +1,160 @@
+turbostat: import msr-index header from linux to allow building against
+ >=linux-4.12
+
+Backport of https://github.com/collectd/collectd/pull/2446
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -805,28 +805,6 @@ AC_CACHE_CHECK([whether clock_boottime and clock_monotonic are supported],
+
+
+ # For the turbostat plugin
+-have_asm_msrindex_h="no"
+-AC_CHECK_HEADERS(asm/msr-index.h, [have_asm_msrindex_h="yes"])
+-
+-if test "x$have_asm_msrindex_h" = "xyes"
+-then
+- AC_CACHE_CHECK([whether asm/msr-index.h has MSR_PKG_C10_RESIDENCY],
+- [c_cv_have_usable_asm_msrindex_h],
+- AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+-[[[
+-#include<asm/msr-index.h>
+-]]],
+-[[[
+-int y = MSR_PKG_C10_RESIDENCY;
+-return(y);
+-]]]
+- )],
+- [c_cv_have_usable_asm_msrindex_h="yes"],
+- [c_cv_have_usable_asm_msrindex_h="no"],
+- )
+- )
+-fi
+-
+ have_cpuid_h="no"
+ AC_CHECK_HEADERS(cpuid.h, [have_cpuid_h="yes"])
+
+@@ -6108,7 +6086,7 @@ then
+ then
+ plugin_ipvs="yes"
+ fi
+- if test "x$c_cv_have_usable_asm_msrindex_h" = "xyes" && test "x$have_cpuid_h" = "xyes"
++ if test "x$have_cpuid_h" = "xyes"
+ then
+ plugin_turbostat="yes"
+ fi
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -1212,7 +1212,9 @@ endif
+
+ if BUILD_PLUGIN_TURBOSTAT
+ pkglib_LTLIBRARIES += turbostat.la
+-turbostat_la_SOURCES = turbostat.c
++turbostat_la_SOURCES = \
++ turbostat.c \
++ msr-index.h
+ turbostat_la_LDFLAGS = $(PLUGIN_LDFLAGS)
+ endif
+
+--- /dev/null
++++ b/src/msr-index.h
+@@ -0,0 +1,88 @@
++/*
++ * Partial header file imported from the linux kernel
++ * (arch/x86/include/asm/msr-index.h)
++ * as it is not provided by the kernel sources anymore
++ *
++ * Only the minimal blocks of macro have been included
++ * ----
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms and conditions of the GNU General Public License,
++ * version 2, as published by the Free Software Foundation.
++ *
++ * This program is distributed in the hope it will be useful, but WITHOUT
++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
++ * more details.
++ *
++ * You should have received a copy of the GNU General Public License along with
++ * this program; if not, write to the Free Software Foundation, Inc.,
++ * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
++ * ----
++ */
++
++#ifndef _ASM_X86_MSR_INDEX_H
++#define _ASM_X86_MSR_INDEX_H
++
++/*
++ * CPU model specific register (MSR) numbers.
++ *
++ * Do not add new entries to this file unless the definitions are shared
++ * between multiple compilation units.
++ */
++
++/* Intel MSRs. Some also available on other CPUs */
++
++/* C-state Residency Counters */
++#define MSR_PKG_C3_RESIDENCY 0x000003f8
++#define MSR_PKG_C6_RESIDENCY 0x000003f9
++#define MSR_ATOM_PKG_C6_RESIDENCY 0x000003fa
++#define MSR_PKG_C7_RESIDENCY 0x000003fa
++#define MSR_CORE_C3_RESIDENCY 0x000003fc
++#define MSR_CORE_C6_RESIDENCY 0x000003fd
++#define MSR_CORE_C7_RESIDENCY 0x000003fe
++#define MSR_KNL_CORE_C6_RESIDENCY 0x000003ff
++#define MSR_PKG_C2_RESIDENCY 0x0000060d
++#define MSR_PKG_C8_RESIDENCY 0x00000630
++#define MSR_PKG_C9_RESIDENCY 0x00000631
++#define MSR_PKG_C10_RESIDENCY 0x00000632
++
++/* Run Time Average Power Limiting (RAPL) Interface */
++
++#define MSR_RAPL_POWER_UNIT 0x00000606
++
++#define MSR_PKG_POWER_LIMIT 0x00000610
++#define MSR_PKG_ENERGY_STATUS 0x00000611
++#define MSR_PKG_PERF_STATUS 0x00000613
++#define MSR_PKG_POWER_INFO 0x00000614
++
++#define MSR_DRAM_POWER_LIMIT 0x00000618
++#define MSR_DRAM_ENERGY_STATUS 0x00000619
++#define MSR_DRAM_PERF_STATUS 0x0000061b
++#define MSR_DRAM_POWER_INFO 0x0000061c
++
++#define MSR_PP0_POWER_LIMIT 0x00000638
++#define MSR_PP0_ENERGY_STATUS 0x00000639
++#define MSR_PP0_POLICY 0x0000063a
++#define MSR_PP0_PERF_STATUS 0x0000063b
++
++#define MSR_PP1_POWER_LIMIT 0x00000640
++#define MSR_PP1_ENERGY_STATUS 0x00000641
++#define MSR_PP1_POLICY 0x00000642
++
++
++
++/* Intel defined MSRs. */
++#define MSR_IA32_TSC 0x00000010
++#define MSR_SMI_COUNT 0x00000034
++
++#define MSR_IA32_MPERF 0x000000e7
++#define MSR_IA32_APERF 0x000000e8
++
++#define MSR_IA32_THERM_STATUS 0x0000019c
++
++#define MSR_IA32_TEMPERATURE_TARGET 0x000001a2
++
++#define MSR_IA32_PACKAGE_THERM_STATUS 0x000001b1
++
++
++#endif /* _ASM_X86_MSR_INDEX_H */
+--- a/src/turbostat.c
++++ b/src/turbostat.c
+@@ -41,7 +41,7 @@
+ #include "plugin.h"
+ #include "utils_time.h"
+
+-#include <asm/msr-index.h>
++#include "msr-index.h"
+ #include <cpuid.h>
+ #ifdef HAVE_SYS_CAPABILITY_H
+ #include <sys/capability.h>
diff --git a/app-metrics/collectd/files/collectd-5.7.2-varnish-5.2+.patch b/app-metrics/collectd/files/collectd-5.7.2-varnish-5.2+.patch
new file mode 100644
index 000000000000..60830042fa6a
--- /dev/null
+++ b/app-metrics/collectd/files/collectd-5.7.2-varnish-5.2+.patch
@@ -0,0 +1,1018 @@
+Fix building against >=www-servers/varnish-5.2
+
+https://github.com/collectd/collectd/commit/3c42182e912e3d634fe8c4f6a636053959fcde49
+https://github.com/collectd/collectd/commit/3ab73ae8b23b9816fb69fde630c5ad667aa1e09f
+https://github.com/collectd/collectd/commit/7978b43670472a000831f7ff37a6a30771a6ee6f
+https://github.com/collectd/collectd/commit/68123637814ea09efff5bf56f3209eefbe41287a
+https://github.com/collectd/collectd/commit/8192bfcf975ff6275505c99193a23e2a066927d0
+https://github.com/collectd/collectd/commit/c1e2bf3d2bfa1a1da3a6b42186577f635795e7f8
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -5614,13 +5614,18 @@ then
+
+ CPPFLAGS="$CPPFLAGS $with_libvarnish_cflags"
+
+- AC_CHECK_HEADERS(vapi/vsc.h,
+- [AC_DEFINE([HAVE_VARNISH_V4], [1], [Varnish 4 API support])],
+- [AC_CHECK_HEADERS(vsc.h,
+- [AC_DEFINE([HAVE_VARNISH_V3], [1], [Varnish 3 API support])],
+- [AC_CHECK_HEADERS(varnishapi.h,
+- [AC_DEFINE([HAVE_VARNISH_V2], [1], [Varnish 2 API support])],
+- [with_libvarnish="no (found none of the varnish header files)"])])])
++ $PKG_CONFIG --atleast-version=5.2 'varnishapi' 2>/dev/null
++ if test $? -eq 0; then
++ AC_DEFINE([HAVE_VARNISH_V5], [1], [Varnish 5 API support])
++ else
++ AC_CHECK_HEADERS(vapi/vsc.h,
++ [AC_DEFINE([HAVE_VARNISH_V4], [1], [Varnish 4 API support])],
++ [AC_CHECK_HEADERS(vsc.h,
++ [AC_DEFINE([HAVE_VARNISH_V3], [1], [Varnish 3 API support])],
++ [AC_CHECK_HEADERS(varnishapi.h,
++ [AC_DEFINE([HAVE_VARNISH_V2], [1], [Varnish 2 API support])],
++ [with_libvarnish="no (found none of the varnish header files)"])])])
++ fi
+
+ CPPFLAGS="$SAVE_CPPFLAGS"
+ fi
+--- a/src/varnish.c
++++ b/src/varnish.c
+@@ -21,6 +21,7 @@
+ * Jérôme Renard <jerome.renard at gmail.com>
+ * Marc Fournier <marc.fournier at camptocamp.com>
+ * Florian octo Forster <octo at collectd.org>
++ * Denes Matetelki <dmatetelki at varnish-software.com>
+ **/
+
+ #include "collectd.h"
+@@ -28,7 +29,7 @@
+ #include "common.h"
+ #include "plugin.h"
+
+-#if HAVE_VARNISH_V4
++#if HAVE_VARNISH_V4 || HAVE_VARNISH_V5
+ #include <vapi/vsc.h>
+ #include <vapi/vsm.h>
+ typedef struct VSC_C_main c_varnish_stats_t;
+@@ -69,17 +70,25 @@ struct user_config_s {
+ _Bool collect_sms;
+ #if HAVE_VARNISH_V2
+ _Bool collect_sm;
++#endif
++#if HAVE_VARNISH_V2 || HAVE_VARNISH_V4 || HAVE_VARNISH_V5
+ _Bool collect_sma;
+ #endif
+ _Bool collect_struct;
+ _Bool collect_totals;
+-#if HAVE_VARNISH_V3 || HAVE_VARNISH_V4
++#if HAVE_VARNISH_V3 || HAVE_VARNISH_V4 || HAVE_VARNISH_V5
+ _Bool collect_uptime;
+ #endif
+ _Bool collect_vcl;
+ _Bool collect_workers;
+-#if HAVE_VARNISH_V4
++#if HAVE_VARNISH_V4 || HAVE_VARNISH_V5
+ _Bool collect_vsm;
++ _Bool collect_lck;
++ _Bool collect_mempool;
++ _Bool collect_mgt;
++ _Bool collect_smf;
++ _Bool collect_vbe;
++ _Bool collect_mse;
+ #endif
+ };
+ typedef struct user_config_s user_config_t; /* }}} */
+@@ -98,60 +107,70 @@ static int varnish_submit(const char *plugin_instance, /* {{{ */
+
+ if (plugin_instance == NULL)
+ plugin_instance = "default";
+- ssnprintf(vl.plugin_instance, sizeof(vl.plugin_instance), "%s-%s",
+- plugin_instance, category);
++ snprintf(vl.plugin_instance, sizeof(vl.plugin_instance), "%s-%s",
++ plugin_instance, category);
+
+ sstrncpy(vl.type, type, sizeof(vl.type));
+
+ if (type_instance != NULL)
+ sstrncpy(vl.type_instance, type_instance, sizeof(vl.type_instance));
+
+- return (plugin_dispatch_values(&vl));
++ return plugin_dispatch_values(&vl);
+ } /* }}} int varnish_submit */
+
+ static int varnish_submit_gauge(const char *plugin_instance, /* {{{ */
+ const char *category, const char *type,
+ const char *type_instance,
+ uint64_t gauge_value) {
+- return (varnish_submit(plugin_instance, category, type, type_instance,
+- (value_t){.gauge = (gauge_t)gauge_value}));
++ return varnish_submit(plugin_instance, category, type, type_instance,
++ (value_t){
++ .gauge = (gauge_t)gauge_value,
++ });
+ } /* }}} int varnish_submit_gauge */
+
+ static int varnish_submit_derive(const char *plugin_instance, /* {{{ */
+ const char *category, const char *type,
+ const char *type_instance,
+ uint64_t derive_value) {
+- return (varnish_submit(plugin_instance, category, type, type_instance,
+- (value_t){.derive = (derive_t)derive_value}));
++ return varnish_submit(plugin_instance, category, type, type_instance,
++ (value_t){
++ .derive = (derive_t)derive_value,
++ });
+ } /* }}} int varnish_submit_derive */
+
+-#if HAVE_VARNISH_V3 || HAVE_VARNISH_V4
++#if HAVE_VARNISH_V3 || HAVE_VARNISH_V4 || HAVE_VARNISH_V5
+ static int varnish_monitor(void *priv,
+ const struct VSC_point *const pt) /* {{{ */
+ {
+ uint64_t val;
+ const user_config_t *conf;
+- const char *class;
+ const char *name;
+
+ if (pt == NULL)
+- return (0);
++ return 0;
+
+ conf = priv;
+
+-#if HAVE_VARNISH_V4
+- class = pt->section->fantom->type;
+- name = pt->desc->name;
++#if HAVE_VARNISH_V5
++ char namebuff[DATA_MAX_NAME_LEN];
+
+- if (strcmp(class, "MAIN") != 0)
+- return (0);
++ char const *c = strrchr(pt->name, '.');
++ if (c == NULL) {
++ return EINVAL;
++ }
++ sstrncpy(namebuff, c + 1, sizeof(namebuff));
++ name = namebuff;
++
++#elif HAVE_VARNISH_V4
++ if (strcmp(pt->section->fantom->type, "MAIN") != 0)
++ return 0;
+
++ name = pt->desc->name;
+ #elif HAVE_VARNISH_V3
+- class = pt->class;
+- name = pt->name;
++ if (strcmp(pt->class, "") != 0)
++ return 0;
+
+- if (strcmp(class, "") != 0)
+- return (0);
++ name = pt->name;
+ #endif
+
+ val = *(const volatile uint64_t *)pt->ptr;
+@@ -178,6 +197,14 @@ static int varnish_monitor(void *priv,
+ else if (strcmp(name, "client_req") == 0)
+ return varnish_submit_derive(conf->instance, "connections", "connections",
+ "received", val);
++#if HAVE_VARNISH_V4 || HAVE_VARNISH_V5
++ else if (strcmp(name, "client_req_400") == 0)
++ return varnish_submit_derive(conf->instance, "connections", "connections",
++ "error_400", val);
++ else if (strcmp(name, "client_req_417") == 0)
++ return varnish_submit_derive(conf->instance, "connections", "connections",
++ "error_417", val);
++#endif
+ }
+
+ #ifdef HAVE_VARNISH_V3
+@@ -207,6 +234,9 @@ static int varnish_monitor(void *priv,
+ else if (strcmp(name, "esi_warnings") == 0)
+ return varnish_submit_derive(conf->instance, "esi", "total_operations",
+ "warning", val);
++ else if (strcmp(name, "esi_maxdepth") == 0)
++ return varnish_submit_derive(conf->instance, "esi", "total_operations",
++ "max_depth", val);
+ }
+
+ if (conf->collect_backend) {
+@@ -282,6 +312,20 @@ static int varnish_monitor(void *priv,
+ else if (strcmp(name, "fetch_304") == 0)
+ return varnish_submit_derive(conf->instance, "fetch", "http_requests",
+ "no_body_304", val);
++#if HAVE_VARNISH_V4 || HAVE_VARNISH_V5
++ else if (strcmp(name, "fetch_no_thread") == 0)
++ return varnish_submit_derive(conf->instance, "fetch", "http_requests",
++ "no_thread", val);
++ else if (strcmp(name, "fetch_none") == 0)
++ return varnish_submit_derive(conf->instance, "fetch", "http_requests",
++ "none", val);
++ else if (strcmp(name, "busy_sleep") == 0)
++ return varnish_submit_derive(conf->instance, "fetch", "http_requests",
++ "busy_sleep", val);
++ else if (strcmp(name, "busy_wakeup") == 0)
++ return varnish_submit_derive(conf->instance, "fetch", "http_requests",
++ "busy_wakeup", val);
++#endif
+ }
+
+ if (conf->collect_hcb) {
+@@ -327,6 +371,14 @@ static int varnish_monitor(void *priv,
+ else if (strcmp(name, "n_objoverflow") == 0)
+ return varnish_submit_derive(conf->instance, "objects", "total_objects",
+ "workspace_overflow", val);
++#if HAVE_VARNISH_V4 || HAVE_VARNISH_V5
++ else if (strcmp(name, "exp_mailed") == 0)
++ return varnish_submit_gauge(conf->instance, "struct", "objects",
++ "exp_mailed", val);
++ else if (strcmp(name, "exp_received") == 0)
++ return varnish_submit_gauge(conf->instance, "struct", "objects",
++ "exp_received", val);
++#endif
+ }
+
+ #if HAVE_VARNISH_V3
+@@ -351,7 +403,7 @@ static int varnish_monitor(void *priv,
+ "duplicate", val);
+ }
+ #endif
+-#if HAVE_VARNISH_V4
++#if HAVE_VARNISH_V4 || HAVE_VARNISH_V5
+ if (conf->collect_ban) {
+ if (strcmp(name, "bans") == 0)
+ return varnish_submit_derive(conf->instance, "ban", "total_operations",
+@@ -377,6 +429,33 @@ static int varnish_monitor(void *priv,
+ else if (strcmp(name, "bans_dups") == 0)
+ return varnish_submit_derive(conf->instance, "ban", "total_operations",
+ "duplicate", val);
++ else if (strcmp(name, "bans_tested") == 0)
++ return varnish_submit_derive(conf->instance, "ban", "total_operations",
++ "tested", val);
++ else if (strcmp(name, "bans_lurker_contention") == 0)
++ return varnish_submit_derive(conf->instance, "ban", "total_operations",
++ "lurker_contention", val);
++ else if (strcmp(name, "bans_lurker_obj_killed") == 0)
++ return varnish_submit_derive(conf->instance, "ban", "total_operations",
++ "lurker_obj_killed", val);
++ else if (strcmp(name, "bans_lurker_tested") == 0)
++ return varnish_submit_derive(conf->instance, "ban", "total_operations",
++ "lurker_tested", val);
++ else if (strcmp(name, "bans_lurker_tests_tested") == 0)
++ return varnish_submit_derive(conf->instance, "ban", "total_operations",
++ "lurker_tests_tested", val);
++ else if (strcmp(name, "bans_obj_killed") == 0)
++ return varnish_submit_derive(conf->instance, "ban", "total_operations",
++ "obj_killed", val);
++ else if (strcmp(name, "bans_persisted_bytes") == 0)
++ return varnish_submit_derive(conf->instance, "ban", "total_bytes",
++ "persisted_bytes", val);
++ else if (strcmp(name, "bans_persisted_fragmentation") == 0)
++ return varnish_submit_derive(conf->instance, "ban", "total_bytes",
++ "persisted_fragmentation", val);
++ else if (strcmp(name, "bans_tests_tested") == 0)
++ return varnish_submit_derive(conf->instance, "ban", "total_operations",
++ "tests_tested", val);
+ }
+ #endif
+
+@@ -411,6 +490,15 @@ static int varnish_monitor(void *priv,
+ else if (strcmp(name, "sess_herd") == 0)
+ return varnish_submit_derive(conf->instance, "session",
+ "total_operations", "herd", val);
++#if HAVE_VARNISH_V4 || HAVE_VARNISH_V5
++ else if (strcmp(name, "sess_closed_err") == 0)
++ return varnish_submit_derive(conf->instance, "session",
++ "total_operations", "closed_err", val);
++ else if (strcmp(name, "sess_dropped") == 0)
++ return varnish_submit_derive(conf->instance, "session",
++ "total_operations", "dropped_for_thread",
++ val);
++#endif
+ }
+
+ if (conf->collect_shm) {
+@@ -510,12 +598,18 @@ static int varnish_monitor(void *priv,
+ else if (strcmp(name, "s_req_bodybytes") == 0)
+ return varnish_submit_derive(conf->instance, "totals", "total_bytes",
+ "req_body", val);
++ else if (strcmp(name, "s_req_protobytes") == 0)
++ return varnish_submit_derive(conf->instance, "totals", "total_bytes",
++ "req_proto", val);
+ else if (strcmp(name, "s_resp_hdrbytes") == 0)
+ return varnish_submit_derive(conf->instance, "totals", "total_bytes",
+ "resp_header", val);
+ else if (strcmp(name, "s_resp_bodybytes") == 0)
+ return varnish_submit_derive(conf->instance, "totals", "total_bytes",
+ "resp_body", val);
++ else if (strcmp(name, "s_resp_protobytes") == 0)
++ return varnish_submit_derive(conf->instance, "totals", "total_bytes",
++ "resp_proto", val);
+ else if (strcmp(name, "s_pipe_hdrbytes") == 0)
+ return varnish_submit_derive(conf->instance, "totals", "total_bytes",
+ "pipe_header", val);
+@@ -580,8 +674,8 @@ static int varnish_monitor(void *priv,
+ return varnish_submit_derive(conf->instance, "workers", "total_threads",
+ "dropped", val);
+ else if (strcmp(name, "thread_queue_len") == 0)
+- return varnish_submit_derive(conf->instance, "workers", "queue_length",
+- "threads", val);
++ return varnish_submit_gauge(conf->instance, "workers", "queue_length",
++ "threads", val);
+ else if (strcmp(name, "n_wrk") == 0)
+ return varnish_submit_gauge(conf->instance, "workers", "threads",
+ "worker", val);
+@@ -609,9 +703,17 @@ static int varnish_monitor(void *priv,
+ else if (strcmp(name, "n_wrk_lqueue") == 0)
+ return varnish_submit_derive(conf->instance, "workers", "total_requests",
+ "queue_length", val);
++#if HAVE_VARNISH_V4 || HAVE_VARNISH_V5
++ else if (strcmp(name, "pools") == 0)
++ return varnish_submit_gauge(conf->instance, "workers", "pools", "pools",
++ val);
++ else if (strcmp(name, "busy_killed") == 0)
++ return varnish_submit_derive(conf->instance, "workers", "http_requests",
++ "busy_killed", val);
++#endif
+ }
+
+-#if HAVE_VARNISH_V4
++#if HAVE_VARNISH_V4 || HAVE_VARNISH_V5
+ if (conf->collect_vsm) {
+ if (strcmp(name, "vsm_free") == 0)
+ return varnish_submit_gauge(conf->instance, "vsm", "bytes", "free", val);
+@@ -627,9 +729,262 @@ static int varnish_monitor(void *priv,
+ return varnish_submit_derive(conf->instance, "vsm", "total_bytes",
+ "overflowed", val);
+ }
++
++ if (conf->collect_vbe) {
++ /* @TODO figure out the collectd type for bitmap
++ if (strcmp(name, "happy") == 0)
++ return varnish_submit_derive(conf->instance, "vbe",
++ "bitmap", "happy_hprobes", val);
++ */
++ if (strcmp(name, "bereq_hdrbytes") == 0)
++ return varnish_submit_derive(conf->instance, "vbe", "total_bytes",
++ "bereq_hdrbytes", val);
++ else if (strcmp(name, "bereq_bodybytes") == 0)
++ return varnish_submit_derive(conf->instance, "vbe", "total_bytes",
++ "bereq_bodybytes", val);
++ else if (strcmp(name, "bereq_protobytes") == 0)
++ return varnish_submit_derive(conf->instance, "vbe", "total_bytes",
++ "bereq_protobytes", val);
++ else if (strcmp(name, "beresp_hdrbytes") == 0)
++ return varnish_submit_derive(conf->instance, "vbe", "total_bytes",
++ "beresp_hdrbytes", val);
++ else if (strcmp(name, "beresp_bodybytes") == 0)
++ return varnish_submit_derive(conf->instance, "vbe", "total_bytes",
++ "beresp_bodybytes", val);
++ else if (strcmp(name, "beresp_protobytes") == 0)
++ return varnish_submit_derive(conf->instance, "vbe", "total_bytes",
++ "beresp_protobytes", val);
++ else if (strcmp(name, "pipe_hdrbytes") == 0)
++ return varnish_submit_derive(conf->instance, "vbe", "total_bytes",
++ "pipe_hdrbytes", val);
++ else if (strcmp(name, "pipe_out") == 0)
++ return varnish_submit_derive(conf->instance, "vbe", "total_bytes",
++ "pipe_out", val);
++ else if (strcmp(name, "pipe_in") == 0)
++ return varnish_submit_derive(conf->instance, "vbe", "total_bytes",
++ "pipe_in", val);
++ else if (strcmp(name, "conn") == 0)
++ return varnish_submit_derive(conf->instance, "vbe", "connections",
++ "c_conns", val);
++ else if (strcmp(name, "req") == 0)
++ return varnish_submit_derive(conf->instance, "vbe", "http_requests",
++ "b_reqs", val);
++ }
++
++ /* All Stevedores support these counters */
++ if (conf->collect_sma || conf->collect_smf || conf->collect_mse) {
++
++ char category[4];
++ if (conf->collect_sma)
++ strncpy(category, "sma", 4);
++ else if (conf->collect_smf)
++ strncpy(category, "smf", 4);
++ else
++ strncpy(category, "mse", 4);
++
++ if (strcmp(name, "c_req") == 0)
++ return varnish_submit_derive(conf->instance, category, "total_operations",
++ "alloc_req", val);
++ else if (strcmp(name, "c_fail") == 0)
++ return varnish_submit_derive(conf->instance, category, "total_operations",
++ "alloc_fail", val);
++ else if (strcmp(name, "c_bytes") == 0)
++ return varnish_submit_derive(conf->instance, category, "total_bytes",
++ "bytes_allocated", val);
++ else if (strcmp(name, "c_freed") == 0)
++ return varnish_submit_derive(conf->instance, category, "total_bytes",
++ "bytes_freed", val);
++ else if (strcmp(name, "g_alloc") == 0)
++ return varnish_submit_derive(conf->instance, category, "total_operations",
++ "alloc_outstanding", val);
++ else if (strcmp(name, "g_bytes") == 0)
++ return varnish_submit_gauge(conf->instance, category, "bytes",
++ "bytes_outstanding", val);
++ else if (strcmp(name, "g_space") == 0)
++ return varnish_submit_gauge(conf->instance, category, "bytes",
++ "bytes_available", val);
++ }
++
++ /* No SMA specific counters */
++
++ if (conf->collect_smf) {
++ if (strcmp(name, "g_smf") == 0)
++ return varnish_submit_gauge(conf->instance, "smf", "objects",
++ "n_struct_smf", val);
++ else if (strcmp(name, "g_smf_frag") == 0)
++ return varnish_submit_gauge(conf->instance, "smf", "objects",
++ "n_small_free_smf", val);
++ else if (strcmp(name, "g_smf_large") == 0)
++ return varnish_submit_gauge(conf->instance, "smf", "objects",
++ "n_large_free_smf", val);
++ }
++
++ if (conf->collect_mgt) {
++ if (strcmp(name, "uptime") == 0)
++ return varnish_submit_gauge(conf->instance, "mgt", "uptime",
++ "mgt_proc_uptime", val);
++ else if (strcmp(name, "child_start") == 0)
++ return varnish_submit_derive(conf->instance, "mgt", "total_operations",
++ "child_start", val);
++ else if (strcmp(name, "child_exit") == 0)
++ return varnish_submit_derive(conf->instance, "mgt", "total_operations",
++ "child_exit", val);
++ else if (strcmp(name, "child_stop") == 0)
++ return varnish_submit_derive(conf->instance, "mgt", "total_operations",
++ "child_stop", val);
++ else if (strcmp(name, "child_died") == 0)
++ return varnish_submit_derive(conf->instance, "mgt", "total_operations",
++ "child_died", val);
++ else if (strcmp(name, "child_dump") == 0)
++ return varnish_submit_derive(conf->instance, "mgt", "total_operations",
++ "child_dump", val);
++ else if (strcmp(name, "child_panic") == 0)
++ return varnish_submit_derive(conf->instance, "mgt", "total_operations",
++ "child_panic", val);
++ }
++
++ if (conf->collect_lck) {
++ if (strcmp(name, "creat") == 0)
++ return varnish_submit_gauge(conf->instance, "lck", "objects", "created",
++ val);
++ else if (strcmp(name, "destroy") == 0)
++ return varnish_submit_gauge(conf->instance, "lck", "objects", "destroyed",
++ val);
++ else if (strcmp(name, "locks") == 0)
++ return varnish_submit_derive(conf->instance, "lck", "total_operations",
++ "lock_ops", val);
++ }
++
++ if (conf->collect_mempool) {
++ if (strcmp(name, "live") == 0)
++ return varnish_submit_gauge(conf->instance, "mempool", "objects",
++ "in_use", val);
++ else if (strcmp(name, "pool") == 0)
++ return varnish_submit_gauge(conf->instance, "mempool", "objects",
++ "in_pool", val);
++ else if (strcmp(name, "sz_wanted") == 0)
++ return varnish_submit_gauge(conf->instance, "mempool", "bytes",
++ "size_requested", val);
++ else if (strcmp(name, "sz_actual") == 0)
++ return varnish_submit_gauge(conf->instance, "mempool", "bytes",
++ "size_allocated", val);
++ else if (strcmp(name, "allocs") == 0)
++ return varnish_submit_derive(conf->instance, "mempool",
++ "total_operations", "allocations", val);
++ else if (strcmp(name, "frees") == 0)
++ return varnish_submit_derive(conf->instance, "mempool",
++ "total_operations", "frees", val);
++ else if (strcmp(name, "recycle") == 0)
++ return varnish_submit_gauge(conf->instance, "mempool", "objects",
++ "recycled", val);
++ else if (strcmp(name, "timeout") == 0)
++ return varnish_submit_gauge(conf->instance, "mempool", "objects",
++ "timed_out", val);
++ else if (strcmp(name, "toosmall") == 0)
++ return varnish_submit_gauge(conf->instance, "mempool", "objects",
++ "too_small", val);
++ else if (strcmp(name, "surplus") == 0)
++ return varnish_submit_gauge(conf->instance, "mempool", "objects",
++ "surplus", val);
++ else if (strcmp(name, "randry") == 0)
++ return varnish_submit_gauge(conf->instance, "mempool", "objects",
++ "ran_dry", val);
++ }
++
++ if (conf->collect_mse) {
++ if (strcmp(name, "c_full") == 0)
++ return varnish_submit_derive(conf->instance, "mse", "total_operations",
++ "full_allocs", val);
++ else if (strcmp(name, "c_truncated") == 0)
++ return varnish_submit_derive(conf->instance, "mse", "total_operations",
++ "truncated_allocs", val);
++ else if (strcmp(name, "c_expanded") == 0)
++ return varnish_submit_derive(conf->instance, "mse", "total_operations",
++ "expanded_allocs", val);
++ else if (strcmp(name, "c_failed") == 0)
++ return varnish_submit_derive(conf->instance, "mse", "total_operations",
++ "failed_allocs", val);
++ else if (strcmp(name, "c_bytes") == 0)
++ return varnish_submit_derive(conf->instance, "mse", "total_bytes",
++ "bytes_allocated", val);
++ else if (strcmp(name, "c_freed") == 0)
++ return varnish_submit_derive(conf->instance, "mse", "total_bytes",
++ "bytes_freed", val);
++ else if (strcmp(name, "g_fo_alloc") == 0)
++ return varnish_submit_derive(conf->instance, "mse", "total_operations",
++ "fo_allocs_outstanding", val);
++ else if (strcmp(name, "g_fo_bytes") == 0)
++ return varnish_submit_gauge(conf->instance, "mse", "bytes",
++ "fo_bytes_outstanding", val);
++ else if (strcmp(name, "g_membuf_alloc") == 0)
++ return varnish_submit_gauge(conf->instance, "mse", "objects",
++ "membufs_allocated", val);
++ else if (strcmp(name, "g_membuf_inuse") == 0)
++ return varnish_submit_gauge(conf->instance, "mse", "objects",
++ "membufs_inuse", val);
++ else if (strcmp(name, "g_bans_bytes") == 0)
++ return varnish_submit_gauge(conf->instance, "mse", "bytes",
++ "persisted_banspace_used", val);
++ else if (strcmp(name, "g_bans_space") == 0)
++ return varnish_submit_gauge(conf->instance, "mse", "bytes",
++ "persisted_banspace_available", val);
++ else if (strcmp(name, "g_bans_persisted") == 0)
++ return varnish_submit_derive(conf->instance, "mse", "total_operations",
++ "bans_persisted", val);
++ else if (strcmp(name, "g_bans_lost") == 0)
++ return varnish_submit_derive(conf->instance, "mse", "total_operations",
++ "bans_lost", val);
++
++ /* mse seg */
++ else if (strcmp(name, "g_journal_bytes") == 0)
++ return varnish_submit_gauge(conf->instance, "mse_reg", "bytes",
++ "journal_bytes_used", val);
++ else if (strcmp(name, "g_journal_space") == 0)
++ return varnish_submit_gauge(conf->instance, "mse_reg", "bytes",
++ "journal_bytes_free", val);
++
++ /* mse segagg */
++ else if (strcmp(name, "g_bigspace") == 0)
++ return varnish_submit_gauge(conf->instance, "mse_segagg", "bytes",
++ "big_extents_bytes_available", val);
++ else if (strcmp(name, "g_extfree") == 0)
++ return varnish_submit_gauge(conf->instance, "mse_segagg", "objects",
++ "free_extents", val);
++ else if (strcmp(name, "g_sparenode") == 0)
++ return varnish_submit_gauge(conf->instance, "mse_segagg", "objects",
++ "spare_nodes_available", val);
++ else if (strcmp(name, "g_objnode") == 0)
++ return varnish_submit_gauge(conf->instance, "mse_segagg", "objects",
++ "object_nodes_in_use", val);
++ else if (strcmp(name, "g_extnode") == 0)
++ return varnish_submit_gauge(conf->instance, "mse_segagg", "objects",
++ "extent_nodes_in_use", val);
++ else if (strcmp(name, "g_bigextfree") == 0)
++ return varnish_submit_gauge(conf->instance, "mse_segagg", "objects",
++ "free_big_extents", val);
++ else if (strcmp(name, "c_pruneloop") == 0)
++ return varnish_submit_derive(conf->instance, "mse_segagg",
++ "total_operations", "prune_loops", val);
++ else if (strcmp(name, "c_pruned") == 0)
++ return varnish_submit_derive(conf->instance, "mse_segagg",
++ "total_objects", "pruned_objects", val);
++ else if (strcmp(name, "c_spared") == 0)
++ return varnish_submit_derive(conf->instance, "mse_segagg",
++ "total_operations", "spared_objects", val);
++ else if (strcmp(name, "c_skipped") == 0)
++ return varnish_submit_derive(conf->instance, "mse_segagg",
++ "total_operations", "missed_objects", val);
++ else if (strcmp(name, "c_nuked") == 0)
++ return varnish_submit_derive(conf->instance, "mse_segagg",
++ "total_operations", "nuked_objects", val);
++ else if (strcmp(name, "c_sniped") == 0)
++ return varnish_submit_derive(conf->instance, "mse_segagg",
++ "total_operations", "sniped_objects", val);
++ }
++
+ #endif
+
+- return (0);
++ return 0;
+
+ } /* }}} static int varnish_monitor */
+ #else /* if HAVE_VARNISH_V2 */
+@@ -971,21 +1326,32 @@ static void varnish_monitor(const user_config_t *conf, /* {{{ */
+ } /* }}} void varnish_monitor */
+ #endif
+
+-#if HAVE_VARNISH_V3 || HAVE_VARNISH_V4
++#if HAVE_VARNISH_V3 || HAVE_VARNISH_V4 || HAVE_VARNISH_V5
+ static int varnish_read(user_data_t *ud) /* {{{ */
+ {
++#if HAVE_VARNISH_V3 || HAVE_VARNISH_V4
+ struct VSM_data *vd;
+- const c_varnish_stats_t *stats;
+ _Bool ok;
++ const c_varnish_stats_t *stats;
++#elif HAVE_VARNISH_V5
++ struct vsm *vd;
++ struct vsc *vsc;
++ int vsm_status;
++#endif
+
+ user_config_t *conf;
+
+ if ((ud == NULL) || (ud->data == NULL))
+- return (EINVAL);
++ return EINVAL;
+
+ conf = ud->data;
+
+ vd = VSM_New();
++
++#if HAVE_VARNISH_V5
++ vsc = VSC_New();
++#endif
++
+ #if HAVE_VARNISH_V3
+ VSC_Setup(vd);
+ #endif
+@@ -993,48 +1359,85 @@ static int varnish_read(user_data_t *ud) /* {{{ */
+ if (conf->instance != NULL) {
+ int status;
+
++#if HAVE_VARNISH_V3 || HAVE_VARNISH_V4
+ status = VSM_n_Arg(vd, conf->instance);
++#elif HAVE_VARNISH_V5
++ status = VSM_Arg(vd, 'n', conf->instance);
++#endif
++
+ if (status < 0) {
++#if HAVE_VARNISH_V3 || HAVE_VARNISH_V4
+ VSM_Delete(vd);
+- ERROR("varnish plugin: VSM_n_Arg (\"%s\") failed "
++#elif HAVE_VARNISH_V5
++ VSC_Destroy(&vsc, vd);
++ VSM_Destroy(&vd);
++#endif
++ ERROR("varnish plugin: VSM_Arg (\"%s\") failed "
+ "with status %i.",
+ conf->instance, status);
+- return (-1);
++ return -1;
+ }
+ }
+
+ #if HAVE_VARNISH_V3
+ ok = (VSC_Open(vd, /* diag = */ 1) == 0);
+-#else /* if HAVE_VARNISH_V4 */
++#elif HAVE_VARNISH_V4
+ ok = (VSM_Open(vd) == 0);
+ #endif
++#if HAVE_VARNISH_V3 || HAVE_VARNISH_V4
+ if (!ok) {
+ VSM_Delete(vd);
+ ERROR("varnish plugin: Unable to open connection.");
+-
+- return (-1);
++ return -1;
+ }
++#endif
+
+ #if HAVE_VARNISH_V3
+ stats = VSC_Main(vd);
+-#else /* if HAVE_VARNISH_V4 */
++#elif HAVE_VARNISH_V4
+ stats = VSC_Main(vd, NULL);
+ #endif
++#if HAVE_VARNISH_V3 || HAVE_VARNISH_V4
+ if (!stats) {
+ VSM_Delete(vd);
+ ERROR("varnish plugin: Unable to get statistics.");
++ return -1;
++ }
++#endif
++
++#if HAVE_VARNISH_V5
++ if (VSM_Attach(vd, STDERR_FILENO)) {
++ ERROR("varnish plugin: Cannot attach to varnish. %s", VSM_Error(vd));
++ VSC_Destroy(&vsc, vd);
++ VSM_Destroy(&vd);
++ return -1;
++ }
+
+- return (-1);
++ vsm_status = VSM_Status(vd);
++ if (vsm_status & ~(VSM_MGT_RUNNING | VSM_WRK_RUNNING)) {
++ ERROR("varnish plugin: Unable to get statistics.");
++ VSC_Destroy(&vsc, vd);
++ VSM_Destroy(&vd);
++ return -1;
+ }
++#endif
+
+ #if HAVE_VARNISH_V3
+ VSC_Iter(vd, varnish_monitor, conf);
+-#else /* if HAVE_VARNISH_V4 */
++#elif HAVE_VARNISH_V4
+ VSC_Iter(vd, NULL, varnish_monitor, conf);
++#elif HAVE_VARNISH_V5
++ VSC_Iter(vsc, vd, varnish_monitor, conf);
+ #endif
++
++#if HAVE_VARNISH_V3 || HAVE_VARNISH_V4
+ VSM_Delete(vd);
++#elif HAVE_VARNISH_V5
++ VSC_Destroy(&vsc, vd);
++ VSM_Destroy(&vd);
++#endif
+
+- return (0);
++ return 0;
+ } /* }}} */
+ #else /* if HAVE_VARNISH_V2 */
+ static int varnish_read(user_data_t *ud) /* {{{ */
+@@ -1044,7 +1447,7 @@ static int varnish_read(user_data_t *ud) /* {{{ */
+ user_config_t *conf;
+
+ if ((ud == NULL) || (ud->data == NULL))
+- return (EINVAL);
++ return EINVAL;
+
+ conf = ud->data;
+
+@@ -1052,12 +1455,12 @@ static int varnish_read(user_data_t *ud) /* {{{ */
+ if (stats == NULL) {
+ ERROR("Varnish plugin : unable to load statistics");
+
+- return (-1);
++ return -1;
+ }
+
+ varnish_monitor(conf, stats);
+
+- return (0);
++ return 0;
+ } /* }}} */
+ #endif
+
+@@ -1075,7 +1478,7 @@ static void varnish_config_free(void *ptr) /* {{{ */
+ static int varnish_config_apply_default(user_config_t *conf) /* {{{ */
+ {
+ if (conf == NULL)
+- return (EINVAL);
++ return EINVAL;
+
+ conf->collect_backend = 1;
+ conf->collect_cache = 1;
+@@ -1096,21 +1499,29 @@ static int varnish_config_apply_default(user_config_t *conf) /* {{{ */
+ conf->collect_shm = 1;
+ #if HAVE_VARNISH_V2
+ conf->collect_sm = 0;
++#endif
++#if HAVE_VARNISH_V2 || HAVE_VARNISH_V4 || HAVE_VARNISH_V5
+ conf->collect_sma = 0;
+ #endif
+ conf->collect_sms = 0;
+ conf->collect_struct = 0;
+ conf->collect_totals = 0;
+-#if HAVE_VARNISH_V3 || HAVE_VARNISH_V4
++#if HAVE_VARNISH_V3 || HAVE_VARNISH_V4 || HAVE_VARNISH_V5
+ conf->collect_uptime = 0;
+ #endif
+ conf->collect_vcl = 0;
+ conf->collect_workers = 0;
+-#if HAVE_VARNISH_V4
++#if HAVE_VARNISH_V4 || HAVE_VARNISH_V5
+ conf->collect_vsm = 0;
++ conf->collect_lck = 0;
++ conf->collect_mempool = 0;
++ conf->collect_mgt = 0;
++ conf->collect_smf = 0;
++ conf->collect_vbe = 0;
++ conf->collect_mse = 0;
+ #endif
+
+- return (0);
++ return 0;
+ } /* }}} int varnish_config_apply_default */
+
+ static int varnish_init(void) /* {{{ */
+@@ -1118,11 +1529,11 @@ static int varnish_init(void) /* {{{ */
+ user_config_t *conf;
+
+ if (have_instance)
+- return (0);
++ return 0;
+
+ conf = calloc(1, sizeof(*conf));
+ if (conf == NULL)
+- return (ENOMEM);
++ return ENOMEM;
+
+ /* Default settings: */
+ conf->instance = NULL;
+@@ -1133,11 +1544,12 @@ static int varnish_init(void) /* {{{ */
+ /* group = */ "varnish",
+ /* name = */ "varnish/localhost",
+ /* callback = */ varnish_read,
+- /* interval = */ 0, &(user_data_t){
+- .data = conf, .free_func = varnish_config_free,
+- });
++ /* interval = */ 0,
++ &(user_data_t){
++ .data = conf, .free_func = varnish_config_free,
++ });
+
+- return (0);
++ return 0;
+ } /* }}} int varnish_init */
+
+ static int varnish_config_instance(const oconfig_item_t *ci) /* {{{ */
+@@ -1147,7 +1559,7 @@ static int varnish_config_instance(const oconfig_item_t *ci) /* {{{ */
+
+ conf = calloc(1, sizeof(*conf));
+ if (conf == NULL)
+- return (ENOMEM);
++ return ENOMEM;
+ conf->instance = NULL;
+
+ varnish_config_apply_default(conf);
+@@ -1158,7 +1570,7 @@ static int varnish_config_instance(const oconfig_item_t *ci) /* {{{ */
+ status = cf_util_get_string(ci, &conf->instance);
+ if (status != 0) {
+ sfree(conf);
+- return (status);
++ return status;
+ }
+ assert(conf->instance != NULL);
+
+@@ -1170,7 +1582,7 @@ static int varnish_config_instance(const oconfig_item_t *ci) /* {{{ */
+ WARNING("Varnish plugin: \"Instance\" blocks accept only "
+ "one argument.");
+ sfree(conf);
+- return (EINVAL);
++ return EINVAL;
+ }
+
+ for (int i = 0; i < ci->children_num; i++) {
+@@ -1218,11 +1630,11 @@ static int varnish_config_instance(const oconfig_item_t *ci) /* {{{ */
+ else if (strcasecmp("CollectSMS", child->key) == 0)
+ cf_util_get_boolean(child, &conf->collect_sms);
+ else if (strcasecmp("CollectSMA", child->key) == 0)
+-#if HAVE_VARNISH_V2
++#if HAVE_VARNISH_V2 || HAVE_VARNISH_V4 || HAVE_VARNISH_V5
+ cf_util_get_boolean(child, &conf->collect_sma);
+ #else
+ WARNING("Varnish plugin: \"%s\" is available for Varnish %s only.",
+- child->key, "v2");
++ child->key, "v2 and v4");
+ #endif
+ else if (strcasecmp("CollectSM", child->key) == 0)
+ #if HAVE_VARNISH_V2
+@@ -1236,7 +1648,7 @@ static int varnish_config_instance(const oconfig_item_t *ci) /* {{{ */
+ else if (strcasecmp("CollectTotals", child->key) == 0)
+ cf_util_get_boolean(child, &conf->collect_totals);
+ else if (strcasecmp("CollectUptime", child->key) == 0)
+-#if HAVE_VARNISH_V3 || HAVE_VARNISH_V4
++#if HAVE_VARNISH_V3 || HAVE_VARNISH_V4 || HAVE_VARNISH_V5
+ cf_util_get_boolean(child, &conf->collect_uptime);
+ #else
+ WARNING("Varnish plugin: \"%s\" is available for Varnish %s only.",
+@@ -1247,11 +1659,60 @@ static int varnish_config_instance(const oconfig_item_t *ci) /* {{{ */
+ else if (strcasecmp("CollectWorkers", child->key) == 0)
+ cf_util_get_boolean(child, &conf->collect_workers);
+ else if (strcasecmp("CollectVSM", child->key) == 0)
+-#if HAVE_VARNISH_V4
++#if HAVE_VARNISH_V4 || HAVE_VARNISH_V5
+ cf_util_get_boolean(child, &conf->collect_vsm);
+ #else
+ WARNING("Varnish plugin: \"%s\" is available for Varnish %s only.",
+ child->key, "v4");
++#endif
++ else if (strcasecmp("CollectLock", child->key) == 0)
++#if HAVE_VARNISH_V4 || HAVE_VARNISH_V5
++ cf_util_get_boolean(child, &conf->collect_lck);
++#else
++ WARNING("Varnish plugin: \"%s\" is available for Varnish %s only.",
++ child->key, "v4");
++#endif
++ else if (strcasecmp("CollectMempool", child->key) == 0)
++#if HAVE_VARNISH_V4 || HAVE_VARNISH_V5
++ cf_util_get_boolean(child, &conf->collect_mempool);
++#else
++ WARNING("Varnish plugin: \"%s\" is available for Varnish %s only.",
++ child->key, "v4");
++#endif
++ else if (strcasecmp("CollectManagement", child->key) == 0)
++#if HAVE_VARNISH_V4 || HAVE_VARNISH_V5
++ cf_util_get_boolean(child, &conf->collect_mgt);
++#else
++ WARNING("Varnish plugin: \"%s\" is available for Varnish %s only.",
++ child->key, "v4");
++#endif
++ else if (strcasecmp("CollectSMF", child->key) == 0)
++#if HAVE_VARNISH_V4 || HAVE_VARNISH_V5
++ cf_util_get_boolean(child, &conf->collect_smf);
++#else
++ WARNING("Varnish plugin: \"%s\" is available for Varnish %s only.",
++ child->key, "v4");
++#endif
++ else if (strcasecmp("CollectSMF", child->key) == 0)
++#if HAVE_VARNISH_V4 || HAVE_VARNISH_V5
++ cf_util_get_boolean(child, &conf->collect_smf);
++#else
++ WARNING("Varnish plugin: \"%s\" is available for Varnish %s only.",
++ child->key, "v4");
++#endif
++ else if (strcasecmp("CollectVBE", child->key) == 0)
++#if HAVE_VARNISH_V4 || HAVE_VARNISH_V5
++ cf_util_get_boolean(child, &conf->collect_vbe);
++#else
++ WARNING("Varnish plugin: \"%s\" is available for Varnish %s only.",
++ child->key, "v4");
++#endif
++ else if (strcasecmp("CollectMSE", child->key) == 0)
++#if HAVE_VARNISH_V4 || HAVE_VARNISH_V5
++ cf_util_get_boolean(child, &conf->collect_mse);
++#else
++ WARNING("Varnish plugin: \"%s\" is available for Varnish %s only.",
++ child->key, "Plus v4");
+ #endif
+ else {
+ WARNING("Varnish plugin: Ignoring unknown "
+@@ -1275,38 +1736,44 @@ static int varnish_config_instance(const oconfig_item_t *ci) /* {{{ */
+ #endif
+ && !conf->collect_session && !conf->collect_shm && !conf->collect_sms
+ #if HAVE_VARNISH_V2
+- && !conf->collect_sma && !conf->collect_sm
++ && !conf->collect_sm
++#endif
++#if HAVE_VARNISH_V2 || HAVE_VARNISH_V4 || HAVE_VARNISH_V5
++ && !conf->collect_sma
+ #endif
+ && !conf->collect_struct && !conf->collect_totals
+-#if HAVE_VARNISH_V3 || HAVE_VARNISH_V4
++#if HAVE_VARNISH_V3 || HAVE_VARNISH_V4 || HAVE_VARNISH_V5
+ && !conf->collect_uptime
+ #endif
+ && !conf->collect_vcl && !conf->collect_workers
+-#if HAVE_VARNISH_V4
+- && !conf->collect_vsm
++#if HAVE_VARNISH_V4 || HAVE_VARNISH_V5
++ && !conf->collect_vsm && !conf->collect_vbe && !conf->collect_smf &&
++ !conf->collect_mgt && !conf->collect_lck && !conf->collect_mempool &&
++ !conf->collect_mse
+ #endif
+ ) {
+ WARNING("Varnish plugin: No metric has been configured for "
+ "instance \"%s\". Disabling this instance.",
+ (conf->instance == NULL) ? "localhost" : conf->instance);
+ sfree(conf);
+- return (EINVAL);
++ return EINVAL;
+ }
+
+- ssnprintf(callback_name, sizeof(callback_name), "varnish/%s",
+- (conf->instance == NULL) ? "localhost" : conf->instance);
++ snprintf(callback_name, sizeof(callback_name), "varnish/%s",
++ (conf->instance == NULL) ? "localhost" : conf->instance);
+
+ plugin_register_complex_read(
+ /* group = */ "varnish",
+ /* name = */ callback_name,
+ /* callback = */ varnish_read,
+- /* interval = */ 0, &(user_data_t){
+- .data = conf, .free_func = varnish_config_free,
+- });
++ /* interval = */ 0,
++ &(user_data_t){
++ .data = conf, .free_func = varnish_config_free,
++ });
+
+ have_instance = 1;
+
+- return (0);
++ return 0;
+ } /* }}} int varnish_config_instance */
+
+ static int varnish_config(oconfig_item_t *ci) /* {{{ */
+@@ -1323,7 +1790,7 @@ static int varnish_config(oconfig_item_t *ci) /* {{{ */
+ }
+ }
+
+- return (0);
++ return 0;
+ } /* }}} int varnish_config */
+
+ void module_register(void) /* {{{ */
+@@ -1331,5 +1798,3 @@ void module_register(void) /* {{{ */
+ plugin_register_complex_config("varnish", varnish_config);
+ plugin_register_init("varnish", varnish_init);
+ } /* }}} */
+-
+-/* vim: set sw=8 noet fdm=marker : */
diff --git a/app-metrics/collectd/files/collectd.confd-r2 b/app-metrics/collectd/files/collectd.confd-r2
new file mode 100644
index 000000000000..835936d5bce2
--- /dev/null
+++ b/app-metrics/collectd/files/collectd.confd-r2
@@ -0,0 +1,49 @@
+# Distributed under the terms of the GNU General Public License v2
+
+# Nice value used to launch collectd, to change priority of the process. As
+# you usually we want to run it in background, a default of 5 is used.
+#
+#COLLECTD_NICELEVEL=5
+
+# Location of configuration file. Modify if you don't like the standard
+# one.
+#
+#COLLECTD_CONFIGFILE="/etc/collectd.conf"
+
+# File used to store the PID file. Usually you won't need to touch it.
+# If you are going to change PID file location make sure that *only*
+# root is allowed to write into that directory.
+#
+#COLLECTD_PIDFILE="/run/collectd.pid"
+
+# User to run collectd as (default is collectd, change to root or give
+# collectd user appropriate privileges if you use one of the plugins that
+# require it, as e.g. ping or iptables plugins)
+#
+#COLLECTD_USER="collectd"
+
+# The default collectd UNIX socket location in /run/collectd is now
+# maintained via tmpfiles service. Therefore, the COLLECTD_GROUP setting
+# isn't used anymore.
+# If you are going to change UNIX socket location or change COLLECTD_USER
+# setting above, make sure you overwrite /usr/lib/tmpfiles.d/collectd.conf
+# via copy in /etc/tmpfiles.d/collectd.conf to match your setup.
+#COLLECTD_GROUP="collectd"
+
+# 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.
+#COLLECTD_SSDARGS="--wait 1000"
+
+# The termination timeout (start-stop-daemon parameter "retry") ensures
+# that the service will be terminated within a given time (25 + 5 seconds
+# per default) when you are stopping the service.
+#COLLECTD_TERMTIMEOUT="TERM/25/KILL/5"
+
+# Options to collectd
+# See collectd(8) for more details
+# Notes:
+# * Do not specify another PIDFILE but use the variable above to change the location
+# * Do not specify another CONFIGFILE but use the variable above to change the location
+#COLLECTD_OPTS=""
diff --git a/app-metrics/collectd/files/collectd.initd-r2 b/app-metrics/collectd/files/collectd.initd-r2
new file mode 100644
index 000000000000..0a4ca71494f6
--- /dev/null
+++ b/app-metrics/collectd/files/collectd.initd-r2
@@ -0,0 +1,70 @@
+#!/sbin/openrc-run
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+COLLECTD_CONFIGFILE=${COLLECTD_CONFIGFILE:-"/etc/collectd.conf"}
+COLLECTD_PIDFILE=${COLLECTD_PIDFILE:-"/run/collectd.pid"}
+COLLECTD_NICELEVEL=${COLLECTD_NICELEVEL:-5}
+COLLECTD_USER=${COLLECTD_USER:-"collectd"}
+COLLECTD_GROUP=${COLLECTD_GROUP:-"collectd"}
+COLLECTD_SSDARGS=${COLLECTD_SSDARGS:-"--wait 1000"}
+COLLECTD_TERMTIMEOUT=${COLLECTD_TERMTIMEOUT:-"TERM/25/KILL/5"}
+COLLECTD_OPTS=${COLLECTD_OPTS:-""}
+
+command="/usr/sbin/collectd"
+command_args="${COLLECTD_OPTS} -C \"${COLLECTD_CONFIGFILE}\" -f"
+command_background=true
+command_user="${COLLECTD_USER}"
+start_stop_daemon_args="${COLLECTD_SSDARGS} --nice ${COLLECTD_NICELEVEL}"
+pidfile="${COLLECTD_PIDFILE}"
+retry="${COLLECTD_TERMTIMEOUT}"
+
+extra_commands="configtest"
+description_configtest="Run collectd's internal config check."
+
+required_files="\"${COLLECTD_CONFIGFILE}\""
+
+depend() {
+ use dns
+}
+
+_checkconfig() {
+ if [ $(sed '/^$\|^#/d' "${COLLECTD_CONFIGFILE}" | grep 'LoadPlugin[[:space:]]\+oracle' | wc -l) -ge 1 ] ; then
+ if [ -e /etc/env.d/50oracle-instantclient-basic ] ; then
+ . /etc/env.d/50oracle-instantclient-basic
+ export ORACLE_HOME
+ export TNS_ADMIN
+ else
+ ewarn "Unable to set Oracle environment, Oracle plugin wont work"
+ fi
+ fi
+
+ local test_command="${command} -t -C \"${COLLECTD_CONFIGFILE}\""
+
+ eval ${test_command} 1>/dev/null 2>&1
+ ret=$?
+ if [ $ret -ne 0 ]; then
+ eerror "${SVCNAME} has detected an error in your configuration:"
+ eval ${test_command}
+ fi
+
+ return $ret
+}
+
+configtest() {
+ ebegin "Checking ${SVCNAME} configuration"
+ _checkconfig
+ eend $?
+}
+
+start_pre() {
+ if [ "${RC_CMD}" != "restart" ]; then
+ configtest || return 1
+ fi
+}
+
+stop_pre() {
+ if [ "${RC_CMD}" = "restart" ]; then
+ configtest || return 1
+ fi
+}
diff --git a/app-metrics/collectd/files/collectd.logrotate b/app-metrics/collectd/files/collectd.logrotate
new file mode 100644
index 000000000000..5d344f6208f1
--- /dev/null
+++ b/app-metrics/collectd/files/collectd.logrotate
@@ -0,0 +1,9 @@
+#
+# /etc/logrotate.d/collectd
+#
+/var/log/collectd.log {
+ daily
+ rotate 5
+ notifempty
+ missingok
+}
diff --git a/app-metrics/collectd/files/collectd.tmpfile b/app-metrics/collectd/files/collectd.tmpfile
new file mode 100644
index 000000000000..4524a56ec183
--- /dev/null
+++ b/app-metrics/collectd/files/collectd.tmpfile
@@ -0,0 +1 @@
+d /run/collectd 0770 collectd collectd
diff --git a/app-metrics/collectd/metadata.xml b/app-metrics/collectd/metadata.xml
new file mode 100644
index 000000000000..5f027424cee4
--- /dev/null
+++ b/app-metrics/collectd/metadata.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>whissi@gentoo.org</email>
+ <name>Thomas Deutschmann</name>
+ </maintainer>
+ <longdescription lang="en">
+ Collectd gathers statistics about the system it is running on and stores this
+ information. Those statistics can then be used to find current performance
+ bottlenecks (i.e. performance analysis) and predict future system load (i.e.
+ capacity planning). Or if you just want pretty graphs of your private server
+ and are fed up with some homegrown solution you're at the right place.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/collectd/collectd/issues</bugs-to>
+ <doc lang="en">https://collectd.org/documentation.shtml</doc>
+ <remote-id type="github">collectd/collectd</remote-id>
+ </upstream>
+ <use>
+ <flag name="contrib">Install user-contributed files in the doc directory</flag>
+ <flag name="filecaps">When set collectd daemon will have set required capabilities to run most plugins even if run as unprivileged user</flag>
+ <flag name="java">Must be set (workaround for java-pkg-opt-2 eclass limitation) when you want java or genericjmx plugin</flag>
+ <flag name="udev">Enable optional udev usage in disk plugin; Required for smart plugin</flag>
+ <flag name="xfs">Enable optional capability to filter on XFS file system in df plugin; Requires XFS headers from <pkg>sys-fs/xfsprogs</pkg></flag>
+ </use>
+</pkgmetadata>
diff --git a/app-metrics/elasticsearch_exporter-1.0.2 b/app-metrics/elasticsearch_exporter-1.0.2
deleted file mode 100644
index bb975de480bf..000000000000
--- a/app-metrics/elasticsearch_exporter-1.0.2
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile install prepare setup test unpack
-DEPEND=dev-util/promu >=dev-lang/go-1.9
-DESCRIPTION=Elasticsearch stats exporter for Prometheus
-EAPI=6
-HOMEPAGE=https://github.com/justwatchcom/elasticsearch_exporter
-KEYWORDS=~amd64
-LICENSE=Apache-2.0
-SLOT=0
-SRC_URI=https://github.com/justwatchcom/elasticsearch_exporter/archive/v1.0.2.tar.gz -> elasticsearch_exporter-1.0.2.tar.gz
-_eclasses_=golang-base d4e3a3f895016e5c9d7afb1a33e7cf3c golang-build b66349c110e4ddd6203bbe8bf4ae05c1 golang-vcs-snapshot 913580335becddd3ebecefe852e47536 user 8bc2845510e2109af75e3eeac607ec81
-_md5_=560ff71adadbedfc9f47b9a36024ae09
diff --git a/app-metrics/elasticsearch_exporter/Manifest b/app-metrics/elasticsearch_exporter/Manifest
new file mode 100644
index 000000000000..45fe1190392c
--- /dev/null
+++ b/app-metrics/elasticsearch_exporter/Manifest
@@ -0,0 +1,5 @@
+AUX elasticsearch_exporter.confd 96 BLAKE2B 4a65204509588b3bc93dfc5aa8f32c68a78b9dad05a3d8f95ba1095ee8bce8a2b3e94eb9b1b7d912b4d5953d99317233715e8c25e9ec1ee79809f0cdea09cf23 SHA512 f50fda8691d50ff59ba0679641d8211c117ba24b00b3ad4035ad5fdd144fdea909e26a9474e640049e778c256327642437d4b178aaa9f652b840420875ff152a
+AUX elasticsearch_exporter.initd 616 BLAKE2B ea0a311d6cf94063375a2369868ff258fe1f1e1335ccb664f032de975d7e2824c4d1d78716e706828e5a83efa91435ff225570eb68c18f330e3c46dc9e505aad SHA512 9780cc87adaca2be90e94baad679685781112de02e2eb68ff3270162ea38b228bc8960e670e80e20015855f6256d772208898e43f5924a1633ffdef98d2b4621
+DIST elasticsearch_exporter-1.0.2.tar.gz 207764 BLAKE2B f626c53d04e05912d1db480d6078b44fb6a05e42ec1751bfc2ddd45ff2f0bc0550517e16b10064adcf8c2ab2db175011543a2953fff1624cd575318e6fad943b SHA512 f610660761d761a26b840a969008763ecb19bdc07ab4a076cec7fc40f7d00a68e863fb72b0ea3b56446621a99fa31384ab79789a2e6526fc5b12dcc20df3c684
+EBUILD elasticsearch_exporter-1.0.2.ebuild 1162 BLAKE2B 28d273015563f09be796c6a7b671cf48fcfae9e84291eaeff2b9736c5baa710f09e5c184e833a0d11468f02cf44fa76c743ae868864b566166f6efdab2c54046 SHA512 a98d977d13a3b400935c75b00133c7ea92cde165a266f75b815b874285b2328ff3fcd1d823b5d6ed524efaaa4d521071c080b8635493cf0d756506ef8156d166
+MISC metadata.xml 345 BLAKE2B 3398877ce76e92f81d618b919ff45a674e72ba7987bb8bf5275bbcaa170eecb6927ccabe179f67cd36462c28f37d527cfa94eebc941f8858441207d5d8960b75 SHA512 0f625082213dedfd0ced3aa529cf77a73691361eea2d407df7d0eddabc93c7cb25a43ed631da508a31b50065bb945ae7576b1911fbcc4df57475794b76262f68
diff --git a/app-metrics/elasticsearch_exporter/elasticsearch_exporter-1.0.2.ebuild b/app-metrics/elasticsearch_exporter/elasticsearch_exporter-1.0.2.ebuild
new file mode 100644
index 000000000000..20be32d6cf4f
--- /dev/null
+++ b/app-metrics/elasticsearch_exporter/elasticsearch_exporter-1.0.2.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit user golang-build golang-vcs-snapshot
+
+EGO_PN="github.com/justwatchcom/elasticsearch_exporter"
+EXPORTER_COMMIT="92dcbf3"
+ARCHIVE_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Elasticsearch stats exporter for Prometheus"
+HOMEPAGE="https://github.com/justwatchcom/elasticsearch_exporter"
+SRC_URI="${ARCHIVE_URI}"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+DEPEND="dev-util/promu"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_prepare() {
+ default
+ sed -i -e "/-s$/d" -e "s/{{.Revision}}/${EXPORTER_COMMIT}/" src/${EGO_PN}/.promu.yml || die
+}
+
+src_compile() {
+ pushd src/${EGO_PN} || die
+ mkdir -p bin || die
+ GOPATH="${S}" promu build -v --prefix bin || die
+ popd || die
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin bin/elasticsearch_exporter
+ dodoc {README,CHANGELOG}.md
+ popd || die
+ keepdir /var/log/elasticsearch_exporter
+ fowners ${PN}:${PN} /var/log/elasticsearch_exporter
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+}
diff --git a/app-metrics/elasticsearch_exporter/files/elasticsearch_exporter.confd b/app-metrics/elasticsearch_exporter/files/elasticsearch_exporter.confd
new file mode 100644
index 000000000000..9a4dcce5b4b2
--- /dev/null
+++ b/app-metrics/elasticsearch_exporter/files/elasticsearch_exporter.confd
@@ -0,0 +1,2 @@
+# arguments for prometheus elasticsearch exporter
+command_args="--es.uri=http://localhost:9200"
diff --git a/app-metrics/elasticsearch_exporter/files/elasticsearch_exporter.initd b/app-metrics/elasticsearch_exporter/files/elasticsearch_exporter.initd
new file mode 100644
index 000000000000..fe932b923d14
--- /dev/null
+++ b/app-metrics/elasticsearch_exporter/files/elasticsearch_exporter.initd
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+# Copyright 2016-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Prometheus elasticsearch exporter"
+pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
+user=${user:-${RC_SVCNAME}}
+group=${group:-${RC_SVCNAME}}
+
+command="/usr/bin/elasticsearch_exporter"
+command_args="${command_args:---es.uri=http://localhost:9200}"
+command_background="true"
+start_stop_daemon_args="--user ${user} --group ${group} \
+ --stdout /var/log/elasticsearch_exporter/${RC_SVCNAME}.log \
+ --stderr /var/log/elasticsearch_exporter/${RC_SVCNAME}.log"
+
+depend() {
+ after net
+}
diff --git a/app-metrics/elasticsearch_exporter/metadata.xml b/app-metrics/elasticsearch_exporter/metadata.xml
new file mode 100644
index 000000000000..2e5a147e290b
--- /dev/null
+++ b/app-metrics/elasticsearch_exporter/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mrueg@gentoo.org</email>
+ <name>Manuel Rüger</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">justwatchcom/elasticsearch_exporter</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-metrics/metadata.xml b/app-metrics/metadata.xml
new file mode 100644
index 000000000000..25becdd97f49
--- /dev/null
+++ b/app-metrics/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<catmetadata>
+ <longdescription lang="en">
+ The app-metrics category contains software generating, transforming or consuming application, service and system metrics.
+ </longdescription>
+</catmetadata>
+
diff --git a/app-metrics/mongodb_exporter-0.4.0 b/app-metrics/mongodb_exporter-0.4.0
deleted file mode 100644
index f3f4a03f7995..000000000000
--- a/app-metrics/mongodb_exporter-0.4.0
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile install prepare setup test unpack
-DEPEND=dev-util/promu >=dev-lang/go-1.9
-DESCRIPTION=Prometheus exporter for MongoDB
-EAPI=6
-HOMEPAGE=https://github.com/percona/mongodb_exporter
-KEYWORDS=~amd64
-LICENSE=Apache-2.0
-SLOT=0
-SRC_URI=https://github.com/percona/mongodb_exporter/archive/v0.4.0.tar.gz -> mongodb_exporter-0.4.0.tar.gz
-_eclasses_=golang-base d4e3a3f895016e5c9d7afb1a33e7cf3c golang-build b66349c110e4ddd6203bbe8bf4ae05c1 golang-vcs-snapshot 913580335becddd3ebecefe852e47536 user 8bc2845510e2109af75e3eeac607ec81
-_md5_=255ff6ff2149b786bcf46ca14784f5eb
diff --git a/app-metrics/mongodb_exporter/Manifest b/app-metrics/mongodb_exporter/Manifest
new file mode 100644
index 000000000000..9e46d955213d
--- /dev/null
+++ b/app-metrics/mongodb_exporter/Manifest
@@ -0,0 +1,5 @@
+AUX mongodb_exporter.confd 94 BLAKE2B 25c98466e22b137a33f347d2c8c53fb15e0727423b6e0d8d804547a9b4220ca1c742cfdea6f6afbbb1fc6a38adafda56d1d372b5175bf3293ee5094ba2c835d5 SHA512 3ead6c80528042a436d8b0d013998e410c9a4216f532876766b7631187051b29b37bc4d834dcdc1483b1575dfa3b975baaef03e0637e63e279a5fbd9b3b75073
+AUX mongodb_exporter.initd 609 BLAKE2B 21f2130b139aa6a42fecbe388caf0b1d237c6bdd840247c66dfcc0423fa5988624936b38a76dca8500cb4e35913e6e62d62b70d8a52ab0a2437ca37485ac07a5 SHA512 6d37475feb73d5b8cfa1b5c32e9de8ce3201ae3b16c56b379f986780815d342cdd20983172bc6bb63ee653fda3ac764344f8b31a8b544a46243a97c61f86edc5
+DIST mongodb_exporter-0.4.0.tar.gz 3386266 BLAKE2B a6bebada2792e620b2107b72b3ab8b2a4e7a08fc53747f266b30a3cf2fe42ed7e09e3be9aa36332cba2df124947064f545821f355726e09649509c671a56c30b SHA512 0db1abd8c7439239cf59b24968ef33f83c6609a9deaed250315dd7fcb6844ef3d0d0c1f50b979f931beb539038a13eb7b88c03c899333d981112695be2e031b3
+EBUILD mongodb_exporter-0.4.0.ebuild 1110 BLAKE2B 5ad73d6b2c0cea692de28c2bac400beca74be721fe4c0766d8f12fede1f598e45f91f29ef001ec21a72a25884a2bc789ed51771ebeac751d63d22de4316e0b92 SHA512 75956d5f16c5723cfc2e2f7758f4645d87d6539bd8a3f5dbd0244d1985ece9372df28d9747ffec068c7bb352fc236abc25f0f0edea66e41c5d9477ac6ac7d581
+MISC metadata.xml 334 BLAKE2B d5ba9240caf276981ccc375de2ff7d205b0a04bd58903fa60a486d26cb099f5c32d1921fcc433b091bf30fddf20196deb8dbfb3f5e76cffe951cf170e79d6202 SHA512 e854872327de5d18b24ce3b6d5f93f35e44f4cdff88018b8e7aafdc1cdc4953820ef855b5d1be1d53dd8ede67119399c39e52fff04fe928ba2847467cbecf613
diff --git a/app-metrics/mongodb_exporter/files/mongodb_exporter.confd b/app-metrics/mongodb_exporter/files/mongodb_exporter.confd
new file mode 100644
index 000000000000..bd85fa288304
--- /dev/null
+++ b/app-metrics/mongodb_exporter/files/mongodb_exporter.confd
@@ -0,0 +1,2 @@
+# arguments for prometheus mongodb exporter
+command_args="-mongodb.uri=http://localhost:9200"
diff --git a/app-metrics/mongodb_exporter/files/mongodb_exporter.initd b/app-metrics/mongodb_exporter/files/mongodb_exporter.initd
new file mode 100644
index 000000000000..2a2c985c4f64
--- /dev/null
+++ b/app-metrics/mongodb_exporter/files/mongodb_exporter.initd
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+# Copyright 2016-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Prometheus MongoDB exporter"
+pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
+user=${user:-${RC_SVCNAME}}
+group=${group:-${RC_SVCNAME}}
+
+command="/usr/bin/mongodb_exporter"
+command_args="${command_args:--mongodb.uri=http://localhost:27017}"
+command_background="true"
+start_stop_daemon_args="--user ${user} --group ${group} \
+ --stdout /var/log/elasticsearch_exporter/${RC_SVCNAME}.log \
+ --stderr /var/log/elasticsearch_exporter/${RC_SVCNAME}.log"
+
+depend() {
+ after net
+}
diff --git a/app-metrics/mongodb_exporter/metadata.xml b/app-metrics/mongodb_exporter/metadata.xml
new file mode 100644
index 000000000000..b54031048cbc
--- /dev/null
+++ b/app-metrics/mongodb_exporter/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mrueg@gentoo.org</email>
+ <name>Manuel Rüger</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">percona/mongodb_exporter</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-metrics/mongodb_exporter/mongodb_exporter-0.4.0.ebuild b/app-metrics/mongodb_exporter/mongodb_exporter-0.4.0.ebuild
new file mode 100644
index 000000000000..5ea07ecd61c8
--- /dev/null
+++ b/app-metrics/mongodb_exporter/mongodb_exporter-0.4.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit user golang-build golang-vcs-snapshot
+
+EGO_PN="github.com/percona/mongodb_exporter"
+EXPORTER_COMMIT="01f0ef9"
+ARCHIVE_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Prometheus exporter for MongoDB"
+HOMEPAGE="https://github.com/percona/mongodb_exporter"
+SRC_URI="${ARCHIVE_URI}"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+DEPEND="dev-util/promu"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_prepare() {
+ default
+ sed -i -e "/-s$/d" -e "s/{{.Revision}}/${EXPORTER_COMMIT}/" src/${EGO_PN}/.promu.yml || die
+}
+
+src_compile() {
+ pushd src/${EGO_PN} || die
+ mkdir -p bin || die
+ GOPATH="${S}" promu build -v --prefix bin || die
+ popd || die
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin bin/mongodb_exporter
+ dodoc {README,CHANGELOG}.md
+ popd || die
+ keepdir /var/log/mongodb_exporter
+ fowners ${PN}:${PN} /var/log/mongodb_exporter
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+}
diff --git a/app-metrics/mysqld_exporter-0.10.0-r1 b/app-metrics/mysqld_exporter-0.10.0-r1
deleted file mode 100644
index d28e7041a1ac..000000000000
--- a/app-metrics/mysqld_exporter-0.10.0-r1
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile install postinst prepare setup test unpack
-DEPEND=dev-util/promu >=dev-lang/go-1.9
-DESCRIPTION=Prometheus exporter for MySQL server metrics
-EAPI=6
-HOMEPAGE=https://github.com/prometheus/mysqld_exporter
-KEYWORDS=~amd64
-LICENSE=Apache-2.0
-SLOT=0
-SRC_URI=https://github.com/prometheus/mysqld_exporter/archive/v0.10.0.tar.gz -> mysqld_exporter-0.10.0.tar.gz
-_eclasses_=golang-base d4e3a3f895016e5c9d7afb1a33e7cf3c golang-build b66349c110e4ddd6203bbe8bf4ae05c1 golang-vcs-snapshot 913580335becddd3ebecefe852e47536 user 8bc2845510e2109af75e3eeac607ec81
-_md5_=6db75fad5554436a70f7ef3eb17ef894
diff --git a/app-metrics/mysqld_exporter/Manifest b/app-metrics/mysqld_exporter/Manifest
new file mode 100644
index 000000000000..34631cf42efc
--- /dev/null
+++ b/app-metrics/mysqld_exporter/Manifest
@@ -0,0 +1,6 @@
+AUX mysqld_exporter-r1.initd 2053 BLAKE2B 46542a80ac4c894c0cf4f50b8e8a616a019f1c2d7c6846b524b626859bf521d6f5b15336537c6fb06c5f876dd0d8adcd592363a678bc6779bfb5352a93dca06b SHA512 3a7c91492a2533cbdb2846cb5f3a03e66caf332ff931d10227c32332aaf210e74f2dd56977c5146a59042529dfb14eebd0c78e8dc63675d4884958bdc81f5252
+AUX mysqld_exporter.confd 891 BLAKE2B 340b8d6b5f3fdc0a52851197cfd94b1d9d20fa3cda349c581a016c6cc7edd53cb7d86b634487551f916fd5c84294add402397cb9bf0fc2efb211b589dd571dd2 SHA512 ed4f949c8f5f88ad54c536342adf90be5d74922b54c383735a957e571aba341057830c7e8cdc0e45b53e439c5297d3ad70ba7bd178f77d10615787ed51bcc03f
+AUX mysqld_exporter.logrotate 68 BLAKE2B 04a9a0df5dae2a2afd3374cd6f6fd5d04df7629bc85ed63792ecc9e2b4772668d1f5b1fe4baf14b17c26a495ffa1ed3a7d748719db9a72f427587243505158d1 SHA512 3eb2e6bfa0eae0847c0b1e2e7fd990068cb0ad570d14463c88a8860d70ebc378b2e3bc4141f0a98e95304c972c765ae48dbff726b208ba825fe1f4e58765e462
+DIST mysqld_exporter-0.10.0.tar.gz 971604 BLAKE2B ec077b7b6a15f6173e5cc04e741c51c4d26a214601da8eb1aede49ee325f52bea2140b8e5b3bdbc2a1e527e40c95099dca2a57501d44a26e787cdc330f4aa8b8 SHA512 0a7b0ff537ad59a9b64aa18dfe1d1eb9253b12ae566d5c151555fbd4457b7e65890b6569632b452ae317b3acbfa94c12d96f6fb6e4f982b9b2161fc4747330f5
+EBUILD mysqld_exporter-0.10.0-r1.ebuild 1564 BLAKE2B e7342d8cd4a1b80c4ab3379bc2a4167a6127685c34e520929d1095b04c348b57d9d082ff5daa87f32c46df9f3d252acb205c63fe5e8e0941d625b1b85753c2f8 SHA512 6c2d62e603163bfc42b2508765da807322cdaae0d4534a96a319c5f3751d0a52178d2e3c110fe50ed0b87e563a87c91a1d9009c881b84c64fe79699cc52c3dbf
+MISC metadata.xml 342 BLAKE2B c99db8a7ba47d8b948f5e8623c98ff234a67d14485a09a412d55155b878fe2cff4594934f2e1aef749072f4f52ca8c0b660e52764cc20b40aedc3ae2280d8fdd SHA512 55dcb15bda103364487e98359157961d7859af7e38cef4030e53fe2fb50ded0e34d27a1607171e62d60dd53e93b2cd1f30becded706dcb362ce3f45052cd0203
diff --git a/app-metrics/mysqld_exporter/files/mysqld_exporter-r1.initd b/app-metrics/mysqld_exporter/files/mysqld_exporter-r1.initd
new file mode 100644
index 000000000000..0aecd1025b82
--- /dev/null
+++ b/app-metrics/mysqld_exporter/files/mysqld_exporter-r1.initd
@@ -0,0 +1,73 @@
+#!/sbin/openrc-run
+# Copyright 2016-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Prometheus exporter for MySQL server metrics"
+
+EXPORTER_FLAGS=${EXPORTER_FLAGS:-""}
+EXPORTER_USER=${EXPORTER_USER:-"mysqld_exporter"}
+EXPORTER_GROUP=${EXPORTER_GROUP:-"mysqld_exporter"}
+EXPORTER_PIDFILE=${EXPORTER_PIDFILE:-"/run/${RC_SVCNAME}.pid"}
+EXPORTER_SSDARGS=${EXPORTER_SSDARGS:-"--wait 1000"}
+EXPORTER_TERMTIMEOUT=${EXPORTER_TERMTIMEOUT:-"TERM/60/KILL/5"}
+
+command="/usr/bin/mysqld_exporter"
+command_args="${EXPORTER_FLAGS}"
+command_background="true"
+start_stop_daemon_args="${EXPORTER_SSDARGS}"
+start_stop_daemon_args="${start_stop_daemon_args} --user ${EXPORTER_USER}"
+start_stop_daemon_args="${start_stop_daemon_args} --group ${EXPORTER_GROUP}"
+
+# We are forcing log files because upstream is going to remove syslog support :/
+start_stop_daemon_args="${start_stop_daemon_args} --stdout /var/log/mysqld_exporter/${RC_SVCNAME}.log"
+start_stop_daemon_args="${start_stop_daemon_args} --stderr /var/log/mysqld_exporter/${RC_SVCNAME}.log"
+
+getconfig() {
+ local key="$1"
+ local value_default="$2"
+ local value=
+
+ if service_started; then
+ value="$(service_get_value "${key}")"
+ fi
+
+ if [ -z "${value}" ]; then
+ # Value not explicitly set
+ echo "${value_default}"
+ else
+ echo "${value}"
+ fi
+
+ return 0
+}
+
+pidfile="$(getconfig pidfile ${EXPORTER_PIDFILE})"
+retry="$(getconfig retry ${EXPORTER_TERMTIMEOUT})"
+
+configtest() {
+ if test "${command_args#*config\.my-cnf}" = "${command_args}"; then
+ local _default_config_file="/var/lib/mysqld_exporter/.my.cnf"
+ if [ ! -s "${_default_config_file}" ]; then
+ eerror "No MySQL credentials found in \"${_default_config_file}\"!"
+ eerror "Either create that file and add credentials or specify another file via \"-config.my-cnf\" flag."
+ return 1
+ fi
+ fi
+
+ return 0
+}
+
+depend() {
+ after net
+ use mysql
+}
+
+start_pre() {
+ if [ "${RC_CMD}" != "restart" ]; then
+ configtest || return 1
+ fi
+}
+
+start_post() {
+ service_set_value retry "${EXPORTER_TERMTIMEOUT}"
+}
diff --git a/app-metrics/mysqld_exporter/files/mysqld_exporter.confd b/app-metrics/mysqld_exporter/files/mysqld_exporter.confd
new file mode 100644
index 000000000000..249ed7ea4aa4
--- /dev/null
+++ b/app-metrics/mysqld_exporter/files/mysqld_exporter.confd
@@ -0,0 +1,26 @@
+# /etc/conf.d/mysqld_exporter
+
+# PID file
+#EXPORTER_PIDFILE="/run/${RC_SVCNAME}.pid"
+
+# 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.
+#EXPORTER_TERMTIMEOUT="TERM/60/KILL/5"
+
+# User to run exporter as
+#EXPORTER_USER="mysqld_exporter"
+
+# User group to run exporter as
+#EXPORTER_GROUP="mysqld_exporter"
+
+# 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.
+#EXPORTER_SSDARGS="--wait 1000"
+
+# Exporter flags
+# See `mysqld_exporter --help` for more details
+EXPORTER_FLAGS="-log.level=info"
+#EXPORTER_FLAGS="${EXPORTER_FLAGS} -yourAdditionalFlag"
diff --git a/app-metrics/mysqld_exporter/files/mysqld_exporter.logrotate b/app-metrics/mysqld_exporter/files/mysqld_exporter.logrotate
new file mode 100644
index 000000000000..ec360d7ab4cd
--- /dev/null
+++ b/app-metrics/mysqld_exporter/files/mysqld_exporter.logrotate
@@ -0,0 +1,5 @@
+/var/log/mysqld_exporter/*.log {
+ missingok
+ notifempty
+ size 30k
+}
diff --git a/app-metrics/mysqld_exporter/metadata.xml b/app-metrics/mysqld_exporter/metadata.xml
new file mode 100644
index 000000000000..adebc721a7e3
--- /dev/null
+++ b/app-metrics/mysqld_exporter/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>whissi@gentoo.org</email>
+ <name>Thomas Deutschmann</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">prometheus/mysqld_exporter</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-metrics/mysqld_exporter/mysqld_exporter-0.10.0-r1.ebuild b/app-metrics/mysqld_exporter/mysqld_exporter-0.10.0-r1.ebuild
new file mode 100644
index 000000000000..77a69fda97f7
--- /dev/null
+++ b/app-metrics/mysqld_exporter/mysqld_exporter-0.10.0-r1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+inherit user golang-build golang-vcs-snapshot
+
+EGO_PN="github.com/prometheus/mysqld_exporter"
+EGIT_COMMIT="v${PV/_rc/-rc.}"
+MYSQLD_EXPORTER_COMMIT="8068006"
+ARCHIVE_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Prometheus exporter for MySQL server metrics"
+HOMEPAGE="https://github.com/prometheus/mysqld_exporter"
+SRC_URI="${ARCHIVE_URI}"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+DEPEND="dev-util/promu"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 /var/lib/mysqld_exporter ${PN}
+}
+
+src_prepare() {
+ default
+ sed -i -e "s/{{.Revision}}/${MYSQLD_EXPORTER_COMMIT}/" src/${EGO_PN}/.promu.yml || die
+}
+
+src_compile() {
+ pushd src/${EGO_PN} || die
+ mkdir -p bin || die
+ GOPATH="${S}" promu build -v --prefix bin || die
+ popd || die
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin bin/mysqld_exporter
+ dodoc {README,CHANGELOG,CONTRIBUTING}.md
+ popd || die
+
+ keepdir /var/lib/mysqld_exporter /var/log/mysqld_exporter
+ fowners ${PN}:${PN} /var/lib/mysqld_exporter /var/log/mysqld_exporter
+ fperms 0770 /var/lib/mysqld_exporter
+
+ newinitd "${FILESDIR}"/${PN}-r1.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/${PN}.logrotate ${PN}
+}
+
+pkg_postinst() {
+ if [[ -z "${REPLACING_VERSIONS}" ]]; then
+ # This is a new installation
+ elog "Create \"${EROOT%/}/var/lib/mysqld_exporter/.my.cnf\" to read MySQL credentials from file."
+ fi
+}
diff --git a/app-metrics/nginx-vts-exporter-0.10.0 b/app-metrics/nginx-vts-exporter-0.10.0
deleted file mode 100644
index 0c9f8bc4c602..000000000000
--- a/app-metrics/nginx-vts-exporter-0.10.0
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile install prepare setup test unpack
-DEPEND=dev-util/promu >=dev-lang/go-1.9
-DESCRIPTION=Nginx virtual host traffic stats exporter for Prometheus
-EAPI=6
-HOMEPAGE=https://github.com/hnlq715/nginx-vts-exporter
-KEYWORDS=~amd64
-LICENSE=MIT
-SLOT=0
-SRC_URI=https://github.com/hnlq715/nginx-vts-exporter/archive/v0.10.0.tar.gz -> nginx-vts-exporter-0.10.0.tar.gz
-_eclasses_=golang-base d4e3a3f895016e5c9d7afb1a33e7cf3c golang-build b66349c110e4ddd6203bbe8bf4ae05c1 golang-vcs-snapshot 913580335becddd3ebecefe852e47536 user 8bc2845510e2109af75e3eeac607ec81
-_md5_=6b2167245cac20507b830f4f5f6de00f
diff --git a/app-metrics/nginx-vts-exporter-0.10.3 b/app-metrics/nginx-vts-exporter-0.10.3
deleted file mode 100644
index 99fc42f0a984..000000000000
--- a/app-metrics/nginx-vts-exporter-0.10.3
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile install prepare setup test unpack
-DEPEND=dev-util/promu >=dev-lang/go-1.9
-DESCRIPTION=Nginx virtual host traffic stats exporter for Prometheus
-EAPI=6
-HOMEPAGE=https://github.com/hnlq715/nginx-vts-exporter
-KEYWORDS=~amd64
-LICENSE=MIT
-SLOT=0
-SRC_URI=https://github.com/hnlq715/nginx-vts-exporter/archive/v0.10.3.tar.gz -> nginx-vts-exporter-0.10.3.tar.gz
-_eclasses_=golang-base d4e3a3f895016e5c9d7afb1a33e7cf3c golang-build b66349c110e4ddd6203bbe8bf4ae05c1 golang-vcs-snapshot 913580335becddd3ebecefe852e47536 user 8bc2845510e2109af75e3eeac607ec81
-_md5_=1c7208c8cb37dcbc1a180062b649a16b
diff --git a/app-metrics/nginx-vts-exporter/Manifest b/app-metrics/nginx-vts-exporter/Manifest
new file mode 100644
index 000000000000..1e05ee82aa37
--- /dev/null
+++ b/app-metrics/nginx-vts-exporter/Manifest
@@ -0,0 +1,7 @@
+AUX nginx-vts-exporter.confd 138 BLAKE2B 5276947629899f4e338324d7bbfcd7afadac604fbe9d0b9bc101fbbfc5af2bccc2d9968315abcf060932defb3a054885527dd058e6ff20594ddfb77fafc8d138 SHA512 2b41b8efdef35f4beaf8b991e77a7ccf76be55290f9ddfa1262f860dc3b57411bcd1a3332f23119d87e3f72640d23da28d9080df43902f711cb1d1bff838532f
+AUX nginx-vts-exporter.initd 637 BLAKE2B 9fb8c9e1908846391ef0afc4b586f40a0ae13410c9f04e0ee594874b0434fe6fc0bab029f9d5021e5ce41a67df622bd2d7dff1f014baf25deee07d3e65a22eed SHA512 75ed5cfb084022e86058e20a7daee0c9c0fed3ee68090818e6f9d9b92dd8aee86145267c6b5309ede12f0a5103f80b74c43fd2522015ec866217e927c16a3803
+DIST nginx-vts-exporter-0.10.0.tar.gz 149620 BLAKE2B 6856240886d1a7082c901535954193798e8636ef744a5960441726cb12a5510706f7b8c1757e9f719c756d0beabc355cde8ec626c9bd4f14f7ff84894d0cc6da SHA512 bdd3993b3fee24d3332db720df2880493eeb0724cd5b099ccdd5fe6456df1b344132e4e585271999df355fb2042954cb3d452e6dc0b92dead288e94dd71f627c
+DIST nginx-vts-exporter-0.10.3.tar.gz 149578 BLAKE2B c73a8cfdb875fcc02d3b7d66f5b436b9e3e8d516c8a241062721e3124452722e9e30abefd5c79e89772a480fad005d0cf25d0359dd253a39d7ae5a20495f074a SHA512 0ee97be313dc829ae9e23bc836d7e11106c4843306583ff8baa38fa10bd9d56396ae3f6ce12cad4e08a383047c3179013962284aef6e627b23b89c72c564789e
+EBUILD nginx-vts-exporter-0.10.0.ebuild 1120 BLAKE2B d1200212f0ae09284a27b18826a49d3a30e55334d7f55e48134d4d6cfb704fa27ec95f99c5e8d5ee8a5c40c5f92bada71092d6b2c1e5bccdd58ac5fc1452e274 SHA512 871899a662d4d6b4c3b36fcce440cdc5ef57abf36016b8d0f535b0fb3a3e78adc71aff16ffc314cc1ef99167324aa1230dfe423bab0ffab7def00650f28842c3
+EBUILD nginx-vts-exporter-0.10.3.ebuild 1120 BLAKE2B 34e05f1a24e62e1c036ef50f0b0b8ce2256bc84f27cc5961b5b035d3d41d7194a503337b96bc90b4a7f92489536e8e48aefa97212e78883894fcf05882082114 SHA512 f02831085bc7462d9953da0135b632dfa86e2e4900a6e6c186d60c54facfc0b5baeb66a97a4720cf94cd6a61349630d4d5d8c686d6ad1578f552c1de0ef4a807
+MISC metadata.xml 336 BLAKE2B 1efba2e3d984ebbd079fe45c406fb14932d9eaf9275e25b62fd915c6e9216fe2af377808436f66a8f0e3167126c1dbd2667021e155906e1e880a03ab1397b9bd SHA512 4f84f5262f71494fe5edbc2e1ffd96213f856f317c732f8833a865fa8bd4ea8268b43134e5f0dbcb51f18c3d52203b9000fd7afd346c68d631c5c42d2237917f
diff --git a/app-metrics/nginx-vts-exporter/files/nginx-vts-exporter.confd b/app-metrics/nginx-vts-exporter/files/nginx-vts-exporter.confd
new file mode 100644
index 000000000000..ae134353a235
--- /dev/null
+++ b/app-metrics/nginx-vts-exporter/files/nginx-vts-exporter.confd
@@ -0,0 +1,2 @@
+# arguments for prometheus nginx virtual host traffic stats exporter
+command_args="-nginx.scrape_uri=http://localhost/status/format/json"
diff --git a/app-metrics/nginx-vts-exporter/files/nginx-vts-exporter.initd b/app-metrics/nginx-vts-exporter/files/nginx-vts-exporter.initd
new file mode 100644
index 000000000000..f61549b061d7
--- /dev/null
+++ b/app-metrics/nginx-vts-exporter/files/nginx-vts-exporter.initd
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+# Copyright 2016-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Prometheus nginx virtual host traffic status exporter"
+pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
+user=${user:-${RC_SVCNAME}}
+group=${group:-${RC_SVCNAME}}
+
+command="/usr/bin/nginx-vts-exporter"
+command_args="${command_args:--nginx.scrape_uri=http://localhost/status/format/json}"
+command_background="true"
+start_stop_daemon_args="--user ${user} --group ${group} \
+ --stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log \
+ --stderr /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log"
+
+depend() {
+ after net
+}
diff --git a/app-metrics/nginx-vts-exporter/metadata.xml b/app-metrics/nginx-vts-exporter/metadata.xml
new file mode 100644
index 000000000000..0baff3eb9512
--- /dev/null
+++ b/app-metrics/nginx-vts-exporter/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mrueg@gentoo.org</email>
+ <name>Manuel Rüger</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">hnlq715/nginx-vts-exporter</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-metrics/nginx-vts-exporter/nginx-vts-exporter-0.10.0.ebuild b/app-metrics/nginx-vts-exporter/nginx-vts-exporter-0.10.0.ebuild
new file mode 100644
index 000000000000..761f9630f63c
--- /dev/null
+++ b/app-metrics/nginx-vts-exporter/nginx-vts-exporter-0.10.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit user golang-build golang-vcs-snapshot
+
+EGO_PN="github.com/hnlq715/nginx-vts-exporter"
+EXPORTER_COMMIT="f5b3491cd0a8cc2df7088470f2727b0ae39a2700"
+ARCHIVE_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Nginx virtual host traffic stats exporter for Prometheus"
+HOMEPAGE="https://github.com/hnlq715/nginx-vts-exporter"
+SRC_URI="${ARCHIVE_URI}"
+LICENSE="MIT"
+SLOT="0"
+IUSE=""
+
+DEPEND="dev-util/promu"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_prepare() {
+ default
+ sed -i -e "/-s$/d" -e "s/{{.Revision}}/${EXPORTER_COMMIT}/" src/${EGO_PN}/.promu.yml || die
+}
+
+src_compile() {
+ pushd src/${EGO_PN} || die
+ mkdir -p bin || die
+ GOPATH="${S}" promu build -v --prefix bin || die
+ popd || die
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin bin/${PN}
+ dodoc README.md
+ popd || die
+ keepdir /var/log/${PN}
+ fowners ${PN}:${PN} /var/log/${PN}
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+}
diff --git a/app-metrics/nginx-vts-exporter/nginx-vts-exporter-0.10.3.ebuild b/app-metrics/nginx-vts-exporter/nginx-vts-exporter-0.10.3.ebuild
new file mode 100644
index 000000000000..87d75798a8d7
--- /dev/null
+++ b/app-metrics/nginx-vts-exporter/nginx-vts-exporter-0.10.3.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit user golang-build golang-vcs-snapshot
+
+EGO_PN="github.com/hnlq715/nginx-vts-exporter"
+EXPORTER_COMMIT="8aa2881c7050d9b28f2312d7ce99d93458611d04"
+ARCHIVE_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Nginx virtual host traffic stats exporter for Prometheus"
+HOMEPAGE="https://github.com/hnlq715/nginx-vts-exporter"
+SRC_URI="${ARCHIVE_URI}"
+LICENSE="MIT"
+SLOT="0"
+IUSE=""
+
+DEPEND="dev-util/promu"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_prepare() {
+ default
+ sed -i -e "/-s$/d" -e "s/{{.Revision}}/${EXPORTER_COMMIT}/" src/${EGO_PN}/.promu.yml || die
+}
+
+src_compile() {
+ pushd src/${EGO_PN} || die
+ mkdir -p bin || die
+ GOPATH="${S}" promu build -v --prefix bin || die
+ popd || die
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin bin/${PN}
+ dodoc README.md
+ popd || die
+ keepdir /var/log/${PN}
+ fowners ${PN}:${PN} /var/log/${PN}
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+}
diff --git a/app-metrics/node_exporter-0.15.2 b/app-metrics/node_exporter-0.15.2
deleted file mode 100644
index f8127dbae1a8..000000000000
--- a/app-metrics/node_exporter-0.15.2
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile install prepare setup test unpack
-DEPEND=dev-util/promu >=dev-lang/go-1.9
-DESCRIPTION=Prometheus exporter for machine metrics
-EAPI=6
-HOMEPAGE=https://github.com/prometheus/node_exporter
-KEYWORDS=amd64
-LICENSE=Apache-2.0
-SLOT=0
-SRC_URI=https://github.com/prometheus/node_exporter/archive/v0.15.2.tar.gz -> node_exporter-0.15.2.tar.gz
-_eclasses_=golang-base d4e3a3f895016e5c9d7afb1a33e7cf3c golang-build b66349c110e4ddd6203bbe8bf4ae05c1 golang-vcs-snapshot 913580335becddd3ebecefe852e47536 user 8bc2845510e2109af75e3eeac607ec81
-_md5_=1d45644441c372e5a411dd64dc4f7767
diff --git a/app-metrics/node_exporter-0.16.0 b/app-metrics/node_exporter-0.16.0
deleted file mode 100644
index 42935e23bd51..000000000000
--- a/app-metrics/node_exporter-0.16.0
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile install prepare setup test unpack
-DEPEND=dev-util/promu >=dev-lang/go-1.9
-DESCRIPTION=Prometheus exporter for machine metrics
-EAPI=6
-HOMEPAGE=https://github.com/prometheus/node_exporter
-KEYWORDS=~amd64
-LICENSE=Apache-2.0
-SLOT=0
-SRC_URI=https://github.com/prometheus/node_exporter/archive/v0.16.0.tar.gz -> node_exporter-0.16.0.tar.gz
-_eclasses_=golang-base d4e3a3f895016e5c9d7afb1a33e7cf3c golang-build b66349c110e4ddd6203bbe8bf4ae05c1 golang-vcs-snapshot 913580335becddd3ebecefe852e47536 user 8bc2845510e2109af75e3eeac607ec81
-_md5_=64ca16ed01d388fcccbb59307f84ce1b
diff --git a/app-metrics/node_exporter-0.16.0_rc3 b/app-metrics/node_exporter-0.16.0_rc3
deleted file mode 100644
index a4d5779c99a0..000000000000
--- a/app-metrics/node_exporter-0.16.0_rc3
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile install prepare setup test unpack
-DEPEND=dev-util/promu >=dev-lang/go-1.9
-DESCRIPTION=Prometheus exporter for machine metrics
-EAPI=6
-HOMEPAGE=https://github.com/prometheus/node_exporter
-KEYWORDS=~amd64
-LICENSE=Apache-2.0
-SLOT=0
-SRC_URI=https://github.com/prometheus/node_exporter/archive/v0.16.0-rc.3.tar.gz -> node_exporter-0.16.0_rc3.tar.gz
-_eclasses_=golang-base d4e3a3f895016e5c9d7afb1a33e7cf3c golang-build b66349c110e4ddd6203bbe8bf4ae05c1 golang-vcs-snapshot 913580335becddd3ebecefe852e47536 user 8bc2845510e2109af75e3eeac607ec81
-_md5_=531c934a12359668c033d5b6a63e2cd9
diff --git a/app-metrics/node_exporter/Manifest b/app-metrics/node_exporter/Manifest
new file mode 100644
index 000000000000..8a6c16e05d93
--- /dev/null
+++ b/app-metrics/node_exporter/Manifest
@@ -0,0 +1,9 @@
+AUX node_exporter-1.initd 615 BLAKE2B 4d5d30126a1491b4771365b7db31a4849a3eeda3a09283a6befdf35614e6a3cf4cb1e20ab1d57a53c3715555fb0af73e62f76a4b99e58b83d77d44382f72edb3 SHA512 aecc8180b300660cb6b2882c45a99510d5c12aecaf1aaa24d62f2393c3f5c3e5dd9de6c5e73125f4eb6f3e18ca0d7b7e04e6338db2eed5ab06919e245f7e9d6a
+AUX node_exporter.confd 111 BLAKE2B bb40370633c41a4f1283677ed16ad9734c7f180683e4d9d82be36ea5e63d3b8fc2a861a61c62e2e899209f7293588e3e7532ffe52ecb9aab4773a3943168d5dd SHA512 cce5db8eccf2ecfe1198aa8252b04fd6a96006f707e7132c2d01c5400d175551c3b9890c4d57fec9ccbe17594dfb937e1f99ead0e1c3fd8cf22930dabd70418d
+DIST node_exporter-0.15.2.tar.gz 1327204 BLAKE2B ee694771ed6d736fd4bb6a10f713f31becc930fb8225499d4b3a2a2cc7416c1816605cd8f4205dc37a2264af8d9f85e3519bc01844d252b6a70d4ee5f6308ece SHA512 b39ce0801a5bf5a2a70c4034659d047d70b3763af3f18925b65c2b5f72832e261362aaeb9ce4c68cb7bf52e790d3fc710a6c8550ad7876e89fd9f5a055200a52
+DIST node_exporter-0.16.0.tar.gz 1413131 BLAKE2B 7561ae8cc4994c6772816b72d6e3ea98934cb02eee7fab6c08a58ca853e492192defbadf25ea6f992fd044d23826241a4c0fb54c423b59394210803a5fa517e3 SHA512 59a2286024de76e7213e430ba77a366190d626d3b410c8dc960ad2bf68798e8ec3aeb851396673fb402eef15b2596f6835cf0197a53b9a3d1c0f8a1a81965fc7
+DIST node_exporter-0.16.0_rc3.tar.gz 1411536 BLAKE2B 24c38fb607d68718298df84db0e903d2a35d21d2edbe5e79c917cd2a32d76708a7e9f25750fd0c52c7eec4bbb90ee089dc60769e05f0265cb08c4a27dff20d96 SHA512 fc80738ba6bedd4a9a28374c6ea52c6471be14849b0120fd322397c179e0f0043bc616585d2b251a817bb7af8af16cc5a7f41de989943b9b87805dac4446a61f
+EBUILD node_exporter-0.15.2.ebuild 1225 BLAKE2B 3e5633734ba2be8f83953b4851a17ba76a619aae1490348f4f0fdf83e34a26e07c561a5fce9e41bb6f86aef9cc537f48cea6bba74082821fbd7fe4395aec8e39 SHA512 54286e2c5957524374885335e512bfed3b609e8e2e293fb7e0d842603e1bbc026536a96a6a75ea141baed7a96fbe57f9fcb8067968ae162745c813855b9d7976
+EBUILD node_exporter-0.16.0.ebuild 1226 BLAKE2B be97741e0fe9334c14b5c39d7fc6171a4abc963029987fb2f489f31a88bb283507dc7950c1adda41cf6ca473370b9f3ee4d12b29624614903754c1458557d31a SHA512 e826701a4091faa7cdab11ef4092aaae6858eff9af96e1f698e1a224b9710c395b1fd99770d6872138bbd39460c800e41e24a41ca42ab50b26d5c06a2685c7ed
+EBUILD node_exporter-0.16.0_rc3.ebuild 1226 BLAKE2B 7beaa72239619203cc167d64f2ad22dcf18133a0cf30d8cb33c0cdac836bc2d044bcf9ceeddb5dbbd9c4b22cba75acd9fd75b0e3bc75eb98a58466d5058dbc19 SHA512 1b5b3623f1a13a3b5e7a1cb3dee9b35ca6ca78114bfe1cae82836ab177c6178646974648ad242bed795406f947aefb85beb56ad0688f361b2aaaefdbfc0694e6
+MISC metadata.xml 334 BLAKE2B 4152458bd76dc5a5150cf8ec6e6b967d88b89b85c7145c158d981c92dad663df3259b2ee229298727e862139215e69ac97f9aecf3b66c182a13fc9bf6e651057 SHA512 da17eb8e555adf4d4922ba8e0a549248dc2adf391f4285ce0f6919f194de327d80205c1e09af073eee526b073aba26e5551aa41a83118961d9e6eddd2887b23e
diff --git a/app-metrics/node_exporter/files/node_exporter-1.initd b/app-metrics/node_exporter/files/node_exporter-1.initd
new file mode 100644
index 000000000000..e8268e487d2d
--- /dev/null
+++ b/app-metrics/node_exporter/files/node_exporter-1.initd
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+# Copyright 2016-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Prometheus machine metrics exporter"
+pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
+user=${user:-${RC_SVCNAME}}
+group=${group:-${RC_SVCNAME}}
+
+command="/usr/bin/node_exporter"
+command_args="${command_args:---collector.textfile.directory=/var/lib/node_exporter/}"
+command_background="true"
+start_stop_daemon_args="--user ${user} --group ${group} \
+ --stdout /var/log/node_exporter/${RC_SVCNAME}.log \
+ --stderr /var/log/node_exporter/${RC_SVCNAME}.log"
+
+depend() {
+ after net
+}
diff --git a/app-metrics/node_exporter/files/node_exporter.confd b/app-metrics/node_exporter/files/node_exporter.confd
new file mode 100644
index 000000000000..b65652001308
--- /dev/null
+++ b/app-metrics/node_exporter/files/node_exporter.confd
@@ -0,0 +1,2 @@
+# arguments for prometheus node exporter
+command_args="--collector.textfile.directory=/var/lib/node_exporter/"
diff --git a/app-metrics/node_exporter/metadata.xml b/app-metrics/node_exporter/metadata.xml
new file mode 100644
index 000000000000..d758c8dfc417
--- /dev/null
+++ b/app-metrics/node_exporter/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mrueg@gentoo.org</email>
+ <name>Manuel Rüger</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">prometheus/node_exporter</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-metrics/node_exporter/node_exporter-0.15.2.ebuild b/app-metrics/node_exporter/node_exporter-0.15.2.ebuild
new file mode 100644
index 000000000000..c85ca942ce7c
--- /dev/null
+++ b/app-metrics/node_exporter/node_exporter-0.15.2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit user golang-build golang-vcs-snapshot
+
+EGO_PN="github.com/prometheus/node_exporter"
+EGIT_COMMIT="v${PV/_rc/-rc.}"
+NODE_EXPORTER_COMMIT="98bc649"
+ARCHIVE_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="amd64"
+
+DESCRIPTION="Prometheus exporter for machine metrics"
+HOMEPAGE="https://github.com/prometheus/node_exporter"
+SRC_URI="${ARCHIVE_URI}"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+DEPEND="dev-util/promu"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_prepare() {
+ default
+ sed -i -e "s/{{.Revision}}/${NODE_EXPORTER_COMMIT}/" src/${EGO_PN}/.promu.yml || die
+}
+
+src_compile() {
+ pushd src/${EGO_PN} || die
+ mkdir -p bin || die
+ GOPATH="${S}" promu build -v --prefix node_exporter || die
+ popd || die
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin node_exporter/node_exporter
+ dodoc {README,CHANGELOG,CONTRIBUTING}.md
+ popd || die
+ keepdir /var/lib/node_exporter /var/log/node_exporter
+ fowners ${PN}:${PN} /var/lib/node_exporter /var/log/node_exporter
+ newinitd "${FILESDIR}"/${PN}-1.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+}
diff --git a/app-metrics/node_exporter/node_exporter-0.16.0.ebuild b/app-metrics/node_exporter/node_exporter-0.16.0.ebuild
new file mode 100644
index 000000000000..629bed7201a0
--- /dev/null
+++ b/app-metrics/node_exporter/node_exporter-0.16.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit user golang-build golang-vcs-snapshot
+
+EGO_PN="github.com/prometheus/node_exporter"
+EGIT_COMMIT="v${PV/_rc/-rc.}"
+NODE_EXPORTER_COMMIT="d42bd70"
+ARCHIVE_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Prometheus exporter for machine metrics"
+HOMEPAGE="https://github.com/prometheus/node_exporter"
+SRC_URI="${ARCHIVE_URI}"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+DEPEND="dev-util/promu"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_prepare() {
+ default
+ sed -i -e "s/{{.Revision}}/${NODE_EXPORTER_COMMIT}/" src/${EGO_PN}/.promu.yml || die
+}
+
+src_compile() {
+ pushd src/${EGO_PN} || die
+ mkdir -p bin || die
+ GOPATH="${S}" promu build -v --prefix node_exporter || die
+ popd || die
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin node_exporter/node_exporter
+ dodoc {README,CHANGELOG,CONTRIBUTING}.md
+ popd || die
+ keepdir /var/lib/node_exporter /var/log/node_exporter
+ fowners ${PN}:${PN} /var/lib/node_exporter /var/log/node_exporter
+ newinitd "${FILESDIR}"/${PN}-1.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+}
diff --git a/app-metrics/node_exporter/node_exporter-0.16.0_rc3.ebuild b/app-metrics/node_exporter/node_exporter-0.16.0_rc3.ebuild
new file mode 100644
index 000000000000..62f4a8eceeb2
--- /dev/null
+++ b/app-metrics/node_exporter/node_exporter-0.16.0_rc3.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit user golang-build golang-vcs-snapshot
+
+EGO_PN="github.com/prometheus/node_exporter"
+EGIT_COMMIT="v${PV/_rc/-rc.}"
+NODE_EXPORTER_COMMIT="575d895"
+ARCHIVE_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Prometheus exporter for machine metrics"
+HOMEPAGE="https://github.com/prometheus/node_exporter"
+SRC_URI="${ARCHIVE_URI}"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+DEPEND="dev-util/promu"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_prepare() {
+ default
+ sed -i -e "s/{{.Revision}}/${NODE_EXPORTER_COMMIT}/" src/${EGO_PN}/.promu.yml || die
+}
+
+src_compile() {
+ pushd src/${EGO_PN} || die
+ mkdir -p bin || die
+ GOPATH="${S}" promu build -v --prefix node_exporter || die
+ popd || die
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin node_exporter/node_exporter
+ dodoc {README,CHANGELOG,CONTRIBUTING}.md
+ popd || die
+ keepdir /var/lib/node_exporter /var/log/node_exporter
+ fowners ${PN}:${PN} /var/lib/node_exporter /var/log/node_exporter
+ newinitd "${FILESDIR}"/${PN}-1.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+}
diff --git a/app-metrics/openvpn_exporter-0.2.1 b/app-metrics/openvpn_exporter-0.2.1
deleted file mode 100644
index f885ccec90e3..000000000000
--- a/app-metrics/openvpn_exporter-0.2.1
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile install setup test unpack
-DEPEND=>=dev-lang/go-1.9
-DESCRIPTION=Prometheus Exporter for OpenVPN
-EAPI=6
-HOMEPAGE=https://github.com/kumina/openvpn_exporter
-KEYWORDS=~amd64
-LICENSE=Apache-2.0
-SLOT=0
-SRC_URI=https://github.com/kumina/openvpn_exporter/archive/0.2.1.tar.gz -> openvpn_exporter-0.2.1.tar.gz https://github.com/prometheus/client_golang/archive/f504d69affe11ec1ccb2e5948127f86878c9fd57.tar.gz -> github.com-prometheus-client_golang-f504d69affe11ec1ccb2e5948127f86878c9fd57.tar.gz https://github.com/beorn7/perks/archive/3a771d992973f24aa725d07868b467d1ddfceafb.tar.gz -> github.com-beorn7-perks-3a771d992973f24aa725d07868b467d1ddfceafb.tar.gz https://github.com/golang/protobuf/archive/e09c5db296004fbe3f74490e84dcd62c3c5ddb1b.tar.gz -> github.com-golang-protobuf-e09c5db296004fbe3f74490e84dcd62c3c5ddb1b.tar.gz https://github.com/prometheus/client_model/archive/99fa1f4be8e564e8a6b613da7fa6f46c9edafc6c.tar.gz -> github.com-prometheus-client_model-99fa1f4be8e564e8a6b613da7fa6f46c9edafc6c.tar.gz https://github.com/prometheus/common/archive/38c53a9f4bfcd932d1b00bfc65e256a7fba6b37a.tar.gz -> github.com-prometheus-common-38c53a9f4bfcd932d1b00bfc65e256a7fba6b37a.tar.gz https://github.com/matttproud/golang_protobuf_extensions/archive/c12348ce28de40eed0136aa2b644d0ee0650e56c.tar.gz -> github.com-matttproud-golang_protobuf_extensions-c12348ce28de40eed0136aa2b644d0ee0650e56c.tar.gz https://github.com/prometheus/procfs/archive/780932d4fbbe0e69b84c34c20f5c8d0981e109ea.tar.gz -> github.com-prometheus-procfs-780932d4fbbe0e69b84c34c20f5c8d0981e109ea.tar.gz
-_eclasses_=golang-base d4e3a3f895016e5c9d7afb1a33e7cf3c golang-build b66349c110e4ddd6203bbe8bf4ae05c1 golang-vcs-snapshot 913580335becddd3ebecefe852e47536 user 8bc2845510e2109af75e3eeac607ec81
-_md5_=11d7b049e083cf3aa4c64650b7f38d97
diff --git a/app-metrics/openvpn_exporter/Manifest b/app-metrics/openvpn_exporter/Manifest
new file mode 100644
index 000000000000..82ece2fb295e
--- /dev/null
+++ b/app-metrics/openvpn_exporter/Manifest
@@ -0,0 +1,13 @@
+AUX openvpn_exporter.confd 113 BLAKE2B e594f82156478db050f0959708e1e10b63bd18a347e106f5f179511355e0d7a9edbb1137f45f675bd50cd5cca8699711fe77a88ef18acc35b8656bb0e6869b3d SHA512 9b6a42c2b3ddbcdc5d497288cb42df0ddf48621cf0b298ddcd199c2f189fa2f13603dfac2bdd3b7797425198aeba01122de75a439f1d0072f2f77796aebf3648
+AUX openvpn_exporter.initd 628 BLAKE2B 17d220ce8b230eec2f9aaf079398e2e0ea43e492d11d36468a4ebf10297089034e3fb8657b84be61ca79c2c82ab6aac7218f28607a84559957b75136c5fa6617 SHA512 ac5416bf68ef6228e78ca459efef26e372ca25377b23cc036db69ce635f6b11c32154b0a4823b9cc4745f067378fd5eff391983750ee0ea2d3e69b1041832a6f
+AUX openvpn_exporter.logrotated 105 BLAKE2B b3524dbb7a86f7b70568a214b08855c9ab56a054a31bcf34447c4518aebbe4a918a77d0f0896e9c0afc66655c1359b7e09cc4297af54f612142e1a0c2fd7954a SHA512 5e52cb2df57040dbb66ab18dff7cf3cf641da7331edec966a767b9a0060f90236863f99599a24e71cc49fe15448c202eddb614669446f221e0349e49a40ca9dc
+DIST github.com-beorn7-perks-3a771d992973f24aa725d07868b467d1ddfceafb.tar.gz 10800 BLAKE2B 5487155a4d010af70b6ea2625d10ae03b6642507902d7dc168edb5d7cf0efa1777b248d0df34ed1a2564950b12613256c1c6ce1d8c9723cc34977ed883b21c8d SHA512 c6aa5df262ab607c0a5f64372fc2fec1ddda9e5624e9d9a22cdd1bc11822c99736d88bdf5e3fc6050217b5084548417cb2926c3940e156da9397d828d59ce277
+DIST github.com-golang-protobuf-e09c5db296004fbe3f74490e84dcd62c3c5ddb1b.tar.gz 269725 BLAKE2B a62a3f96c49d77776103a9bece69b615e00d4140c9de8b42fb7edac979c8a8d172bd21062d3d6e24ae01dba10b320ff208ff8c6916da2d84118da448afc8caf7 SHA512 f64fa42e7ed9701860e16b1cdedc9f6b029630b6f534ee403ede1223c0c7542c731735995ea9763f093b56146776902b6633e5b1691b1f1dd4ab84dea0092099
+DIST github.com-matttproud-golang_protobuf_extensions-c12348ce28de40eed0136aa2b644d0ee0650e56c.tar.gz 37215 BLAKE2B b3b007f925a4a1c1862c8cbe34c5cd225dfa610ad8c56b5328e6920a44b507680daeea97209370bd6b259654d0ca5791f4bcc54b8bd8970b9aaf994eada16d4f SHA512 2f78290d1448cfc041d10210092d6da6f3df2b9b6c16ff730750e976e450dafe2645ba945319a0a3064c88f9c18652c69c0e0cf69d8931c08d23ffe65a8cc07d
+DIST github.com-prometheus-client_golang-f504d69affe11ec1ccb2e5948127f86878c9fd57.tar.gz 106949 BLAKE2B b5ee911f6d478ae21a71c2827f541ecd174dee7dbf23fff58a517e739f0e16bf91451a6aabf3f3f786b62256e2c4ee8481cc3169d01819425d56a0eb802a36c9 SHA512 234ad2fa57751901ab2a0e5843bce17689166d8fc285d63f9de0da412cfe7176e8a9f96c0bf5342184985fbb564def31087255bf11766331636c3624fe85eb62
+DIST github.com-prometheus-client_model-99fa1f4be8e564e8a6b613da7fa6f46c9edafc6c.tar.gz 54718 BLAKE2B 1dec6ac40fc5103117c2cf0538e138fc57c7b9795516c530b3c0dc2f5983f88c2d0eb1b094859815397fb14d50648240556fb6b11a8935586eca29eb66b4e958 SHA512 99bc72ca0887df4c7ab5a006af9c59afdc1281fe6d6d17f2897428a06da80d63d6ccd476deacb933cb208357500f14a7b96e99b9c5a7582e65a7aae87aaf2c50
+DIST github.com-prometheus-common-38c53a9f4bfcd932d1b00bfc65e256a7fba6b37a.tar.gz 63007 BLAKE2B a62f727ef9dd42d52f495ab7449cbafbe7c7fcdb1bc171df97c40348dcb7fe12788223d7a2aea3398cae7dd17ec73ae6349b5e5f35f4785f2796cc9a16c2d420 SHA512 4f1ab6cffc309a00ed68959b9372e1d3ea4f8d597b8c462a4e365cf22737245e601b8bda0764bbd1f0172d773805d16e90a8aa90cb95e9462e35320043e04060
+DIST github.com-prometheus-procfs-780932d4fbbe0e69b84c34c20f5c8d0981e109ea.tar.gz 56873 BLAKE2B 31ae12d51b6a28c285bd5854b137d2634499d0db3c2c65c0404ca5a902ffec2e9bf689261ea51c2fe1643733f09a780c437f7a7899a5e6c3e3d100a36e07b897 SHA512 a548c6bc71456c9878cb34ad1514d92c8737e01b555e953f848cc1ae7944424b06a14a8ab0c6de4d99dbb189a0f29e2bb9ae09b5adffc327c28f5c50c2819892
+DIST openvpn_exporter-0.2.1.tar.gz 10126 BLAKE2B 06899bdc151232b6588e865ccdb69c4cc0b4f618de8b8d03240d72c7fe2acade2c65b60597f744936c19c603da0e0f924b8910a5898349a42884f91deb882e59 SHA512 9cbf859be78337e15c1e3ba0c2dc687afc18b4879af68b7b9fe823aebb415c8b430aedb7e31ffdd1685c582632db1427504a1fb874aac49c8ef11df4345ecca1
+EBUILD openvpn_exporter-0.2.1.ebuild 1537 BLAKE2B 54cbca7bc2b9ba49ed8dd4bee3e146a4248cc24a91a23bc69a92dbe35aeaed5a1620e50ba08daf5e03a44f621f82766437ad8569f23d3b4f8f1f70a3375ac875 SHA512 d6129d579226e17ba150d9e767c8d28ef1f87411415bb51aafb349469709a5965c49c85ebefa56bcdc8e84fe7ee596a8547d3de3678c1f304f22bfc7a17fa290
+MISC metadata.xml 333 BLAKE2B 8684f88c493ace77ed6eb36b86347bb52c64f09513ba34ce58ac811a770ea96df8c3a136bb9a8d06be4aa63b2ffd562f0251cfa6c5e7ad2cc099ebc3277093e6 SHA512 ce15fefbc0e12f6e720fefa0e4a1a243349388fcbb96ffdf7e20e30543a4899b5bb6add5d7aef4a99f65bc1157689432c894ce65f92ff794486d8ae9653fd227
diff --git a/app-metrics/openvpn_exporter/files/openvpn_exporter.confd b/app-metrics/openvpn_exporter/files/openvpn_exporter.confd
new file mode 100644
index 000000000000..5aef9b6d5a79
--- /dev/null
+++ b/app-metrics/openvpn_exporter/files/openvpn_exporter.confd
@@ -0,0 +1,2 @@
+# arguments for prometheus openvpn exporter
+command_args="-openvpn.status_paths /etc/openvpn/openvpn-status.log"
diff --git a/app-metrics/openvpn_exporter/files/openvpn_exporter.initd b/app-metrics/openvpn_exporter/files/openvpn_exporter.initd
new file mode 100644
index 000000000000..50fa4dab4fb2
--- /dev/null
+++ b/app-metrics/openvpn_exporter/files/openvpn_exporter.initd
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+# Copyright 2016-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Prometheus Exporter for OpenVPN status Metrics"
+pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
+user=${user:-${RC_SVCNAME}}
+group=${group:-${RC_SVCNAME}}
+
+command="/usr/bin/openvpn_exporter"
+command_args="${command_args:--openvpn.status_paths /etc/openvpn/openvpn-status.log}"
+command_background="true"
+start_stop_daemon_args="--user ${user} --group ${group} \
+ --stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log \
+ --stderr /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log"
+
+depend() {
+ after net
+}
diff --git a/app-metrics/openvpn_exporter/files/openvpn_exporter.logrotated b/app-metrics/openvpn_exporter/files/openvpn_exporter.logrotated
new file mode 100644
index 000000000000..37ffbe501421
--- /dev/null
+++ b/app-metrics/openvpn_exporter/files/openvpn_exporter.logrotated
@@ -0,0 +1,7 @@
+/var/log/openvpn_exporter/openvpn_exporter.log {
+ missingok
+ size 5M
+ rotate 3
+ compress
+ copytruncate
+}
diff --git a/app-metrics/openvpn_exporter/metadata.xml b/app-metrics/openvpn_exporter/metadata.xml
new file mode 100644
index 000000000000..b3817548e304
--- /dev/null
+++ b/app-metrics/openvpn_exporter/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mrueg@gentoo.org</email>
+ <name>Manuel Rüger</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">kumina/openvpn_exporter</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-metrics/openvpn_exporter/openvpn_exporter-0.2.1.ebuild b/app-metrics/openvpn_exporter/openvpn_exporter-0.2.1.ebuild
new file mode 100644
index 000000000000..7f7dc1158ef8
--- /dev/null
+++ b/app-metrics/openvpn_exporter/openvpn_exporter-0.2.1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+EGO_VENDOR=(
+ "github.com/prometheus/client_golang f504d69affe11ec1ccb2e5948127f86878c9fd57"
+ "github.com/beorn7/perks 3a771d992973f24aa725d07868b467d1ddfceafb"
+ "github.com/golang/protobuf e09c5db296004fbe3f74490e84dcd62c3c5ddb1b"
+ "github.com/prometheus/client_model 99fa1f4be8e564e8a6b613da7fa6f46c9edafc6c"
+ "github.com/prometheus/common 38c53a9f4bfcd932d1b00bfc65e256a7fba6b37a"
+ "github.com/matttproud/golang_protobuf_extensions c12348ce28de40eed0136aa2b644d0ee0650e56c"
+ "github.com/prometheus/procfs 780932d4fbbe0e69b84c34c20f5c8d0981e109ea"
+ )
+
+inherit user golang-build golang-vcs-snapshot
+
+EGO_PN="github.com/kumina/openvpn_exporter"
+ARCHIVE_URI="https://${EGO_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Prometheus Exporter for OpenVPN"
+HOMEPAGE="https://github.com/kumina/openvpn_exporter"
+SRC_URI="${ARCHIVE_URI}
+ ${EGO_VENDOR_URI}"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+rc_compile() {
+ pushd src/${EGO_PN} || die
+ GOPATH="${S}" \
+ go build -v -o ${PN} || die
+ popd || die
+}
+
+src_install() {
+ dobin ${PN}
+ dodoc src/${EGO_PN}/{CHANGELOG,README}.md
+ local dir
+ for dir in /var/{lib,log}/${PN}; do
+ keepdir "${dir}"
+ fowners ${PN}:${PN} "${dir}"
+ done
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/${PN}.logrotated" "${PN}"
+}
diff --git a/app-metrics/postfix_exporter-0.1.2 b/app-metrics/postfix_exporter-0.1.2
deleted file mode 100644
index 8a5dee0fb5e7..000000000000
--- a/app-metrics/postfix_exporter-0.1.2
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install setup test unpack
-DEPEND=systemd? ( sys-apps/systemd ) >=dev-lang/go-1.9
-DESCRIPTION=Prometheus Exporter for Postfix
-EAPI=6
-HOMEPAGE=https://github.com/kumina/postfix_exporter
-IUSE=systemd
-KEYWORDS=~amd64
-LICENSE=Apache-2.0
-RESTRICT=test
-SLOT=0
-SRC_URI=https://github.com/kumina/postfix_exporter/archive/0.1.2.tar.gz -> postfix_exporter-0.1.2.tar.gz https://github.com/coreos/go-systemd/archive/bebb2b01b0473b183e4624aaf8e23ae6f4b22417.tar.gz -> github.com-coreos-go-systemd-bebb2b01b0473b183e4624aaf8e23ae6f4b22417.tar.gz https://github.com/coreos/pkg/archive/97fdf19511ea361ae1c100dd393cc47f8dcfa1e1.tar.gz -> github.com-coreos-pkg-97fdf19511ea361ae1c100dd393cc47f8dcfa1e1.tar.gz https://github.com/prometheus/client_golang/archive/f504d69affe11ec1ccb2e5948127f86878c9fd57.tar.gz -> github.com-prometheus-client_golang-f504d69affe11ec1ccb2e5948127f86878c9fd57.tar.gz https://github.com/beorn7/perks/archive/3a771d992973f24aa725d07868b467d1ddfceafb.tar.gz -> github.com-beorn7-perks-3a771d992973f24aa725d07868b467d1ddfceafb.tar.gz https://github.com/golang/protobuf/archive/e09c5db296004fbe3f74490e84dcd62c3c5ddb1b.tar.gz -> github.com-golang-protobuf-e09c5db296004fbe3f74490e84dcd62c3c5ddb1b.tar.gz https://github.com/prometheus/client_model/archive/99fa1f4be8e564e8a6b613da7fa6f46c9edafc6c.tar.gz -> github.com-prometheus-client_model-99fa1f4be8e564e8a6b613da7fa6f46c9edafc6c.tar.gz https://github.com/prometheus/common/archive/38c53a9f4bfcd932d1b00bfc65e256a7fba6b37a.tar.gz -> github.com-prometheus-common-38c53a9f4bfcd932d1b00bfc65e256a7fba6b37a.tar.gz https://github.com/matttproud/golang_protobuf_extensions/archive/c12348ce28de40eed0136aa2b644d0ee0650e56c.tar.gz -> github.com-matttproud-golang_protobuf_extensions-c12348ce28de40eed0136aa2b644d0ee0650e56c.tar.gz https://github.com/prometheus/procfs/archive/780932d4fbbe0e69b84c34c20f5c8d0981e109ea.tar.gz -> github.com-prometheus-procfs-780932d4fbbe0e69b84c34c20f5c8d0981e109ea.tar.gz
-_eclasses_=golang-base d4e3a3f895016e5c9d7afb1a33e7cf3c golang-build b66349c110e4ddd6203bbe8bf4ae05c1 golang-vcs-snapshot 913580335becddd3ebecefe852e47536 user 8bc2845510e2109af75e3eeac607ec81
-_md5_=aea25bdfa23562c4deaed255d102c452
diff --git a/app-metrics/postfix_exporter/Manifest b/app-metrics/postfix_exporter/Manifest
new file mode 100644
index 000000000000..2eb5a9b4a2de
--- /dev/null
+++ b/app-metrics/postfix_exporter/Manifest
@@ -0,0 +1,15 @@
+AUX postfix_exporter.confd 527 BLAKE2B c05b24a709dd2d4f67f048975fedae0ca78eaacf42918c56c20d7a1aba8568158ee573076bce0c77518b55db5a78fd36bb0d5bd79138e7a31e47d1b7cc47c7c7 SHA512 6275fc294668e64996053923be9c3c00246c2db5deaaa50b28ddc1f049f953f51d9923813c32ca8f809d409a8e843c0de49fafe3d1ed11f69f222e3e1bf25a77
+AUX postfix_exporter.initd 568 BLAKE2B 609f1f75938dbb5b912c4214067fb576e965f06ebc7fd28f0ddb498f67faadad319eb869e111455f8d60af8478719acd5a18cc27b19a9f5f3dfc8ae4ef7ebb9b SHA512 8eb23305c89d61b71d6e22d9a8120290af4ab40050bae56d0149935f1d8fc03375c3ee4d3043e3ff56e0198393b7fe10eb9bfaaadc170c6bb1c47c1807959700
+AUX postfix_exporter.logrotated 105 BLAKE2B 5285292139b4412afa9ab5d0fbe19f17f8785e0f98784a18f400373ec2c079cd4302ebb458564f2f052fc77a9b94709c81445947dd46a108029e680a0fd2b81c SHA512 1c20e1718bdd91df38758d30af520db983146332659d06205112a662eb8f096c3671f7631bc835255fdcb0538c66224c244a523e94f12e08ccb7b85b953844b5
+DIST github.com-beorn7-perks-3a771d992973f24aa725d07868b467d1ddfceafb.tar.gz 10800 BLAKE2B 5487155a4d010af70b6ea2625d10ae03b6642507902d7dc168edb5d7cf0efa1777b248d0df34ed1a2564950b12613256c1c6ce1d8c9723cc34977ed883b21c8d SHA512 c6aa5df262ab607c0a5f64372fc2fec1ddda9e5624e9d9a22cdd1bc11822c99736d88bdf5e3fc6050217b5084548417cb2926c3940e156da9397d828d59ce277
+DIST github.com-coreos-go-systemd-bebb2b01b0473b183e4624aaf8e23ae6f4b22417.tar.gz 60308 BLAKE2B 0b042dae9418cae85d258f1ba029f5edf0550971583c9389a13230b08b6a164600bc9bc36392daaf85af6cd1e1140b6c3f7a8af268be1808e0fe07b5a7223efb SHA512 3469e4db9ad335443ff8da4421e790a21cf56489f8be473fdbe36dc000f6a4497ee68d0038202ab28f5cb7655212e33988ba79ad7cac39fd49f6e35f0f6b728e
+DIST github.com-coreos-pkg-97fdf19511ea361ae1c100dd393cc47f8dcfa1e1.tar.gz 32444 BLAKE2B 2601d814407a50eb19e1413228091ecac21ad76bee643e5dfd5e6cff574ddf2dad8a09a1d366f680d48a7402d2ee73eab64dda3a50c3f1be1d594d09c21fb9ed SHA512 3212abf2ec16038d9bd9705bbdaa0f905678b7ec928065f122b54926b90d629ef456c903dd020e98ee56271c82614ca54c4690bb7b258084a0d0bf8422a39d6f
+DIST github.com-golang-protobuf-e09c5db296004fbe3f74490e84dcd62c3c5ddb1b.tar.gz 269725 BLAKE2B a62a3f96c49d77776103a9bece69b615e00d4140c9de8b42fb7edac979c8a8d172bd21062d3d6e24ae01dba10b320ff208ff8c6916da2d84118da448afc8caf7 SHA512 f64fa42e7ed9701860e16b1cdedc9f6b029630b6f534ee403ede1223c0c7542c731735995ea9763f093b56146776902b6633e5b1691b1f1dd4ab84dea0092099
+DIST github.com-matttproud-golang_protobuf_extensions-c12348ce28de40eed0136aa2b644d0ee0650e56c.tar.gz 37215 BLAKE2B b3b007f925a4a1c1862c8cbe34c5cd225dfa610ad8c56b5328e6920a44b507680daeea97209370bd6b259654d0ca5791f4bcc54b8bd8970b9aaf994eada16d4f SHA512 2f78290d1448cfc041d10210092d6da6f3df2b9b6c16ff730750e976e450dafe2645ba945319a0a3064c88f9c18652c69c0e0cf69d8931c08d23ffe65a8cc07d
+DIST github.com-prometheus-client_golang-f504d69affe11ec1ccb2e5948127f86878c9fd57.tar.gz 106949 BLAKE2B b5ee911f6d478ae21a71c2827f541ecd174dee7dbf23fff58a517e739f0e16bf91451a6aabf3f3f786b62256e2c4ee8481cc3169d01819425d56a0eb802a36c9 SHA512 234ad2fa57751901ab2a0e5843bce17689166d8fc285d63f9de0da412cfe7176e8a9f96c0bf5342184985fbb564def31087255bf11766331636c3624fe85eb62
+DIST github.com-prometheus-client_model-99fa1f4be8e564e8a6b613da7fa6f46c9edafc6c.tar.gz 54718 BLAKE2B 1dec6ac40fc5103117c2cf0538e138fc57c7b9795516c530b3c0dc2f5983f88c2d0eb1b094859815397fb14d50648240556fb6b11a8935586eca29eb66b4e958 SHA512 99bc72ca0887df4c7ab5a006af9c59afdc1281fe6d6d17f2897428a06da80d63d6ccd476deacb933cb208357500f14a7b96e99b9c5a7582e65a7aae87aaf2c50
+DIST github.com-prometheus-common-38c53a9f4bfcd932d1b00bfc65e256a7fba6b37a.tar.gz 63007 BLAKE2B a62f727ef9dd42d52f495ab7449cbafbe7c7fcdb1bc171df97c40348dcb7fe12788223d7a2aea3398cae7dd17ec73ae6349b5e5f35f4785f2796cc9a16c2d420 SHA512 4f1ab6cffc309a00ed68959b9372e1d3ea4f8d597b8c462a4e365cf22737245e601b8bda0764bbd1f0172d773805d16e90a8aa90cb95e9462e35320043e04060
+DIST github.com-prometheus-procfs-780932d4fbbe0e69b84c34c20f5c8d0981e109ea.tar.gz 56873 BLAKE2B 31ae12d51b6a28c285bd5854b137d2634499d0db3c2c65c0404ca5a902ffec2e9bf689261ea51c2fe1643733f09a780c437f7a7899a5e6c3e3d100a36e07b897 SHA512 a548c6bc71456c9878cb34ad1514d92c8737e01b555e953f848cc1ae7944424b06a14a8ab0c6de4d99dbb189a0f29e2bb9ae09b5adffc327c28f5c50c2819892
+DIST postfix_exporter-0.1.2.tar.gz 11552 BLAKE2B 987c81482fc984e8f6c870fdaf7ce2ef67b3fa66e5782713a645d35b76a1bde1dde97a79705569d1423a9356309d0b7240c77dba386127e8a5035990220d2a62 SHA512 579793281dedd858538ab9a931e0003cfc9989204ebf4352dd4860e5a7f62b919d77a9e0facb9daff6706771010f9e807061dace8cb88928635d55111c7c482a
+EBUILD postfix_exporter-0.1.2.ebuild 1800 BLAKE2B c4fea274cf1304c29cede6c6734bcb6495c2ca02caa30babcc38c2b23e6c538855009233714cfe69821556858ea7ae5aecfe1c87c2ee9da55fe4bae467324926 SHA512 18552e1caa8a58b84bd91750c1255ce2e93d2e5bbafc2b894c8716a34779660b70f439229227456352c35d5959c88d4ecd322ca24dc730f1365507981701c2fb
+MISC metadata.xml 333 BLAKE2B 18b452d84f05bd66d189db30b177d2696e40679c1470c1cd2947066adbe436db1aa5695601a637682b0a50e6bdd74e6ceb9206c7748fb5cc35761822900a6b8f SHA512 2923e428344cb58904a440e1f09e804948bc1fb1457128ff1b2c0885988031399490e5262409e5bbd12bbdb1ab9a60775294a05f31f2253dc07ebf4483016769
diff --git a/app-metrics/postfix_exporter/files/postfix_exporter.confd b/app-metrics/postfix_exporter/files/postfix_exporter.confd
new file mode 100644
index 000000000000..a96327925e11
--- /dev/null
+++ b/app-metrics/postfix_exporter/files/postfix_exporter.confd
@@ -0,0 +1,9 @@
+# -postfix.logfile_path string
+# Path where Postfix writes log entries. This file will be truncated by this exporter. (default "/var/log/postfix_exporter_input.log")
+# -postfix.showq_path string
+# Path at which Postfix places its showq socket. (default "/var/spool/postfix/public/showq")
+# -web.listen-address string
+# Address to listen on for web interface and telemetry. (default ":9154")
+# -web.telemetry-path string
+# Path under which to expose metrics. (default "/metrics")
+command_args=""
diff --git a/app-metrics/postfix_exporter/files/postfix_exporter.initd b/app-metrics/postfix_exporter/files/postfix_exporter.initd
new file mode 100644
index 000000000000..8fce39c9db03
--- /dev/null
+++ b/app-metrics/postfix_exporter/files/postfix_exporter.initd
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+# Copyright 2016-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Prometheus Exporter for Postfix Metrics"
+pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
+user=${user:-${RC_SVCNAME}}
+group=${group:-${RC_SVCNAME}}
+
+command="/usr/bin/postfix_exporter"
+command_args="${command_args:-}"
+command_background="true"
+start_stop_daemon_args="--user ${user} --group ${group} \
+ --stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log \
+ --stderr /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log"
+
+depend() {
+ after net
+}
diff --git a/app-metrics/postfix_exporter/files/postfix_exporter.logrotated b/app-metrics/postfix_exporter/files/postfix_exporter.logrotated
new file mode 100644
index 000000000000..7c9e9f4018c8
--- /dev/null
+++ b/app-metrics/postfix_exporter/files/postfix_exporter.logrotated
@@ -0,0 +1,7 @@
+/var/log/postfix_exporter/postfix_exporter.log {
+ missingok
+ size 5M
+ rotate 3
+ compress
+ copytruncate
+}
diff --git a/app-metrics/postfix_exporter/metadata.xml b/app-metrics/postfix_exporter/metadata.xml
new file mode 100644
index 000000000000..7f7638315a35
--- /dev/null
+++ b/app-metrics/postfix_exporter/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mrueg@gentoo.org</email>
+ <name>Manuel Rüger</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">kumina/postfix_exporter</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-metrics/postfix_exporter/postfix_exporter-0.1.2.ebuild b/app-metrics/postfix_exporter/postfix_exporter-0.1.2.ebuild
new file mode 100644
index 000000000000..4eeeb08ad702
--- /dev/null
+++ b/app-metrics/postfix_exporter/postfix_exporter-0.1.2.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+EGO_VENDOR=( "github.com/coreos/go-systemd bebb2b01b0473b183e4624aaf8e23ae6f4b22417"
+ "github.com/coreos/pkg 97fdf19511ea361ae1c100dd393cc47f8dcfa1e1"
+ "github.com/prometheus/client_golang f504d69affe11ec1ccb2e5948127f86878c9fd57"
+ "github.com/beorn7/perks 3a771d992973f24aa725d07868b467d1ddfceafb"
+ "github.com/golang/protobuf e09c5db296004fbe3f74490e84dcd62c3c5ddb1b"
+ "github.com/prometheus/client_model 99fa1f4be8e564e8a6b613da7fa6f46c9edafc6c"
+ "github.com/prometheus/common 38c53a9f4bfcd932d1b00bfc65e256a7fba6b37a"
+ "github.com/matttproud/golang_protobuf_extensions c12348ce28de40eed0136aa2b644d0ee0650e56c"
+ "github.com/prometheus/procfs 780932d4fbbe0e69b84c34c20f5c8d0981e109ea" )
+
+inherit user golang-build golang-vcs-snapshot
+
+EGO_PN="github.com/kumina/postfix_exporter"
+ARCHIVE_URI="https://${EGO_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Prometheus Exporter for Postfix"
+HOMEPAGE="https://github.com/kumina/postfix_exporter"
+SRC_URI="${ARCHIVE_URI}
+ ${EGO_VENDOR_URI}"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="systemd"
+
+DEPEND="systemd? ( sys-apps/systemd )"
+
+RESTRICT="test"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_compile() {
+ pushd src/${EGO_PN} || die
+ GOPATH="${S}" \
+ go build -tags "$(usex systemd '' 'nosystemd')" -v -o bin/${PN} || die
+ popd || die
+}
+
+src_install() {
+ dobin src/${EGO_PN}/bin/${PN}
+ dodoc src/${EGO_PN}/{CHANGELOG,README}.md
+ local dir
+ for dir in /var/{lib,log}/${PN}; do
+ keepdir "${dir}"
+ fowners ${PN}:${PN} "${dir}"
+ done
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/${PN}.logrotated" "${PN}"
+}
diff --git a/app-metrics/postgres_exporter-0.4.6 b/app-metrics/postgres_exporter-0.4.6
deleted file mode 100644
index c5a39dcefbcb..000000000000
--- a/app-metrics/postgres_exporter-0.4.6
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile install setup test unpack
-DEPEND=>=dev-lang/go-1.9
-DESCRIPTION=PostgreSQL stats exporter for Prometheus
-EAPI=6
-HOMEPAGE=https://github.com/wrouesnel/postgres_exporter
-KEYWORDS=~amd64
-LICENSE=Apache-2.0
-RESTRICT=test
-SLOT=0
-SRC_URI=https://github.com/wrouesnel/postgres_exporter/archive/v0.4.6.tar.gz -> postgres_exporter-0.4.6.tar.gz
-_eclasses_=golang-base d4e3a3f895016e5c9d7afb1a33e7cf3c golang-build b66349c110e4ddd6203bbe8bf4ae05c1 golang-vcs-snapshot 913580335becddd3ebecefe852e47536 user 8bc2845510e2109af75e3eeac607ec81
-_md5_=76fc337e3f431b54e67a1b233e09a269
diff --git a/app-metrics/postgres_exporter/Manifest b/app-metrics/postgres_exporter/Manifest
new file mode 100644
index 000000000000..42ef180e5dc8
--- /dev/null
+++ b/app-metrics/postgres_exporter/Manifest
@@ -0,0 +1,5 @@
+AUX postgres_exporter.confd 61 BLAKE2B ce1fac504bd44cd87bec492b2fc5ccc8fc7c1f1bc19b44d7c9572025f82c365655f4269679acf2b40adfbe30c624d59b1a72a2a802c50310ef3259d0c46264b4 SHA512 8792b42a98f807aab7f33ef2dd679f79b14afa3f61a41ac86e9d829199a14b1a21d116c1f921a646c460ebb568591605272fa028ef99c66d16b529ce9da66c54
+AUX postgres_exporter.initd 560 BLAKE2B 2a813208d623460930d0e2288fb4102dde6add57bd9e83caa60a46cfb4770734bfcfd88a29713c881a36f2d1e20ff0c8e3ed47a23e024d865cbcc7d6cddf99ed SHA512 7ab3c8ea837e48ee776e12254a6c968ffceb6fa3f9f994aa44897f3a8fe6bea3d5ce29e8b4f85b626b690b50171feff5901952cbbad28ccc0e49333496ca7c87
+DIST postgres_exporter-0.4.6.tar.gz 3698795 BLAKE2B 5d8a370d6f5ddbe0c8570ad14d8547a5d56dbbd9d4f2d5ef604550cd0e1e97baa5c7bbd0940704f3d8f7f25da0f26d54318b4e4732a82f68e9394c5c9b044a20 SHA512 16062a372ad8048ca0bdb41e302bde9d18dfcdc519fbf387cc7ea414667d4a8ad2984b524e7a2c86132f4b37a175c6dd9d4ce67be5cc3c9d91aa9e73cb8c4e3b
+EBUILD postgres_exporter-0.4.6.ebuild 945 BLAKE2B 0f8ea22ff54917e578d0713ca8f40fa0f53796fa42432c22615a06057526770c03c45516f7126b491e45150ed747d99c7e8c0e04fca18c6ee17c409282d8d6a9 SHA512 52d4ec2a3f8666509ef1dfa2277085905da5fed3fda393492fc3b2960045c573dac2365404887c6a71fea9530135ae801e2a0ea3d7aa7306d2faad1acece4e93
+MISC metadata.xml 337 BLAKE2B 79c683483a3d5f1c6d2c12885d54ff7770b228fcff132d43fcc13bbe2c54e5eae455c11c02d007f17a80e16e72b75da2708121d5704be65de15f596c7a5f1ec5 SHA512 e14d296a2b04ea3a0c49f51d340d5d3eb8d5d52ab40e635d03d6b37db62f442d3d8d5671be5ad5b0b397c95e091de0d12a5b3a169b0991d1798ef055321ff559
diff --git a/app-metrics/postgres_exporter/files/postgres_exporter.confd b/app-metrics/postgres_exporter/files/postgres_exporter.confd
new file mode 100644
index 000000000000..88fa9e35088f
--- /dev/null
+++ b/app-metrics/postgres_exporter/files/postgres_exporter.confd
@@ -0,0 +1,2 @@
+# arguments for prometheus postgres exporter
+command_args=""
diff --git a/app-metrics/postgres_exporter/files/postgres_exporter.initd b/app-metrics/postgres_exporter/files/postgres_exporter.initd
new file mode 100644
index 000000000000..83bff2029518
--- /dev/null
+++ b/app-metrics/postgres_exporter/files/postgres_exporter.initd
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+# Copyright 2016-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Prometheus PostgreSQL exporter"
+pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
+user=${user:-${RC_SVCNAME}}
+group=${group:-${RC_SVCNAME}}
+
+command="/usr/bin/postgres_exporter"
+command_args="${command_args:-}"
+command_background="true"
+start_stop_daemon_args="--user ${user} --group ${group} \
+ --stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log \
+ --stderr /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log"
+
+depend() {
+ after net
+}
diff --git a/app-metrics/postgres_exporter/metadata.xml b/app-metrics/postgres_exporter/metadata.xml
new file mode 100644
index 000000000000..201fed5c7290
--- /dev/null
+++ b/app-metrics/postgres_exporter/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mrueg@gentoo.org</email>
+ <name>Manuel Rüger</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">wrouesnel/postgres_exporter</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-metrics/postgres_exporter/postgres_exporter-0.4.6.ebuild b/app-metrics/postgres_exporter/postgres_exporter-0.4.6.ebuild
new file mode 100644
index 000000000000..8aa5a0f5e8dd
--- /dev/null
+++ b/app-metrics/postgres_exporter/postgres_exporter-0.4.6.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit user golang-build golang-vcs-snapshot
+
+EGO_PN="github.com/wrouesnel/postgres_exporter"
+ARCHIVE_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="PostgreSQL stats exporter for Prometheus"
+HOMEPAGE="https://github.com/wrouesnel/postgres_exporter"
+SRC_URI="${ARCHIVE_URI}"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+RESTRICT="test"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_compile() {
+ pushd src/${EGO_PN} || die
+ VERSION_SHORT="${PV}" VERSION="${PV}" GOPATH="${S}" go run mage.go binary || die
+ popd || die
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin ${PN}
+ dodoc README.md queries.yaml
+ popd || die
+ keepdir /var/log/${PN}
+ fowners ${PN}:${PN} /var/log/${PN}
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+}
diff --git a/app-metrics/prom2json-0.1.0_p20170523 b/app-metrics/prom2json-0.1.0_p20170523
deleted file mode 100644
index 56c38c87df38..000000000000
--- a/app-metrics/prom2json-0.1.0_p20170523
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile install prepare test unpack
-DEPEND=dev-util/promu >=dev-lang/go-1.9
-DESCRIPTION=A tool to scrape a Prometheus client and dump the result as JSON
-EAPI=6
-HOMEPAGE=https://github.com/prometheus/prom2json
-KEYWORDS=~amd64
-LICENSE=Apache-2.0
-SLOT=0
-SRC_URI=https://github.com/prometheus/prom2json/archive/4a7436442837da72f9e211d99f0145dff3246b66.tar.gz -> prom2json-0.1.0_p20170523.tar.gz
-_eclasses_=golang-base d4e3a3f895016e5c9d7afb1a33e7cf3c golang-build b66349c110e4ddd6203bbe8bf4ae05c1 golang-vcs-snapshot 913580335becddd3ebecefe852e47536 user 8bc2845510e2109af75e3eeac607ec81
-_md5_=699f93213d211f4afbfd735d1264a53d
diff --git a/app-metrics/prom2json/Manifest b/app-metrics/prom2json/Manifest
new file mode 100644
index 000000000000..4ea08c2b5ec4
--- /dev/null
+++ b/app-metrics/prom2json/Manifest
@@ -0,0 +1,3 @@
+DIST prom2json-0.1.0_p20170523.tar.gz 129179 BLAKE2B ef0e42e340d53894c31bff7018b668d8575fc3568584a43dc308955665ac6f59dbabf2d4605bc2a66957df57a29ebb7b3a4eef1f99537eefc2805a5ffd86904f SHA512 824f4c43f4a167dc7dde2f11e84cf482e5cdfa26ab11caf08a5461d525543c3491180f54694c4ae61fdd5dc9763ff16f6e29b332a64dc3ac52fdb7b9c0902571
+EBUILD prom2json-0.1.0_p20170523.ebuild 921 BLAKE2B 8c4c359398fd7941f127c2fec6f8a0306f53dee43d2948873ffffe840b27f35ce2753c787f2bdfc6445ef9371fa10b4edc36dc3c2565e358ee7f9c8fe868b6ad SHA512 85ba4728a68ea42bc69f196e0e027f38ece006b9af5b2c9fe2da30b2605f79dc568017132e2eaa116b109bc7f18109581c8d69df641f82c7ce0066ea5dd9d3f2
+MISC metadata.xml 330 BLAKE2B 0e691de7e25e1287ed59fe2606e788b073ca53a20e893ca26ae274968f42050cc6c86e8b62dbdfdd361d98f212386249cb0d028de54f52f6cc3e1b211e2da679 SHA512 17cb63ee862d80eb3e6d15cd209acee351873802eae2f3a943b17b68e8d042706c2eb6e4ee9b5bdc6e0c9901888eadf6fbd3ee9969a517f417b25237b70b5470
diff --git a/app-metrics/prom2json/metadata.xml b/app-metrics/prom2json/metadata.xml
new file mode 100644
index 000000000000..eaf3cc3d6f87
--- /dev/null
+++ b/app-metrics/prom2json/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mrueg@gentoo.org</email>
+ <name>Manuel Rüger</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">prometheus/prom2json</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-metrics/prom2json/prom2json-0.1.0_p20170523.ebuild b/app-metrics/prom2json/prom2json-0.1.0_p20170523.ebuild
new file mode 100644
index 000000000000..8bc84e323834
--- /dev/null
+++ b/app-metrics/prom2json/prom2json-0.1.0_p20170523.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit user golang-build golang-vcs-snapshot
+
+EGO_PN="github.com/prometheus/${PN}"
+EGIT_COMMIT="4a7436442837da72f9e211d99f0145dff3246b66"
+ARCHIVE_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="A tool to scrape a Prometheus client and dump the result as JSON"
+HOMEPAGE="https://github.com/prometheus/prom2json"
+SRC_URI="${ARCHIVE_URI}"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+DEPEND="dev-util/promu"
+
+src_prepare() {
+ default
+ sed -i -e "s/{{.Revision}}/${EGIT_COMMIT:0:7}/" src/${EGO_PN}/.promu.yml || die
+}
+
+src_compile() {
+ pushd src/${EGO_PN} || die
+ mkdir -p bin || die
+ GOPATH="${S}" promu build -v --prefix ${PN} || die
+ popd || die
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin ${PN}/${PN}
+ dodoc {README,CONTRIBUTING}.md
+ popd || die
+}
diff --git a/app-metrics/prometheus-2.2.1 b/app-metrics/prometheus-2.2.1
deleted file mode 100644
index 85f9905914a5..000000000000
--- a/app-metrics/prometheus-2.2.1
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile install postinst prepare setup test unpack
-DEPEND=>=dev-lang/go-1.10 dev-util/promu >=dev-lang/go-1.9
-DESCRIPTION=Prometheus monitoring system and time series database
-EAPI=6
-HOMEPAGE=https://github.com/prometheus/prometheus
-KEYWORDS=~amd64
-LICENSE=Apache-2.0
-RESTRICT=test
-SLOT=0
-SRC_URI=https://github.com/prometheus/prometheus/archive/v2.2.1.tar.gz -> prometheus-2.2.1.tar.gz
-_eclasses_=golang-base d4e3a3f895016e5c9d7afb1a33e7cf3c golang-build b66349c110e4ddd6203bbe8bf4ae05c1 golang-vcs-snapshot 913580335becddd3ebecefe852e47536 user 8bc2845510e2109af75e3eeac607ec81
-_md5_=c4cea53aafd2ffdbdb66d4210b22b9a4
diff --git a/app-metrics/prometheus-2.3.1 b/app-metrics/prometheus-2.3.1
deleted file mode 100644
index 8c56b50f66a8..000000000000
--- a/app-metrics/prometheus-2.3.1
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile install postinst prepare setup test unpack
-DEPEND=>=dev-lang/go-1.10 dev-util/promu >=dev-lang/go-1.9
-DESCRIPTION=Prometheus monitoring system and time series database
-EAPI=6
-HOMEPAGE=https://github.com/prometheus/prometheus
-KEYWORDS=~amd64
-LICENSE=Apache-2.0
-RESTRICT=test
-SLOT=0
-SRC_URI=https://github.com/prometheus/prometheus/archive/v2.3.1.tar.gz -> prometheus-2.3.1.tar.gz
-_eclasses_=golang-base d4e3a3f895016e5c9d7afb1a33e7cf3c golang-build b66349c110e4ddd6203bbe8bf4ae05c1 golang-vcs-snapshot 913580335becddd3ebecefe852e47536 user 8bc2845510e2109af75e3eeac607ec81
-_md5_=67c6a7077c67d8d53cd028f390102a2b
diff --git a/app-metrics/prometheus-2.3.2 b/app-metrics/prometheus-2.3.2
deleted file mode 100644
index a1408c75b501..000000000000
--- a/app-metrics/prometheus-2.3.2
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFINED_PHASES=compile install postinst prepare setup test unpack
-DEPEND=>=dev-lang/go-1.10 dev-util/promu >=dev-lang/go-1.9
-DESCRIPTION=Prometheus monitoring system and time series database
-EAPI=6
-HOMEPAGE=https://github.com/prometheus/prometheus
-KEYWORDS=~amd64
-LICENSE=Apache-2.0
-RESTRICT=test
-SLOT=0
-SRC_URI=https://github.com/prometheus/prometheus/archive/v2.3.2.tar.gz -> prometheus-2.3.2.tar.gz
-_eclasses_=golang-base d4e3a3f895016e5c9d7afb1a33e7cf3c golang-build b66349c110e4ddd6203bbe8bf4ae05c1 golang-vcs-snapshot 913580335becddd3ebecefe852e47536 user 8bc2845510e2109af75e3eeac607ec81
-_md5_=e8ed8c657187a26d2bb64296bb7ce52d
diff --git a/app-metrics/prometheus/Manifest b/app-metrics/prometheus/Manifest
new file mode 100644
index 000000000000..0e6cbdb9246a
--- /dev/null
+++ b/app-metrics/prometheus/Manifest
@@ -0,0 +1,9 @@
+AUX prometheus-3.initd 851 BLAKE2B 600d9e541206f99c0ddddc0f5a1d37d9bea69d8f45ce6562a2d3c040a75c3665d9862829fc44134db2fbbbbf1d38b7dc4010c9c284f5af38f0dd2cf4be1f9d11 SHA512 7d3650ef5b632507ade4cfb00a167ec7c2d3d8e91551ef8f4550f9947038df0b22a3dd0a33e093296eeb0ca88f1d12ae40e73c7fec4df03e5dcc7630893ded59
+AUX prometheus.confd 43 BLAKE2B c83afa8ad1133c9e93abd40c862ff5b3ac9a3b3c4447b915ae1482d92096dec9f200d089de2458a6cdb0e72d2bf0652d56e3afd6d5a3cd8a3ed7a6c9a0e3e42c SHA512 37468e897cd34b50b0edc65ada3f0c2e05459c3d96bb7f82d58b6de5bf10a127f1bf7912af93d83d94e3ea7287cfeb2311e36535f291d01a11d152a0b438591c
+DIST prometheus-2.2.1.tar.gz 5629500 BLAKE2B 7645267a2c5ed1c4138a5dd3929a48cb9dfa27789db38e98addbb06c37c6b482abfcf296ef1a5836bebd971d8224136c24a4ccd3093175882bb0beda1673deff SHA512 a94cf867de2b3be65b0a07307f89ebfa9c0a319820a72b3b6691edcd2e2b56b5268d27fb52bdaefea0e7084906d69b818e5292a39ccd5991e04e56d594f56ea7
+DIST prometheus-2.3.1.tar.gz 6175030 BLAKE2B 395808ce10eee18469a34caa7a358325830717cce7199f4cd3e6da346326573e65695cd444ad1c37586f9744db51808ef78f4a50fac971fa0fbc7fd7a4089994 SHA512 f0930a8de3885f9d870d41b41b602cd19addaa362d0473c95723b6cff32fd28870f8d47c89b9d39e13f43e189ad991d7569baa1a6ecd1ca59ba85cbb3d3cd6b1
+DIST prometheus-2.3.2.tar.gz 6175804 BLAKE2B 98d7fe58043e5104b6eb181edd13a2aec3c347ae6d0325f08a267b02eef3bd8963603fb17c113244b47967a549ebe860f2a3f11e297ceca85b57495df7f19070 SHA512 35bd654f3326d36846654775e924821de9efc7b39c93d5ffc5e8f4db6feb456cf3b8833de3aa3df9d9f63481c487f2633b55b9610cef4e7a037f2a9b1ffbbd23
+EBUILD prometheus-2.2.1.ebuild 2022 BLAKE2B 35b2eb824625cac8505bcc933130dd2810fd19855f73d975ef1e665baf98a60b95d4f3afcac1edc4b9cb2d6a030e7aeecff9926a460fddd9ea4ad8fa9f34cd6b SHA512 e378cbd27a7e2d033bf2ab6203955207d27f879f8c040cc54e873db8e64b225bf7aa6e977238d0203e00fe688c6328fef611516aea6d8e4afc4a5ea4649df127
+EBUILD prometheus-2.3.1.ebuild 2022 BLAKE2B f99591f9347de5c0ed88e05939bd81969f51e133ecaae1f8d275560a888e238bb1cae03085935639fcec6992ca67f16a70dfed8d923f1d2128a191921c597cf8 SHA512 6f458e28f7c6f35ad6f184a836220eeb559f966de760bdeb01f16ddeee6fa139838ed504fe07226cca4c5af6ce926fa52e96ea836a3e6f738146c51069320a4a
+EBUILD prometheus-2.3.2.ebuild 2022 BLAKE2B e35104c0f2c9d2ce49e6256287adf008344f6e75c61e7f97b46563e3e16be1c4d4759b65799fb612bff45619b9abcd4ca009e328a944733c81592329059219b1 SHA512 19b085b959bde4f81218938de7c010f585abb201eea28d3b06479635626ee955e84e094daeed41253a857d7e47db828628aa6742fa5eaa1e17aa126aa4e893a0
+MISC metadata.xml 331 BLAKE2B 80bf59233349fc1fdc6c102fb65ba146bcde2c5c2a6039ec9b9f50f21a36fb1e8c864cba422e721d01216c792ffcf0429a3a840540305442b5e516ac09c03850 SHA512 06fd0da413c0280a902bbdf50e1e0557375d2208021fda3c3081d8a25a4b17ad1ca647d994dd97ba2d838ea5c87148d3ffd13a8a54cb8dc007b45927df8de47a
diff --git a/app-metrics/prometheus/files/prometheus-3.initd b/app-metrics/prometheus/files/prometheus-3.initd
new file mode 100644
index 000000000000..ae151ef91fbd
--- /dev/null
+++ b/app-metrics/prometheus/files/prometheus-3.initd
@@ -0,0 +1,28 @@
+#!/sbin/openrc-run
+# Copyright 2016-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Prometheus monitoring system and time series database"
+pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
+user=${user:-${SVCNAME}}
+group=${group:-${SVCNAME}}
+
+command="/usr/bin/prometheus"
+command_args="${command_args:---config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/var/lib/prometheus/data}"
+command_background="true"
+start_stop_daemon_args="--user ${user} --group ${group} \
+ --stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log \
+ --stderr /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log"
+
+extra_started_commands="reload"
+
+depend() {
+ after net
+}
+
+reload() {
+ ebegin "Reloading ${SVCNAME}"
+ start-stop-daemon --signal HUP --pidfile "${pidfile}"
+ eend $? "Failed to stop ${SVCNAME}"
+}
+
diff --git a/app-metrics/prometheus/files/prometheus.confd b/app-metrics/prometheus/files/prometheus.confd
new file mode 100644
index 000000000000..93b41b31624c
--- /dev/null
+++ b/app-metrics/prometheus/files/prometheus.confd
@@ -0,0 +1,2 @@
+# arguments for Prometheus
+command_args=""
diff --git a/app-metrics/prometheus/metadata.xml b/app-metrics/prometheus/metadata.xml
new file mode 100644
index 000000000000..f4e8d75f03b9
--- /dev/null
+++ b/app-metrics/prometheus/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mrueg@gentoo.org</email>
+ <name>Manuel Rüger</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">prometheus/prometheus</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-metrics/prometheus/prometheus-2.2.1.ebuild b/app-metrics/prometheus/prometheus-2.2.1.ebuild
new file mode 100644
index 000000000000..a9b8e6255937
--- /dev/null
+++ b/app-metrics/prometheus/prometheus-2.2.1.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit user golang-build golang-vcs-snapshot
+
+EGO_PN="github.com/prometheus/prometheus"
+MY_PV=${PV/_rc/-rc.}
+EGIT_COMMIT="v${MY_PV}"
+PROMETHEUS_COMMIT="bc6058c"
+ARCHIVE_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Prometheus monitoring system and time series database"
+HOMEPAGE="https://github.com/prometheus/prometheus"
+SRC_URI="${ARCHIVE_URI}"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+DEPEND="
+ >=dev-lang/go-1.10
+ dev-util/promu"
+
+PROMETHEUS_HOME="/var/lib/prometheus"
+
+RESTRICT="test"
+
+pkg_setup() {
+ enewgroup prometheus
+ enewuser prometheus -1 -1 "${PROMETHEUS_HOME}" prometheus
+}
+
+src_prepare() {
+ default
+ sed -i -e "s/{{.Revision}}/${PROMETHEUS_COMMIT}/" src/${EGO_PN}/.promu.yml || die
+}
+
+src_compile() {
+ pushd src/${EGO_PN} || die
+ GOPATH="${S}" promu build -v || die
+ popd || die
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin promtool prometheus
+ dodoc -r {documentation,{README,CHANGELOG,CONTRIBUTING}.md}
+ insinto /etc/prometheus
+ doins documentation/examples/prometheus.yml
+ insinto /usr/share/prometheus
+ doins -r console_libraries consoles
+ dosym ../../usr/share/prometheus/console_libraries /etc/prometheus/console_libraries
+ dosym ../../usr/share/prometheus/consoles /etc/prometheus/consoles
+ popd || die
+
+ newinitd "${FILESDIR}"/prometheus-3.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
+}
diff --git a/app-metrics/prometheus/prometheus-2.3.1.ebuild b/app-metrics/prometheus/prometheus-2.3.1.ebuild
new file mode 100644
index 000000000000..962fcfb2d936
--- /dev/null
+++ b/app-metrics/prometheus/prometheus-2.3.1.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit user golang-build golang-vcs-snapshot
+
+EGO_PN="github.com/prometheus/prometheus"
+MY_PV=${PV/_rc/-rc.}
+EGIT_COMMIT="v${MY_PV}"
+PROMETHEUS_COMMIT="188ca45"
+ARCHIVE_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Prometheus monitoring system and time series database"
+HOMEPAGE="https://github.com/prometheus/prometheus"
+SRC_URI="${ARCHIVE_URI}"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+DEPEND="
+ >=dev-lang/go-1.10
+ dev-util/promu"
+
+PROMETHEUS_HOME="/var/lib/prometheus"
+
+RESTRICT="test"
+
+pkg_setup() {
+ enewgroup prometheus
+ enewuser prometheus -1 -1 "${PROMETHEUS_HOME}" prometheus
+}
+
+src_prepare() {
+ default
+ sed -i -e "s/{{.Revision}}/${PROMETHEUS_COMMIT}/" src/${EGO_PN}/.promu.yml || die
+}
+
+src_compile() {
+ pushd src/${EGO_PN} || die
+ GOPATH="${S}" promu build -v || die
+ popd || die
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin promtool prometheus
+ dodoc -r {documentation,{README,CHANGELOG,CONTRIBUTING}.md}
+ insinto /etc/prometheus
+ doins documentation/examples/prometheus.yml
+ insinto /usr/share/prometheus
+ doins -r console_libraries consoles
+ dosym ../../usr/share/prometheus/console_libraries /etc/prometheus/console_libraries
+ dosym ../../usr/share/prometheus/consoles /etc/prometheus/consoles
+ popd || die
+
+ newinitd "${FILESDIR}"/prometheus-3.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
+}
diff --git a/app-metrics/prometheus/prometheus-2.3.2.ebuild b/app-metrics/prometheus/prometheus-2.3.2.ebuild
new file mode 100644
index 000000000000..1bb29b3310b7
--- /dev/null
+++ b/app-metrics/prometheus/prometheus-2.3.2.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit user golang-build golang-vcs-snapshot
+
+EGO_PN="github.com/prometheus/prometheus"
+MY_PV=${PV/_rc/-rc.}
+EGIT_COMMIT="v${MY_PV}"
+PROMETHEUS_COMMIT="71af5e2"
+ARCHIVE_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Prometheus monitoring system and time series database"
+HOMEPAGE="https://github.com/prometheus/prometheus"
+SRC_URI="${ARCHIVE_URI}"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+DEPEND="
+ >=dev-lang/go-1.10
+ dev-util/promu"
+
+PROMETHEUS_HOME="/var/lib/prometheus"
+
+RESTRICT="test"
+
+pkg_setup() {
+ enewgroup prometheus
+ enewuser prometheus -1 -1 "${PROMETHEUS_HOME}" prometheus
+}
+
+src_prepare() {
+ default
+ sed -i -e "s/{{.Revision}}/${PROMETHEUS_COMMIT}/" src/${EGO_PN}/.promu.yml || die
+}
+
+src_compile() {
+ pushd src/${EGO_PN} || die
+ GOPATH="${S}" promu build -v || die
+ popd || die
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin promtool prometheus
+ dodoc -r {documentation,{README,CHANGELOG,CONTRIBUTING}.md}
+ insinto /etc/prometheus
+ doins documentation/examples/prometheus.yml
+ insinto /usr/share/prometheus
+ doins -r console_libraries consoles
+ dosym ../../usr/share/prometheus/console_libraries /etc/prometheus/console_libraries
+ dosym ../../usr/share/prometheus/consoles /etc/prometheus/consoles
+ popd || die
+
+ newinitd "${FILESDIR}"/prometheus-3.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
+}
diff --git a/app-metrics/pushgateway-0.4.0 b/app-metrics/pushgateway-0.4.0
deleted file mode 100644
index 7d4c51e1132e..000000000000
--- a/app-metrics/pushgateway-0.4.0
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile install prepare setup test unpack
-DEPEND=dev-util/promu >=dev-lang/go-1.9 virtual/pkgconfig
-DESCRIPTION=Prometheus push acceptor for ephemeral and batch jobs
-EAPI=6
-HOMEPAGE=https://github.com/prometheus/pushgateway
-KEYWORDS=~amd64
-LICENSE=Apache-2.0
-SLOT=0
-SRC_URI=https://github.com/prometheus/pushgateway/archive/v0.4.0.tar.gz -> pushgateway-0.4.0.tar.gz
-_eclasses_=golang-base d4e3a3f895016e5c9d7afb1a33e7cf3c golang-build b66349c110e4ddd6203bbe8bf4ae05c1 golang-vcs-snapshot 913580335becddd3ebecefe852e47536 multilib 97f470f374f2e94ccab04a2fb21d811e systemd 04e50685fbf3d89e5c67ac6a385dd595 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 user 8bc2845510e2109af75e3eeac607ec81
-_md5_=134bcdf0847f07efa0e58ce5da6e9059
diff --git a/app-metrics/pushgateway-0.5.0 b/app-metrics/pushgateway-0.5.0
deleted file mode 100644
index 76eef3c48627..000000000000
--- a/app-metrics/pushgateway-0.5.0
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile install prepare setup test unpack
-DEPEND=dev-util/promu >=dev-lang/go-1.9 virtual/pkgconfig
-DESCRIPTION=Prometheus push acceptor for ephemeral and batch jobs
-EAPI=6
-HOMEPAGE=https://github.com/prometheus/pushgateway
-KEYWORDS=~amd64
-LICENSE=Apache-2.0
-SLOT=0
-SRC_URI=https://github.com/prometheus/pushgateway/archive/v0.5.0.tar.gz -> pushgateway-0.5.0.tar.gz
-_eclasses_=golang-base d4e3a3f895016e5c9d7afb1a33e7cf3c golang-build b66349c110e4ddd6203bbe8bf4ae05c1 golang-vcs-snapshot 913580335becddd3ebecefe852e47536 multilib 97f470f374f2e94ccab04a2fb21d811e systemd 04e50685fbf3d89e5c67ac6a385dd595 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 user 8bc2845510e2109af75e3eeac607ec81
-_md5_=e40c442a815246b7e2f66f4dd718da0d
diff --git a/app-metrics/pushgateway-0.5.2 b/app-metrics/pushgateway-0.5.2
deleted file mode 100644
index 7d30c02c57a1..000000000000
--- a/app-metrics/pushgateway-0.5.2
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile install prepare setup test unpack
-DEPEND=dev-util/promu >=dev-lang/go-1.9 virtual/pkgconfig
-DESCRIPTION=Prometheus push acceptor for ephemeral and batch jobs
-EAPI=6
-HOMEPAGE=https://github.com/prometheus/pushgateway
-KEYWORDS=~amd64
-LICENSE=Apache-2.0
-SLOT=0
-SRC_URI=https://github.com/prometheus/pushgateway/archive/v0.5.2.tar.gz -> pushgateway-0.5.2.tar.gz
-_eclasses_=golang-base d4e3a3f895016e5c9d7afb1a33e7cf3c golang-build b66349c110e4ddd6203bbe8bf4ae05c1 golang-vcs-snapshot 913580335becddd3ebecefe852e47536 multilib 97f470f374f2e94ccab04a2fb21d811e systemd 04e50685fbf3d89e5c67ac6a385dd595 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 user 8bc2845510e2109af75e3eeac607ec81
-_md5_=cc6c02cee10c4c9f96cb463fac850145
diff --git a/app-metrics/pushgateway/Manifest b/app-metrics/pushgateway/Manifest
new file mode 100644
index 000000000000..515aab948781
--- /dev/null
+++ b/app-metrics/pushgateway/Manifest
@@ -0,0 +1,14 @@
+AUX pushgateway-1.confd 827 BLAKE2B b1a089d29ef99f692c4b38a8fb8c2d48ac018e5141fd700d160b944287670eba674035c3929e175bf131a71f2edbd594d2cbdae43a1f6be30dc455784286ce85 SHA512 c83cce3088b426f30b90a50ee507e93f1c8ff3ea4f54ddf4d5da90d4f895e8aa02550952243d044d9e2c819798d8ee6f231206405f61dd350b1ca541e535361f
+AUX pushgateway-1.initd 664 BLAKE2B f24a389eb6f968d63a21ab0e8740604bcae440d3797ff1640c4e5cd09c9bba398db10c385321a6a50da78518ed341ba654baffb2671106e8ae04eb303bedb3a1 SHA512 515a49e4b1aa6934611f86f85e2132004d234d312c13be23887709fbcaad86280034942967b25d7e355ab491ac4c09e7c88221a95279f2f751cbd2387eba9ad5
+AUX pushgateway-1.service 477 BLAKE2B 123c630e40ca47626cf1d6bc93e8556ab1fccb1dd799cd72c245e5a937aff1a5c1b5ad9280d8680a8643d055376960012e36691f9e4f6a8d64bbdc91a749b876 SHA512 0985e8e45b1557adefe5f36ed163440c81f432b95198819d3e46c3f946f255954e5cbe41cf378b33cd3dcb75c457970877f2f6a7585bfc90b58ac2df9abb2970
+AUX pushgateway.confd 819 BLAKE2B 9c42a6d012f70a2ac03d4b90999d94683bc62f6d203ef8d2bf59019e30aea59c3beceae34f2579a2958acfaf882c275453aa5e46e488c5afebaebfc3f17b896b SHA512 c941bc2350bbda14d49effbc0a7988869fc38ccf2236951a88721bd15397c9e5b5d5a98d58285610b33eedc7a26f6cca51e3ec6f4909bdabf0658afd51b99feb
+AUX pushgateway.initd 662 BLAKE2B 652c58309ce31f7a37cb92beb128848ef28118b9b05278e79765b8c6555b6020266c062ef58463488dd39389f6bf0e2d1e0a9b5371ec4b5c26b821d6fac8877e SHA512 7bb32a7848607d939f3343c8d3fc88454b9ffc9d8d89f2af992d9f6f9fafe266c965b068cc466adbcf0ab014f1e5ca9214b567feacce09b73c8c2212e12aab00
+AUX pushgateway.logrotated 95 BLAKE2B 78db6689bbfac484b13a3444ebef47180aa94bfa6fa0c6b4fe273f415713b539116c1c05fc5348d504b9c6de270449a422fa7f49e63854a65d4ef6d25c3bf8c3 SHA512 615a8d105d97412b6819f65b9e34e28cb326457765ec9426f33d71cc4794aa1cbfff0abbcee14dbf94b6ae3f622c95d087ad485250c48b3e3efa8edcfe997069
+AUX pushgateway.service 476 BLAKE2B 1634abf2aebcc5423654bb70855d46917569e687c2b545590dbee5a99cb11ebe0744aff53969c9e20685e4c7fa8bb81bfd354e907fdd6c913c34ba43e1eb3588 SHA512 6564ba12bdda356b8dd368191e19383f2363f997a443e93c754ea1f6b1485deaf200167ede550d9a1d49d6c3787f215fb24d88cbcb05f3e4ce179ab0c7d9576b
+DIST pushgateway-0.4.0.tar.gz 1140644 BLAKE2B ea82e2e7f6fd817de02044e5aafde724a4089e4f2961f0b581f90df7e04e65af5a3c3e044ef94bd600a92468a8aed791c838a8fdc64b05b7a91d6288e7e96fb3 SHA512 67f25e5f7fdc54143c5d10720f27bd256f22695ced93088cf2b72fe3197e45324d4353357ae40d7d3e92019480c0bec009e38ed3f583724d46411d76adbdc927
+DIST pushgateway-0.5.0.tar.gz 1566969 BLAKE2B 255592d172ba910cd4c031f33045ee92fa02b8ba04c69a844e1a81d0fb4c0425f4a71931c917cb70f90422e25ad8761892cde344acb3fa7465e682ff8671f31b SHA512 d0a96aa8b1a59266a8864ab760ad6fdbdc131c49b08aa3bf89f54ed9c6ced6a4b7ab2f8c70d15dad1605ec7b46c5e784dc77be10f26ebd56a3a0f16f7285d607
+DIST pushgateway-0.5.2.tar.gz 1567286 BLAKE2B b62092b349ca8248937795f868e32fbd130df0b23de8b0c81a780102f8df3930db97a86061cf409d658c3e29e8d2eb6e350e18b9101a0bc9a0ba7b77a7fd79fc SHA512 4d6dcbc0199a83fe0469540ec70dbe230cf7c1d3efa66c55679b40e8882736b54af40423c7a2c1ab8693edca839bc67b4cd7125d52f9beab296c55f220e51482
+EBUILD pushgateway-0.4.0.ebuild 1301 BLAKE2B 328b451698ceec2cd6f6020cadba897836c66513fcc25169be9e92ca7715e97e52fd245c51e7cb5f58a56967c486294f0164501dfbc9099d1d0144452f379c1a SHA512 81b652f6f3a78a39aa1604a7fa1209fd73595ea318736a735ddb00cd7d35ec48575eb4106c12efbacb3ac095c8280ec96fb9a0decc60631847079dcbf805bcec
+EBUILD pushgateway-0.5.0.ebuild 1291 BLAKE2B 267e67938461d4b8461822f9986ad1782ebb66e4e01fb623f265d07c9f47b4af7041ff07ba11660596ac6e3452c53eeed941679ab47690979173bf660a7ae822 SHA512 c2d44c055d5aa6f871f05ac459fa88c2f4321c4977ef07073b16ccbc72b5fc1199adaedffd0d5e70d4df05920596066282f8eb91cca4d0fd4f4a17f02b2ef16e
+EBUILD pushgateway-0.5.2.ebuild 1291 BLAKE2B 2ac140c425dc74dfb9163522c45d827a99a63a03565e4b51228857bbe96bb973ec18ad452ba8790e330ba1c51f3c48e361e20c1d28c99e83f9f8ba6a8e04ca3d SHA512 848ae6f60ab5cf26a9b6eda1619eae7120725581594d069dc3be4fadd0ca1ff1cff6ca2aca84ff8e155cb3b63f1d5daff8c21c79129cc4c631daf92592a801d7
+MISC metadata.xml 437 BLAKE2B 904f35ea9287d25e5708e450715f8719004a5349ea871e9730fe36a98257cd0ba2417ec572f0d26a8d5d2de5629bca2d1b81f3e344bb8e4a52653175e8df2f3e SHA512 09284843912bc08aef77485911289fe1050f7d42e726e555650ad73b3ca51bcb62af90ccd69c3529bbdb7373b9ec317e0afd74687b84b123ac4fbbf2a3de9d7f
diff --git a/app-metrics/pushgateway/files/pushgateway-1.confd b/app-metrics/pushgateway/files/pushgateway-1.confd
new file mode 100644
index 000000000000..73149075bb4e
--- /dev/null
+++ b/app-metrics/pushgateway/files/pushgateway-1.confd
@@ -0,0 +1,14 @@
+# --log.format value
+# If set use a syslog logger or JSON logging. Example: logger:syslog?appname=bob&local=7 or logger:stdout?json=true. Defaults to stderr.
+# --log.level value
+# Only log messages with the given severity or above. Valid levels: [debug, info, warn, error, fatal].
+# --persistence.file string
+# File to persist metrics. If empty, metrics are only kept in memory.
+# --persistence.interval duration
+# The minimum interval at which to write out the persistence file. (default 5m0s)
+# --web.listen-address string
+# Address to listen on for the web interface, API, and telemetry. (default ":9091")
+# --web.telemetry-path string
+# Path under which to expose metrics. (default "/metrics")
+
+#command_args="--web.listen-address localhost:9091 --persistence.file=/var/lib/${RC_SVCNAME}/persistence.gob"
diff --git a/app-metrics/pushgateway/files/pushgateway-1.initd b/app-metrics/pushgateway/files/pushgateway-1.initd
new file mode 100644
index 000000000000..60f81c1f38a2
--- /dev/null
+++ b/app-metrics/pushgateway/files/pushgateway-1.initd
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+# Copyright 2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Prometheus push acceptor for ephemeral and batch jobs"
+pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
+user=${user:-${RC_SVCNAME}}
+group=${group:-${RC_SVCNAME}}
+
+command="/usr/bin/pushgateway"
+command_args="${command_args:---web.listen-address localhost:9091 --persistence.file=/var/lib/${RC_SVCNAME}/persistence.gob}"
+command_background="true"
+start_stop_daemon_args="--user ${user} --group ${group} \
+ --stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log \
+ --stderr /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log"
+
+depend() {
+ need net
+}
diff --git a/app-metrics/pushgateway/files/pushgateway-1.service b/app-metrics/pushgateway/files/pushgateway-1.service
new file mode 100644
index 000000000000..03ae0a442772
--- /dev/null
+++ b/app-metrics/pushgateway/files/pushgateway-1.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=Prometheus exporter for ephemereal jobs
+Documentation=https://prometheus.io/docs/instrumenting/pushing/
+After=network-online.target
+
+[Service]
+User=pushgateway
+Restart=on-failure
+Environment=PUSHGATEWAY_ARGS="--web.listen-address localhost:9091 --persistence.file=/var/lib/pushgateway/persistence.gob"
+ExecStart=/usr/bin/pushgateway $PUSHGATEWAY_ARGS
+ExecReload=/bin/kill -HUP $MAINPID
+TimeoutStopSec=20s
+SendSIGKILL=no
+
+[Install]
+WantedBy=multi-user.target
diff --git a/app-metrics/pushgateway/files/pushgateway.confd b/app-metrics/pushgateway/files/pushgateway.confd
new file mode 100644
index 000000000000..de9ef483723f
--- /dev/null
+++ b/app-metrics/pushgateway/files/pushgateway.confd
@@ -0,0 +1,14 @@
+# -log.format value
+# If set use a syslog logger or JSON logging. Example: logger:syslog?appname=bob&local=7 or logger:stdout?json=true. Defaults to stderr.
+# -log.level value
+# Only log messages with the given severity or above. Valid levels: [debug, info, warn, error, fatal].
+# -persistence.file string
+# File to persist metrics. If empty, metrics are only kept in memory.
+# -persistence.interval duration
+# The minimum interval at which to write out the persistence file. (default 5m0s)
+# -web.listen-address string
+# Address to listen on for the web interface, API, and telemetry. (default ":9091")
+# -web.telemetry-path string
+# Path under which to expose metrics. (default "/metrics")
+
+#command_args="-web.listen-address localhost:9091 -persistence.file=/var/lib/${RC_SVCNAME}/persistence.gob"
diff --git a/app-metrics/pushgateway/files/pushgateway.initd b/app-metrics/pushgateway/files/pushgateway.initd
new file mode 100644
index 000000000000..a187e57897ed
--- /dev/null
+++ b/app-metrics/pushgateway/files/pushgateway.initd
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+# Copyright 2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Prometheus push acceptor for ephemeral and batch jobs"
+pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
+user=${user:-${RC_SVCNAME}}
+group=${group:-${RC_SVCNAME}}
+
+command="/usr/bin/pushgateway"
+command_args="${command_args:--web.listen-address localhost:9091 -persistence.file=/var/lib/${RC_SVCNAME}/persistence.gob}"
+command_background="true"
+start_stop_daemon_args="--user ${user} --group ${group} \
+ --stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log \
+ --stderr /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log"
+
+depend() {
+ need net
+}
diff --git a/app-metrics/pushgateway/files/pushgateway.logrotated b/app-metrics/pushgateway/files/pushgateway.logrotated
new file mode 100644
index 000000000000..c94b73952bc7
--- /dev/null
+++ b/app-metrics/pushgateway/files/pushgateway.logrotated
@@ -0,0 +1,7 @@
+/var/log/pushgateway/pushgateway.log {
+ missingok
+ size 5M
+ rotate 3
+ compress
+ copytruncate
+}
diff --git a/app-metrics/pushgateway/files/pushgateway.service b/app-metrics/pushgateway/files/pushgateway.service
new file mode 100644
index 000000000000..3915fdb5b337
--- /dev/null
+++ b/app-metrics/pushgateway/files/pushgateway.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=Prometheus exporter for ephemereal jobs
+Documentation=https://prometheus.io/docs/instrumenting/pushing/
+After=network-online.target
+
+[Service]
+User=pushgateway
+Restart=on-failure
+Environment=PUSHGATEWAY_ARGS="-web.listen-address localhost:9091 --persistence.file=/var/lib/pushgateway/persistence.gob"
+ExecStart=/usr/bin/pushgateway $PUSHGATEWAY_ARGS
+ExecReload=/bin/kill -HUP $MAINPID
+TimeoutStopSec=20s
+SendSIGKILL=no
+
+[Install]
+WantedBy=multi-user.target
diff --git a/app-metrics/pushgateway/metadata.xml b/app-metrics/pushgateway/metadata.xml
new file mode 100644
index 000000000000..f233ac35e254
--- /dev/null
+++ b/app-metrics/pushgateway/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>zmedico@gentoo.org</email>
+ <name>Zac Medico</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>mrueg@gentoo.org</email>
+ <name>Manuel Rüger</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">prometheus/pushgateway</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-metrics/pushgateway/pushgateway-0.4.0.ebuild b/app-metrics/pushgateway/pushgateway-0.4.0.ebuild
new file mode 100644
index 000000000000..c701fc15d869
--- /dev/null
+++ b/app-metrics/pushgateway/pushgateway-0.4.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit user golang-build golang-vcs-snapshot systemd
+
+EGO_PN="github.com/prometheus/pushgateway"
+EGIT_COMMIT="v${PV/_rc/-rc.}"
+pushgateway_COMMIT="6ceb4a1"
+ARCHIVE_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Prometheus push acceptor for ephemeral and batch jobs"
+HOMEPAGE="https://github.com/prometheus/pushgateway"
+SRC_URI="${ARCHIVE_URI}"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+DEPEND="dev-util/promu"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_prepare() {
+ default
+ sed -i -e "s/{{.Revision}}/${pushgateway_COMMIT}/" src/${EGO_PN}/.promu.yml || die
+}
+
+src_compile() {
+ pushd src/${EGO_PN} || die
+ mkdir -p bin || die
+ GOPATH="${S}" promu build -v --prefix bin || die
+ popd || die
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin bin/pushgateway
+ dodoc {README,CHANGELOG,CONTRIBUTING}.md
+ popd || die
+ keepdir /var/lib/${PN} /var/log/${PN}
+ fowners ${PN}:${PN} /var/lib/${PN} /var/log/${PN}
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/${PN}.logrotated" "${PN}"
+ systemd_dounit "${FILESDIR}/${PN}.service"
+}
diff --git a/app-metrics/pushgateway/pushgateway-0.5.0.ebuild b/app-metrics/pushgateway/pushgateway-0.5.0.ebuild
new file mode 100644
index 000000000000..80fde6225b68
--- /dev/null
+++ b/app-metrics/pushgateway/pushgateway-0.5.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit user golang-build golang-vcs-snapshot systemd
+
+EGO_PN="github.com/prometheus/pushgateway"
+EGIT_COMMIT="v${PV/_rc/-rc.}"
+GIT_COMMIT="3965d2a"
+ARCHIVE_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Prometheus push acceptor for ephemeral and batch jobs"
+HOMEPAGE="https://github.com/prometheus/pushgateway"
+SRC_URI="${ARCHIVE_URI}"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+DEPEND="dev-util/promu"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_prepare() {
+ default
+ sed -i -e "s/{{.Revision}}/${GIT_COMMIT}/" src/${EGO_PN}/.promu.yml || die
+}
+
+src_compile() {
+ pushd src/${EGO_PN} || die
+ mkdir -p bin || die
+ GOPATH="${S}" promu build -v --prefix bin || die
+ popd || die
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin bin/pushgateway
+ dodoc {README,CHANGELOG,CONTRIBUTING}.md
+ popd || die
+ keepdir /var/lib/${PN} /var/log/${PN}
+ fowners ${PN}:${PN} /var/lib/${PN} /var/log/${PN}
+ newinitd "${FILESDIR}"/${PN}-1.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}-1.confd ${PN}
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/${PN}.logrotated" "${PN}"
+ systemd_dounit "${FILESDIR}/${PN}-1.service"
+}
diff --git a/app-metrics/pushgateway/pushgateway-0.5.2.ebuild b/app-metrics/pushgateway/pushgateway-0.5.2.ebuild
new file mode 100644
index 000000000000..48c3741c2232
--- /dev/null
+++ b/app-metrics/pushgateway/pushgateway-0.5.2.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit user golang-build golang-vcs-snapshot systemd
+
+EGO_PN="github.com/prometheus/pushgateway"
+EGIT_COMMIT="v${PV/_rc/-rc.}"
+GIT_COMMIT="231071b"
+ARCHIVE_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Prometheus push acceptor for ephemeral and batch jobs"
+HOMEPAGE="https://github.com/prometheus/pushgateway"
+SRC_URI="${ARCHIVE_URI}"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+DEPEND="dev-util/promu"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_prepare() {
+ default
+ sed -i -e "s/{{.Revision}}/${GIT_COMMIT}/" src/${EGO_PN}/.promu.yml || die
+}
+
+src_compile() {
+ pushd src/${EGO_PN} || die
+ mkdir -p bin || die
+ GOPATH="${S}" promu build -v --prefix bin || die
+ popd || die
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin bin/pushgateway
+ dodoc {README,CHANGELOG,CONTRIBUTING}.md
+ popd || die
+ keepdir /var/lib/${PN} /var/log/${PN}
+ fowners ${PN}:${PN} /var/lib/${PN} /var/log/${PN}
+ newinitd "${FILESDIR}"/${PN}-1.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}-1.confd ${PN}
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/${PN}.logrotated" "${PN}"
+ systemd_dounit "${FILESDIR}/${PN}-1.service"
+}
diff --git a/app-metrics/redis_exporter-0.15.0 b/app-metrics/redis_exporter-0.15.0
deleted file mode 100644
index bd97611d5aa6..000000000000
--- a/app-metrics/redis_exporter-0.15.0
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile install prepare setup test unpack
-DEPEND=>=dev-lang/go-1.9 virtual/pkgconfig
-DESCRIPTION=Prometheus Exporter for Redis Metrics. Supports Redis 2.x, 3.x and 4.x
-EAPI=6
-HOMEPAGE=https://github.com/oliver006/redis_exporter
-KEYWORDS=~amd64
-LICENSE=MIT
-SLOT=0
-SRC_URI=https://github.com/oliver006/redis_exporter/archive/v0.15.0.tar.gz -> redis_exporter-0.15.0.tar.gz
-_eclasses_=golang-base d4e3a3f895016e5c9d7afb1a33e7cf3c golang-build b66349c110e4ddd6203bbe8bf4ae05c1 golang-vcs-snapshot 913580335becddd3ebecefe852e47536 multilib 97f470f374f2e94ccab04a2fb21d811e systemd 04e50685fbf3d89e5c67ac6a385dd595 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 user 8bc2845510e2109af75e3eeac607ec81
-_md5_=9146c0cd0d395ed0dd6bfda84ea6d218
diff --git a/app-metrics/redis_exporter/Manifest b/app-metrics/redis_exporter/Manifest
new file mode 100644
index 000000000000..c7aaf29bc1bd
--- /dev/null
+++ b/app-metrics/redis_exporter/Manifest
@@ -0,0 +1,7 @@
+AUX redis_exporter.confd 1274 BLAKE2B 9219114db37ca7005de03cc911111c5ad0f8a4aa7ac8fd29c983651d2d3508f23a2065bf79102a56cdc76c807934ece56a431085ef1c0b549120411b1adafdc8 SHA512 8a119f447269cb605ca00be96124fba113042c4e50227f50575077200a3146597cdd9ce084a7dee4b92e18d8e1cfdbcc45abdf0305e366e889e149ffe9fddf78
+AUX redis_exporter.initd 618 BLAKE2B 15e68da38f7644013ffafc94de4740912918fcfb5c0b2ee8bf6f05b059ce25be9e9edf268d0fd67f646910e9df3f84770d2c765c1a4ff64f54f44feb15e6d205 SHA512 d6d4410fb66a1eb0402b26e8dac77e263aa686f1abc72a04a30465f9ebaa24eb8f77f6a712bbbdd9fb360180c728317ee9f9927a075c0f86383c1346b7c9a09a
+AUX redis_exporter.logrotated 101 BLAKE2B 323e088953e483d4138836bd67db896f1b9aa9df37e0b56267a40c9543138668c92a9fde38856f2a3ed5f28156badc3a287c8be85a81acef9c5c36d178d14826 SHA512 6070dcf0f588f20a3225471db56737e96660820e9f18de6bae1921caa7fd6ee7408c03a969139f55f594fcfdcaa0f96d9ff4e597e68bd58154929f434c3f1082
+AUX redis_exporter.service 445 BLAKE2B 40b006933b7c221171872c7f5f50eb07db0a551169eddd6aca5848e06bac78a6db6683b177e04caff91e3c52bf7e8bdbbd96ff98b6489b6b1abe2a8973b75a2f SHA512 aee1651eeaa61a9a46fcd041c8616e3db85e160f270da69272a18ec5e2e664baf8bc6dc321c04e87e527a6fef63d54f36bb6903e58e376b76c104c3e1ce3818b
+DIST redis_exporter-0.15.0.tar.gz 1232990 BLAKE2B ade899ef0f21594d3bb59c379f44d941e2a42f06a5c2ba5b304cc0b8b83def12eb036e6011a7d88abe7d97104ae663cb025ca60287ec9aba7be93a734d84c959 SHA512 8892306500943ec18d8fa5110fc6f4954ec886fca4d0023cdc2134ee2498c6f39ab06bec8f998ecde796cc2053b66103146503b76a185db3da5cbab81ebd9f2a
+EBUILD redis_exporter-0.15.0.ebuild 1456 BLAKE2B 4efc6a890875ce7619d4ec1f88b3eba6f1bc3c10d2ada7ba7fbe8339e9a829aa51ccbea95fbb7a3cb4241589ccabd762de28b1e8018af8856cf191c2472db8c5 SHA512 8d9e3275bdc72a21615c71549eefa1b20ac31f128e3d83d6911b103ef0a281efa2e5c52a32557307c9ddbbd94352d87d17944ea468f7e71074d85e015777e342
+MISC metadata.xml 333 BLAKE2B 8eb8199bafb906f2b58072cf9765c7c44a4daeb54216db95f25a6c1545bf30720d73314fafe5d129dbbc200990e7a553e0ddc1486c22aa5d24c8616d21d4af80 SHA512 b1a040dc4cc2762aea081dc99209191da6f0d3d77c343148e3eb539bbc6527586e46de1b97e7cbec9f5098adb2f655059aa8609542353ddd88d19febb43c6fec
diff --git a/app-metrics/redis_exporter/files/redis_exporter.confd b/app-metrics/redis_exporter/files/redis_exporter.confd
new file mode 100644
index 000000000000..8573aef35405
--- /dev/null
+++ b/app-metrics/redis_exporter/files/redis_exporter.confd
@@ -0,0 +1,30 @@
+# -check-keys string
+# Comma separated list of keys to export value and length/size
+# -debug
+# Output verbose debug information
+# -log-format string
+# Log format, valid options are txt and json (default "txt")
+# -namespace string
+# Namespace for metrics (default "redis")
+# -redis-only-metrics
+# Whether to export go runtime metrics also
+# -redis.addr string
+# Address of one or more redis nodes, separated by separator
+# -redis.alias string
+# Redis instance alias for one or more redis nodes, separated by separator
+# -redis.file string
+# Path to file containing one or more redis nodes, separated by newline. NOTE: mutually exclusive with redis.addr
+# -redis.password string
+# Password for one or more redis nodes, separated by separator
+# -separator string
+# separator used to split redis.addr, redis.password and redis.alias into several elements. (default ",")
+# -use-cf-bindings
+# Use Cloud Foundry service bindings
+# -version
+# Show version information and exit
+# -web.listen-address string
+# Address to listen on for web interface and telemetry. (default ":9121")
+# -web.telemetry-path string
+# Path under which to expose metrics. (default "/metrics")
+
+#command_args="--web.listen-address=:9121 --redis.addr=localhost:6379"
diff --git a/app-metrics/redis_exporter/files/redis_exporter.initd b/app-metrics/redis_exporter/files/redis_exporter.initd
new file mode 100644
index 000000000000..741a0b4e4682
--- /dev/null
+++ b/app-metrics/redis_exporter/files/redis_exporter.initd
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+# Copyright 2016-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Prometheus Exporter for Redis Metrics"
+pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
+user=${user:-${RC_SVCNAME}}
+group=${group:-${RC_SVCNAME}}
+
+command="/usr/bin/redis_exporter"
+command_args="${command_args:---web.listen-address=:9121 --redis.addr=localhost:6379}"
+command_background="true"
+start_stop_daemon_args="--user ${user} --group ${group} \
+ --stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log \
+ --stderr /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log"
+
+depend() {
+ after net
+}
diff --git a/app-metrics/redis_exporter/files/redis_exporter.logrotated b/app-metrics/redis_exporter/files/redis_exporter.logrotated
new file mode 100644
index 000000000000..e83de5eb6436
--- /dev/null
+++ b/app-metrics/redis_exporter/files/redis_exporter.logrotated
@@ -0,0 +1,7 @@
+/var/log/redis_exporter/redis_exporter.log {
+ missingok
+ size 5M
+ rotate 3
+ compress
+ copytruncate
+}
diff --git a/app-metrics/redis_exporter/files/redis_exporter.service b/app-metrics/redis_exporter/files/redis_exporter.service
new file mode 100644
index 000000000000..4dbb09d7b641
--- /dev/null
+++ b/app-metrics/redis_exporter/files/redis_exporter.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=Prometheus Exporter for Redis Metrics
+Documentation=https://github.com/oliver006/redis_exporter/
+After=network-online.target
+
+[Service]
+User=redis_exporter
+Restart=on-failure
+Environment=REDIS_EXPORTER_ARGS="--web.listen-address=:9121 --redis.addr=localhost:6379"
+ExecStart=/usr/bin/redis_exporter $REDIS_EXPORTER_ARGS
+ExecReload=/bin/kill -HUP $MAINPID
+TimeoutStopSec=20s
+SendSIGKILL=no
+
+[Install]
+WantedBy=multi-user.target
diff --git a/app-metrics/redis_exporter/metadata.xml b/app-metrics/redis_exporter/metadata.xml
new file mode 100644
index 000000000000..ad438766d9bb
--- /dev/null
+++ b/app-metrics/redis_exporter/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>zmedico@gentoo.org</email>
+ <name>Zac Medico</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">oliver006/redis_exporter</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-metrics/redis_exporter/redis_exporter-0.15.0.ebuild b/app-metrics/redis_exporter/redis_exporter-0.15.0.ebuild
new file mode 100644
index 000000000000..3e3d871df3c8
--- /dev/null
+++ b/app-metrics/redis_exporter/redis_exporter-0.15.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit user golang-build golang-vcs-snapshot systemd
+
+EGO_PN="github.com/oliver006/redis_exporter"
+EGIT_COMMIT="a0d9e4c704b4d35cd08544d395038f417716a03a"
+ARCHIVE_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Prometheus Exporter for Redis Metrics. Supports Redis 2.x, 3.x and 4.x"
+HOMEPAGE="https://github.com/oliver006/redis_exporter"
+SRC_URI="${ARCHIVE_URI}"
+LICENSE="MIT"
+SLOT="0"
+IUSE=""
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_prepare() {
+ default
+ sed -e "s|\(^[[:space:]]*VERSION[[:space:]]*=[[:space:]]*\).*|\1\"${PV}\"|" \
+ -e "s|\(^[[:space:]]*BUILD_DATE[[:space:]]*=[[:space:]]*\).*|\1\"$(LC_ALL=C date -u)\"|" \
+ -e "s|\(^[[:space:]]*COMMIT_SHA1[[:space:]]*=[[:space:]]*\).*|\1\"${EGIT_COMMIT}\"|" \
+ -i src/${EGO_PN}/main.go || die
+}
+
+src_compile() {
+ pushd src/${EGO_PN} || die
+ GOPATH="${S}" \
+ go install -v -work -x ${EGO_BUILD_FLAGS} "${EGO_PN}"
+ popd || die
+}
+
+src_install() {
+ dobin bin/redis_exporter
+ dodoc src/${EGO_PN}/README.md
+ local dir
+ for dir in /var/{lib,log}/${PN}; do
+ keepdir "${dir}"
+ fowners ${PN}:${PN} "${dir}"
+ done
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/${PN}.logrotated" "${PN}"
+ systemd_dounit "${FILESDIR}/${PN}.service"
+}
diff --git a/app-metrics/snmp_exporter-0.10.0 b/app-metrics/snmp_exporter-0.10.0
deleted file mode 100644
index ae2f6b855cfa..000000000000
--- a/app-metrics/snmp_exporter-0.10.0
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile install prepare setup test unpack
-DEPEND=dev-util/promu >=dev-lang/go-1.9
-DESCRIPTION=Prometheus exporter for snmp metrics
-EAPI=6
-HOMEPAGE=https://github.com/prometheus/snmp_exporter
-KEYWORDS=~amd64
-LICENSE=Apache-2.0
-SLOT=0
-SRC_URI=https://github.com/prometheus/snmp_exporter/archive/v0.10.0.tar.gz -> snmp_exporter-0.10.0.tar.gz
-_eclasses_=golang-base d4e3a3f895016e5c9d7afb1a33e7cf3c golang-build b66349c110e4ddd6203bbe8bf4ae05c1 golang-vcs-snapshot 913580335becddd3ebecefe852e47536 user 8bc2845510e2109af75e3eeac607ec81
-_md5_=30e16ab71c7b0b17d87663412cdd31dd
diff --git a/app-metrics/snmp_exporter-0.11.0 b/app-metrics/snmp_exporter-0.11.0
deleted file mode 100644
index 98ab8706a7f6..000000000000
--- a/app-metrics/snmp_exporter-0.11.0
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile install prepare setup test unpack
-DEPEND=dev-util/promu >=dev-lang/go-1.9
-DESCRIPTION=Prometheus exporter for snmp metrics
-EAPI=6
-HOMEPAGE=https://github.com/prometheus/snmp_exporter
-KEYWORDS=~amd64
-LICENSE=Apache-2.0
-SLOT=0
-SRC_URI=https://github.com/prometheus/snmp_exporter/archive/v0.11.0.tar.gz -> snmp_exporter-0.11.0.tar.gz
-_eclasses_=golang-base d4e3a3f895016e5c9d7afb1a33e7cf3c golang-build b66349c110e4ddd6203bbe8bf4ae05c1 golang-vcs-snapshot 913580335becddd3ebecefe852e47536 user 8bc2845510e2109af75e3eeac607ec81
-_md5_=d0db61ac41356f2796accddd00a02512
diff --git a/app-metrics/snmp_exporter-0.9.0 b/app-metrics/snmp_exporter-0.9.0
deleted file mode 100644
index 1b4d65525427..000000000000
--- a/app-metrics/snmp_exporter-0.9.0
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile install prepare setup test unpack
-DEPEND=dev-util/promu >=dev-lang/go-1.9
-DESCRIPTION=Prometheus exporter for snmp metrics
-EAPI=6
-HOMEPAGE=https://github.com/prometheus/snmp_exporter
-KEYWORDS=~amd64
-LICENSE=Apache-2.0
-SLOT=0
-SRC_URI=https://github.com/prometheus/snmp_exporter/archive/v0.9.0.tar.gz -> snmp_exporter-0.9.0.tar.gz
-_eclasses_=golang-base d4e3a3f895016e5c9d7afb1a33e7cf3c golang-build b66349c110e4ddd6203bbe8bf4ae05c1 golang-vcs-snapshot 913580335becddd3ebecefe852e47536 user 8bc2845510e2109af75e3eeac607ec81
-_md5_=9792cf8bf51a206964bd79cb64fdf669
diff --git a/app-metrics/snmp_exporter/Manifest b/app-metrics/snmp_exporter/Manifest
new file mode 100644
index 000000000000..e8d7778c33fa
--- /dev/null
+++ b/app-metrics/snmp_exporter/Manifest
@@ -0,0 +1,9 @@
+AUX snmp_exporter.confd 98 BLAKE2B 3058ed314dd66772e0d299f135cc1ddb4f3c1f47403848fd249e949173430673991a12e794c74bfb53d0f25f313513d2d70c03d589b6d947659d03e33e6dea8a SHA512 e757dd327252ffd29a65170837aea147128d8effee3d88ac4f0474efffaa10748b51bfbecab999605284030a3026b13ce3ce2c1a7ec347a6ff191e44040d84aa
+AUX snmp_exporter.initd 591 BLAKE2B 103fec1c2e4ad46bf86893faaaf23bd64c7f22ecc905b059e31199c08d610d58852f678d18826cb06f51beab65c8777f49a05a005ad35b77dcfc3e5eef398926 SHA512 903fbcf43a737d2823ab74e954f40134a64414cc1e79a14c78ad51682baa52c3443e85e94ec1abb294753c93a55483c148239e738b72c03bcdc7d4a595580f41
+DIST snmp_exporter-0.10.0.tar.gz 3507371 BLAKE2B 8ad65ef8593e08fa1749013dcaf91e985df13ad12a988fb3691fed6436b979ce0edf668844240485437acbe5c19894dd52472e89dcff705a822dc633bde4d36a SHA512 70a1c6f1f3f89a68af71d6b1f2d6975c677e8c9470b9e1d5168c7fa9e60cacef808559b7d318c742704ab0358b7724e14d8583629747c118307381ba80d4bd6c
+DIST snmp_exporter-0.11.0.tar.gz 3631252 BLAKE2B 9786a17d667f8e6d45691f9df099f67ce103fbb93c9069ca497e59ff9207de05335fe3fac56d3d3bc0617069eb26a9c5b5682a8ec65c78d7e44303002427e9fa SHA512 a5d671d1bf2a98bbdb6ff85ac84ca5fe8da8d075bb1133aae650e73c45770be0403bcfea93595b2f5bc75b2e50cf96ccada0407d6956b4b5d1dc5b7ff604254a
+DIST snmp_exporter-0.9.0.tar.gz 3257207 BLAKE2B 3e7e91d7e66b32e3f84c9e53061f54ffc10116913b91598edfa011663daf2c67314661dbe6cd5b2c20b30968833bd64a48bdd5dd06694e76f1e787d59ad63933 SHA512 eb287f4519f2174a9ce80414c2b7a698bc50e1bcb2303a8190164002af088e0694e01233314cfe2bd89b2cd751f2fd6f8447eb641541701b7bd481373ce084b1
+EBUILD snmp_exporter-0.10.0.ebuild 1253 BLAKE2B c8428b4260d085ec6b39bd5f8d4215e620364ba8a2e2e1739daafd415772c2c4bbde2f17fe3a68c96bd15642b2bb342a332f27220f261fc4bac2afa3bcdf0021 SHA512 59bee80fe644fdf5a2de2b52698c222869d24393fc49c95ed98f8567a340f188702fd10ea05d7d1e206040e713a15a69a430ea3f77b5af6d7c6f2578346dd4c1
+EBUILD snmp_exporter-0.11.0.ebuild 1253 BLAKE2B e46a95e5164e369949a3087ce4ad6208e4353b5424961e419a3f289a859ffb6dcf621221aff432818815e4742e500aa8b82d90e75d6ed83adfb6cc2a6b6d64b5 SHA512 b762c4e488fc6c97811e1f7e9e34d78cdab6a354a03f61302f59543e33e24289a972b30f279a7b4f727487d4f88b7fc2cae0919ff1025053cba2c06f60e4f4a8
+EBUILD snmp_exporter-0.9.0.ebuild 1253 BLAKE2B 2973b4c2d3365036156bec70dad4236680d56a84e2d2bb1d6b0048a5644c9891c9f284fd8430d04161dc2d23c0c9dfd24380304f9e7bc8ff0d22463ead1ec0e1 SHA512 694d6121b6bb39f296daec971e4b79fcfdfe2bbffff94d4dc4aebc19680bd18e47a306c07a49873cd6760c46de194b5a54653aaca83c8344c33048fc9094ce33
+MISC metadata.xml 334 BLAKE2B a805d1d3f519c6ac1ef9c7f2cb5a0947740e6fe9a37fc77490e2011a27dae8ff981b3e482a55c117553eaa60f0e3c8d017d867c4fe082c8ebdc4e4bdac22f750 SHA512 7fd3e4314022bf2ff86bd01f335d5c4402676970b9810575225aff3d40bd5bdc9ffc27b438c880dc0a665cf3873502b969dfb30644b3c106278fd353820d6599
diff --git a/app-metrics/snmp_exporter/files/snmp_exporter.confd b/app-metrics/snmp_exporter/files/snmp_exporter.confd
new file mode 100644
index 000000000000..c5e56a67e15e
--- /dev/null
+++ b/app-metrics/snmp_exporter/files/snmp_exporter.confd
@@ -0,0 +1,2 @@
+# arguments for prometheus snmp exporter
+command_args="--config.file=/etc/snmp_exporter/snmp.yml"
diff --git a/app-metrics/snmp_exporter/files/snmp_exporter.initd b/app-metrics/snmp_exporter/files/snmp_exporter.initd
new file mode 100644
index 000000000000..b214422704e2
--- /dev/null
+++ b/app-metrics/snmp_exporter/files/snmp_exporter.initd
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+# Copyright 2016-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Prometheus snmp exporter"
+pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
+user=${user:-${RC_SVCNAME}}
+group=${group:-${RC_SVCNAME}}
+
+command="/usr/bin/snmp_exporter"
+command_args="${command_args:---config.file=/etc/snmp_exporter/snmp.yml}"
+command_background="true"
+start_stop_daemon_args="--user ${user} --group ${group} \
+ --stdout /var/log/snmp_exporter/${RC_SVCNAME}.log \
+ --stderr /var/log/snmp_exporter/${RC_SVCNAME}.log"
+
+depend() {
+ after net
+}
diff --git a/app-metrics/snmp_exporter/metadata.xml b/app-metrics/snmp_exporter/metadata.xml
new file mode 100644
index 000000000000..9ea37fba673a
--- /dev/null
+++ b/app-metrics/snmp_exporter/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mrueg@gentoo.org</email>
+ <name>Manuel Rüger</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">prometheus/snmp_exporter</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-metrics/snmp_exporter/snmp_exporter-0.10.0.ebuild b/app-metrics/snmp_exporter/snmp_exporter-0.10.0.ebuild
new file mode 100644
index 000000000000..63ed8670a2ef
--- /dev/null
+++ b/app-metrics/snmp_exporter/snmp_exporter-0.10.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit user golang-build golang-vcs-snapshot
+
+EGO_PN="github.com/prometheus/snmp_exporter"
+EGIT_COMMIT="v${PV/_rc/-rc.}"
+SNMP_EXPORTER_COMMIT="5c997da"
+ARCHIVE_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Prometheus exporter for snmp metrics"
+HOMEPAGE="https://github.com/prometheus/snmp_exporter"
+SRC_URI="${ARCHIVE_URI}"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+DEPEND="dev-util/promu"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_prepare() {
+ default
+ sed -i -e "s/{{.Revision}}/${SNMP_EXPORTER_COMMIT}/" src/${EGO_PN}/.promu.yml || die
+}
+
+src_compile() {
+ pushd src/${EGO_PN} || die
+ mkdir -p bin || die
+ GOPATH="${S}" promu build -v --prefix bin || die
+ popd || die
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin bin/snmp_exporter
+ dodoc {README,CONTRIBUTING}.md
+ insinto /etc/snmp_exporter
+ newins snmp.yml snmp.yml.example
+ popd || die
+ keepdir /var/lib/snmp_exporter /var/log/snmp_exporter
+ fowners ${PN}:${PN} /var/lib/snmp_exporter /var/log/snmp_exporter
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+}
diff --git a/app-metrics/snmp_exporter/snmp_exporter-0.11.0.ebuild b/app-metrics/snmp_exporter/snmp_exporter-0.11.0.ebuild
new file mode 100644
index 000000000000..36093bab9691
--- /dev/null
+++ b/app-metrics/snmp_exporter/snmp_exporter-0.11.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit user golang-build golang-vcs-snapshot
+
+EGO_PN="github.com/prometheus/snmp_exporter"
+EGIT_COMMIT="v${PV/_rc/-rc.}"
+SNMP_EXPORTER_COMMIT="e459171"
+ARCHIVE_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Prometheus exporter for snmp metrics"
+HOMEPAGE="https://github.com/prometheus/snmp_exporter"
+SRC_URI="${ARCHIVE_URI}"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+DEPEND="dev-util/promu"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_prepare() {
+ default
+ sed -i -e "s/{{.Revision}}/${SNMP_EXPORTER_COMMIT}/" src/${EGO_PN}/.promu.yml || die
+}
+
+src_compile() {
+ pushd src/${EGO_PN} || die
+ mkdir -p bin || die
+ GOPATH="${S}" promu build -v --prefix bin || die
+ popd || die
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin bin/snmp_exporter
+ dodoc {README,CONTRIBUTING}.md
+ insinto /etc/snmp_exporter
+ newins snmp.yml snmp.yml.example
+ popd || die
+ keepdir /var/lib/snmp_exporter /var/log/snmp_exporter
+ fowners ${PN}:${PN} /var/lib/snmp_exporter /var/log/snmp_exporter
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+}
diff --git a/app-metrics/snmp_exporter/snmp_exporter-0.9.0.ebuild b/app-metrics/snmp_exporter/snmp_exporter-0.9.0.ebuild
new file mode 100644
index 000000000000..c81866ee8510
--- /dev/null
+++ b/app-metrics/snmp_exporter/snmp_exporter-0.9.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit user golang-build golang-vcs-snapshot
+
+EGO_PN="github.com/prometheus/snmp_exporter"
+EGIT_COMMIT="v${PV/_rc/-rc.}"
+SNMP_EXPORTER_COMMIT="abb143a"
+ARCHIVE_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Prometheus exporter for snmp metrics"
+HOMEPAGE="https://github.com/prometheus/snmp_exporter"
+SRC_URI="${ARCHIVE_URI}"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+DEPEND="dev-util/promu"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_prepare() {
+ default
+ sed -i -e "s/{{.Revision}}/${SNMP_EXPORTER_COMMIT}/" src/${EGO_PN}/.promu.yml || die
+}
+
+src_compile() {
+ pushd src/${EGO_PN} || die
+ mkdir -p bin || die
+ GOPATH="${S}" promu build -v --prefix bin || die
+ popd || die
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin bin/snmp_exporter
+ dodoc {README,CONTRIBUTING}.md
+ insinto /etc/snmp_exporter
+ newins snmp.yml snmp.yml.example
+ popd || die
+ keepdir /var/lib/snmp_exporter /var/log/snmp_exporter
+ fowners ${PN}:${PN} /var/lib/snmp_exporter /var/log/snmp_exporter
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+}
diff --git a/app-metrics/uwsgi_exporter-0.7.0 b/app-metrics/uwsgi_exporter-0.7.0
deleted file mode 100644
index c3c83b484133..000000000000
--- a/app-metrics/uwsgi_exporter-0.7.0
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile install prepare setup test unpack
-DEPEND=dev-util/promu >=dev-lang/go-1.9 virtual/pkgconfig
-DESCRIPTION=uWSGI metrics exporter for prometheus.io
-EAPI=6
-HOMEPAGE=https://github.com/timonwong/uwsgi_exporter
-KEYWORDS=~amd64
-LICENSE=Apache-2.0
-SLOT=0
-SRC_URI=https://github.com/timonwong/uwsgi_exporter/archive/v0.7.0.tar.gz -> uwsgi_exporter-0.7.0.tar.gz
-_eclasses_=golang-base d4e3a3f895016e5c9d7afb1a33e7cf3c golang-build b66349c110e4ddd6203bbe8bf4ae05c1 golang-vcs-snapshot 913580335becddd3ebecefe852e47536 multilib 97f470f374f2e94ccab04a2fb21d811e systemd 04e50685fbf3d89e5c67ac6a385dd595 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 user 8bc2845510e2109af75e3eeac607ec81
-_md5_=78a4d6048c97e40fe634bb0ae8ef6f2d
diff --git a/app-metrics/uwsgi_exporter/Manifest b/app-metrics/uwsgi_exporter/Manifest
new file mode 100644
index 000000000000..3e3cc6fa9523
--- /dev/null
+++ b/app-metrics/uwsgi_exporter/Manifest
@@ -0,0 +1,7 @@
+AUX uwsgi_exporter.confd 857 BLAKE2B ab9ab9a1b80247d552a64d2b3d4d5ff22cf4d8f9dc6c4b819ccf8c8e2508de30cd1212a8bdfcc814f9c11867c0115867fd8b2ddcc7796a22b9dbd5b60ad1f55a SHA512 45b158629daec99a19508bddc297c3e2c5a781ef6d0e0571cff8d51308460faa499d5ce47829061be470a4d9177a90f806937ddf3322d35d2e950620e8c56ddd
+AUX uwsgi_exporter.initd 627 BLAKE2B 37b6a417bbf2073dd30c7233266edd683e571217eb0aa12a9617ffafe44bbba449e508a437da1facf387e1ad801003a20bf8eed57177c5f62fad875d7ac185d6 SHA512 9735466e203f42c415742c2f6384357c7cd6e2e990dd75761ba79fff471680f2a41ae3324431e6c214f33c227b7d3eaece459cb9f10c6fba9a6080adf2448e30
+AUX uwsgi_exporter.logrotated 101 BLAKE2B f375e39ad267147f98945120479e6c43ea2a0987e882880942f1b8e977f9263fd63cefc433897a1091eea1a1da54b1dfdbb50ff7e4753aebcd23602ef2232630 SHA512 8dc8c9ee998c26d128c26de1c75011d6200c78098bfc9f97bd1d40946b0923f5a7c56eccf8fbfe59fb9df0b6b1430ae321b7f9da817dee1112d8a407d735af71
+AUX uwsgi_exporter.service 454 BLAKE2B 129a09d27a097a1e8a5ee230082d56a6a3e85387e84d8758a5d05589f5a24817146f9198106029e3b413ae4fbff01b05627ff865c6edefb2eb1ffd2e442dcc3f SHA512 b57a18f882285f2c91408697cd144ea4907f17428032f58e91abfdfe18fb76ba6ae5e31092f64e49bfcb5aef43f01ff162f9f15cb9a7b62cdc3bfa68f920b233
+DIST uwsgi_exporter-0.7.0.tar.gz 3039893 BLAKE2B a6efdae7f9a19ad21a283b586b5667bd99456274ed419d1b64aaf4cdb4df1e1c4fb2a08edf6df2b15813d21311fe54c2f2394f0bf25ac11c49db8a924596da05 SHA512 380ef4515eaa81d4dee853682efa7a5e82af2ec00c096e7471028c9932d46e0a7406b75cb40f0f8efec15cd77b06c5477a07919d0b44720e3e194b5bb023b593
+EBUILD uwsgi_exporter-0.7.0.ebuild 1290 BLAKE2B a5f602cbac0af581b267c431593e99485f6bc38d6b2ac2397a473776b79b47d5efa44159733294dc474c198449370761e5044bdcbec4d60e697260a6cd3bbc30 SHA512 da92f32a2557bfce8206d2904306c5f2afcd539f3a81221e5d4f7255f3d8f150fe782d5640a6547ff78cebcd872b90beedbd7ccfcd1092f4e6587663a73e0bc4
+MISC metadata.xml 333 BLAKE2B 95f858b4f8e6c056cdc531b5a8e5dcd4f1a3ef72937d8e9d25276fec38ac13d5da50c3a97c221735bb93cc1bc431e6408c5ef4a68a694a94f077270bb4acac62 SHA512 95be3084c4d196026c2447fbdba6c4c8ca982f04757e613a2b097c0481ca49b5eb0a10e0814fd7bbf1dbcc5862e5704a5ae6cc0b7192e0f4fe87e0ba9ea14e0d
diff --git a/app-metrics/uwsgi_exporter/files/uwsgi_exporter.confd b/app-metrics/uwsgi_exporter/files/uwsgi_exporter.confd
new file mode 100644
index 000000000000..6db54fb3cc0e
--- /dev/null
+++ b/app-metrics/uwsgi_exporter/files/uwsgi_exporter.confd
@@ -0,0 +1,16 @@
+# --web.listen-address=":9117"
+# Address on which to expose metrics and web interfaces.
+# --web.telemetry-path="/metrics"
+# Path under which to expose metrics.
+# --stats.uri="" URI for accessing uwsgi stats.
+# --stats.timeout=5s Timeout for trying to get stats from uwsgi.
+# --collect.cores Collect cores information per uwsgi worker.
+# --log.level="info" Only log messages with the given severity or above.
+# Valid levels: [debug, info, warn, error, fatal]
+# --log.format="logger:stderr"
+# Set the log target and format. Example:
+# "logger:syslog?appname=bob&local=7" or
+# "logger:stdout?json=true"
+# --version Show application version.
+
+#command_args="--web.listen-address=:9117 --stats.uri=http://localhost:1717"
diff --git a/app-metrics/uwsgi_exporter/files/uwsgi_exporter.initd b/app-metrics/uwsgi_exporter/files/uwsgi_exporter.initd
new file mode 100644
index 000000000000..b456a0b10505
--- /dev/null
+++ b/app-metrics/uwsgi_exporter/files/uwsgi_exporter.initd
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+# Copyright 2016-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="uWSGI metrics exporter for prometheus.io"
+pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
+user=${user:-${RC_SVCNAME}}
+group=${group:-${RC_SVCNAME}}
+
+command="/usr/bin/uwsgi_exporter"
+command_args="${command_args:---web.listen-address=:9117 --stats.uri=http://localhost:1717}"
+command_background="true"
+start_stop_daemon_args="--user ${user} --group ${group} \
+ --stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log \
+ --stderr /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log"
+
+depend() {
+ after net
+}
diff --git a/app-metrics/uwsgi_exporter/files/uwsgi_exporter.logrotated b/app-metrics/uwsgi_exporter/files/uwsgi_exporter.logrotated
new file mode 100644
index 000000000000..ea6820d6ca4a
--- /dev/null
+++ b/app-metrics/uwsgi_exporter/files/uwsgi_exporter.logrotated
@@ -0,0 +1,7 @@
+/var/log/uwsgi_exporter/uwsgi_exporter.log {
+ missingok
+ size 5M
+ rotate 3
+ compress
+ copytruncate
+}
diff --git a/app-metrics/uwsgi_exporter/files/uwsgi_exporter.service b/app-metrics/uwsgi_exporter/files/uwsgi_exporter.service
new file mode 100644
index 000000000000..229a1f397fe5
--- /dev/null
+++ b/app-metrics/uwsgi_exporter/files/uwsgi_exporter.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=uWSGI metrics exporter for prometheus.io
+Documentation=https://github.com/timonwong/uwsgi_exporter/
+After=network-online.target
+
+[Service]
+User=uwsgi_exporter
+Restart=on-failure
+Environment=UWSGI_EXPORTER_ARGS="--web.listen-address=:9117 --stats.uri=http://localhost:1717"
+ExecStart=/usr/bin/uwsgi_exporter $UWSGI_EXPORTER_ARGS
+ExecReload=/bin/kill -HUP $MAINPID
+TimeoutStopSec=20s
+SendSIGKILL=no
+
+[Install]
+WantedBy=multi-user.target
diff --git a/app-metrics/uwsgi_exporter/metadata.xml b/app-metrics/uwsgi_exporter/metadata.xml
new file mode 100644
index 000000000000..ba98a1a69cd7
--- /dev/null
+++ b/app-metrics/uwsgi_exporter/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>zmedico@gentoo.org</email>
+ <name>Zac Medico</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">timonwong/uwsgi_exporter</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-metrics/uwsgi_exporter/uwsgi_exporter-0.7.0.ebuild b/app-metrics/uwsgi_exporter/uwsgi_exporter-0.7.0.ebuild
new file mode 100644
index 000000000000..7c5dd6280d85
--- /dev/null
+++ b/app-metrics/uwsgi_exporter/uwsgi_exporter-0.7.0.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit user golang-build golang-vcs-snapshot systemd
+
+EGO_PN="github.com/timonwong/uwsgi_exporter"
+EGIT_COMMIT="v${PV/_rc/-rc.}"
+UWSGI_EXPORTER_COMMIT="20e35a9"
+ARCHIVE_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="uWSGI metrics exporter for prometheus.io"
+HOMEPAGE="https://github.com/timonwong/uwsgi_exporter"
+SRC_URI="${ARCHIVE_URI}"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+DEPEND="dev-util/promu"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_prepare() {
+ default
+ sed -i -e "s/{{.Revision}}/${UWSGI_EXPORTER_COMMIT}/" src/${EGO_PN}/.promu.yml || die
+}
+
+src_compile() {
+ pushd src/${EGO_PN} || die
+ mkdir -p bin || die
+ GOPATH="${S}" promu build -v --prefix bin || die
+ popd || die
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin bin/uwsgi_exporter
+ dodoc README.md
+ popd || die
+ local dir
+ for dir in /var/{lib,log}/${PN}; do
+ keepdir "${dir}"
+ fowners ${PN}:${PN} "${dir}"
+ done
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/${PN}.logrotated" "${PN}"
+ systemd_dounit "${FILESDIR}/${PN}.service"
+}