summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-metrics')
-rw-r--r--app-metrics/bind_exporter/Manifest2
-rw-r--r--app-metrics/bind_exporter/bind_exporter-0.6.1.ebuild59
-rw-r--r--app-metrics/carbonapi-booking/Manifest1
-rw-r--r--app-metrics/carbonapi-booking/carbonapi-booking-0.3.0-r1.ebuild58
-rw-r--r--app-metrics/carbonapi-booking/files/carbonapi-booking-0.3.0-colours.patch55
-rw-r--r--app-metrics/carbonapi-booking/files/carbonapi-booking-0.3.0-logfile.patch14
-rw-r--r--app-metrics/carbonapi-booking/files/carbonapi-booking.confd8
-rw-r--r--app-metrics/carbonapi-booking/files/carbonapi-booking.initd44
-rw-r--r--app-metrics/carbonapi-booking/metadata.xml11
-rw-r--r--app-metrics/carbonapi-web/Manifest1
-rw-r--r--app-metrics/carbonapi-web/carbonapi-web-1.0.ebuild24
-rw-r--r--app-metrics/carbonapi-web/files/postinstall-en.txt12
-rw-r--r--app-metrics/carbonapi-web/metadata.xml11
-rw-r--r--app-metrics/collectd/collectd-5.12.0-r8.ebuild (renamed from app-metrics/collectd/collectd-5.12.0-r7.ebuild)20
-rw-r--r--app-metrics/collectd/files/collectd-5.12.0-clang16-configure.patch127
-rw-r--r--app-metrics/go-carbon/Manifest1
-rw-r--r--app-metrics/go-carbon/files/go-carbon.confd8
-rw-r--r--app-metrics/go-carbon/files/go-carbon.initd44
-rw-r--r--app-metrics/go-carbon/go-carbon-0.17.1.ebuild40
-rw-r--r--app-metrics/go-carbon/metadata.xml11
-rw-r--r--app-metrics/mongodb_exporter/Manifest2
-rw-r--r--app-metrics/mongodb_exporter/mongodb_exporter-0.39.0.ebuild43
-rw-r--r--app-metrics/nftables-exporter/Manifest2
-rw-r--r--app-metrics/nftables-exporter/files/nftables-exporter.initd15
-rw-r--r--app-metrics/nftables-exporter/metadata.xml11
-rw-r--r--app-metrics/nftables-exporter/nftables-exporter-0.2.7.ebuild45
-rw-r--r--app-metrics/node_exporter/Manifest2
-rw-r--r--app-metrics/node_exporter/node_exporter-1.5.0.ebuild51
-rw-r--r--app-metrics/portage-exporter/Manifest1
-rw-r--r--app-metrics/portage-exporter/files/portage-exporter.service18
-rw-r--r--app-metrics/portage-exporter/portage-exporter-0.1.0.ebuild24
-rw-r--r--app-metrics/prometheus/prometheus-2.43.0-r2.ebuild2
-rw-r--r--app-metrics/snmp_exporter/Manifest2
-rw-r--r--app-metrics/snmp_exporter/snmp_exporter-0.20.0-r1.ebuild48
-rw-r--r--app-metrics/snmp_exporter/snmp_exporter-0.21.0.ebuild2
35 files changed, 761 insertions, 58 deletions
diff --git a/app-metrics/bind_exporter/Manifest b/app-metrics/bind_exporter/Manifest
index 8a39f9d61057..9c17ec11501a 100644
--- a/app-metrics/bind_exporter/Manifest
+++ b/app-metrics/bind_exporter/Manifest
@@ -1 +1,3 @@
DIST bind_exporter-0.3.0.tar.gz 1796507 BLAKE2B a79b9e0d159d3deb83f1a040325ad34bc0d4ae50b6af205dce4ebf8d7152ccbd4b7d46fda40bf76db953996ddf4237ca13058250478b08cca51b8bea08ccc31b SHA512 762901a63a9493f852e5514429f55b10400931f0a77d2e11c7565e93e1ff759eb30d3bbc9278451bb9df358a983aa099bd55cf57241cf36187d2789c89a3852d
+DIST bind_exporter-0.6.1-vendor.tar.xz 1300068 BLAKE2B 058f4f61ff9c403a5672390dd3944dec9a6b4b1dcf8ac7bcb6943494d43c116236e23f4b0437d5b2e91cb0d936377ba896740594d90b50ce99a61963713ab70c SHA512 9fd880655ac9657d49c0d250b22e46c53a63c0a2d4097763ca8856da36f75527d515a4e4cde7dd68c2c5cbf4ea784c07d9bd5e38a01eeb2d308a585c31d5c19b
+DIST bind_exporter-0.6.1.tar.gz 48904 BLAKE2B ad2def162e0fac5e857328bb142bc20655d0d1ea4a9d90a3bd8d305a3d86f9247671ca92f90d5ccdcb1a8bd147ed56858a9782feeac019b87666b4b18b7219c1 SHA512 d710b7228587e12a101a1d626ec5e0290b0740074f3976eee02463165030b361d3b6df556ab949d632488582ef6d4a3197270afc197d6d756a99c16e55c5448c
diff --git a/app-metrics/bind_exporter/bind_exporter-0.6.1.ebuild b/app-metrics/bind_exporter/bind_exporter-0.6.1.ebuild
new file mode 100644
index 000000000000..6f9020afafd7
--- /dev/null
+++ b/app-metrics/bind_exporter/bind_exporter-0.6.1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit go-module
+GIT_COMMIT=c34ff3d6b4817f42e74b2b05b3797cf99683b4a9
+
+DESCRIPTION="Prometheus exporter for BIND"
+HOMEPAGE="https://github.com/prometheus-community/bind_exporter"
+SRC_URI="
+ https://github.com/prometheus-community/bind_exporter/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+ https://dev.gentoo.org/~robbat2/distfiles/bind_exporter-${PV}-vendor.tar.xz
+ "
+
+LICENSE="Apache-2.0 BSD MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+COMMON_DEPEND="acct-group/bind_exporter
+ acct-user/bind_exporter"
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}"
+BDEPEND="dev-util/promu"
+
+src_prepare() {
+ default
+ sed -i -e "/-s$/d" -e "s/{{.Revision}}/${GIT_COMMIT}/" .promu.yml || die
+}
+
+src_compile() {
+ mkdir -p bin || die
+ promu build -v --prefix bin || die
+}
+
+src_test() {
+ emake test-flags= test
+}
+
+src_install() {
+ dobin bin/${PN}
+ dodoc {README,CHANGELOG}.md
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ keepdir /var/log/${PN}
+ fowners ${PN}:${PN} /var/log/${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/carbonapi-booking/Manifest b/app-metrics/carbonapi-booking/Manifest
new file mode 100644
index 000000000000..b7df71a38195
--- /dev/null
+++ b/app-metrics/carbonapi-booking/Manifest
@@ -0,0 +1 @@
+DIST carbonapi-booking-0.3.0.tar.gz 1395080 BLAKE2B e5ebe20a4833f17919f0a14e091b06b5270d7dd8880fa87600454ac33b7df7600d1428f0b2e06c65a1a36796e2eb026e8c47b98444dce168cec0e965ebee9d69 SHA512 327af89fd86661ccca9d7250e70b66f03089841b20e3c51128bcbb835a91d553d952928d991424f9bbe1fea235cd9e6242784d8cbd828725ba5b2cfb64328487
diff --git a/app-metrics/carbonapi-booking/carbonapi-booking-0.3.0-r1.ebuild b/app-metrics/carbonapi-booking/carbonapi-booking-0.3.0-r1.ebuild
new file mode 100644
index 000000000000..166f4baa33fa
--- /dev/null
+++ b/app-metrics/carbonapi-booking/carbonapi-booking-0.3.0-r1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit go-module
+
+MY_PN=${PN%-booking}
+DESCRIPTION="High-performance Graphite front-end, Booking.com fork"
+HOMEPAGE="https://github.com/bookingcom/carbonapi"
+SRC_URI="https://github.com/bookingcom/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="
+ app-arch/bzip2
+ dev-libs/expat
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/libpng
+ x11-libs/cairo
+ x11-libs/libX11
+ x11-libs/libXau
+ x11-libs/libxcb
+ x11-libs/libXdmcp
+ x11-libs/libXext
+ x11-libs/libXrender
+ x11-libs/pixman
+"
+RDEPEND="${DEPEND}
+ acct-group/carbon
+ acct-user/carbon"
+BDEPEND=""
+
+src_prepare() {
+ export VERSION="gentoo-${PVR}"
+
+ # bug 904051: disable data-race detection, conflicts with
+ # go-module's -buildmode=pie
+ sed -i -e 's/ -race / /' Makefile || die
+
+ eapply "${FILESDIR}"/${P}-logfile.patch
+ eapply "${FILESDIR}"/${P}-colours.patch
+
+ eapply_user
+}
+
+src_install() {
+ insinto /etc/carbonapi
+ doins -r "${S}"/config/*
+ dobin carbonapi carbonzipper
+
+ newinitd "${FILESDIR}"/${PN}.initd carbonapi
+ newconfd "${FILESDIR}"/${PN}.confd carbonapi
+}
diff --git a/app-metrics/carbonapi-booking/files/carbonapi-booking-0.3.0-colours.patch b/app-metrics/carbonapi-booking/files/carbonapi-booking-0.3.0-colours.patch
new file mode 100644
index 000000000000..6fbbeeb181cb
--- /dev/null
+++ b/app-metrics/carbonapi-booking/files/carbonapi-booking-0.3.0-colours.patch
@@ -0,0 +1,55 @@
+use colouring defaults from graphite-web-1.10
+
+--- carbonapi-0.3.0/expr/functions/cairo/png/picture_params.go
++++ carbonapi-0.3.0/expr/functions/cairo/png/picture_params.go
+@@ -351,10 +351,10 @@
+ Height: 250,
+ Margin: 10,
+ LogBase: 0,
+- FgColor: "white",
+- BgColor: "black",
+- MajorLine: "rose",
+- MinorLine: "grey",
++ FgColor: "black",
++ BgColor: "white",
++ MajorLine: "grey",
++ MinorLine: "rose",
+ FontName: "Sans",
+ FontSize: 10,
+ FontBold: FontWeightNormal,
+@@ -414,8 +414,8 @@
+ LeftDashed: false,
+ LeftColor: "",
+
+- MajorGridLineColor: "white",
+- MinorGridLineColor: "grey",
++ MajorGridLineColor: "grey",
++ MinorGridLineColor: "rose",
+ }
+
+ var templates = map[string]PictureParams{
+@@ -424,10 +424,10 @@
+ Height: 250,
+ Margin: 10,
+ LogBase: 0,
+- FgColor: "white",
+- BgColor: "black",
+- MajorLine: "rose",
+- MinorLine: "grey",
++ FgColor: "black",
++ BgColor: "white",
++ MajorLine: "grey",
++ MinorLine: "rose",
+ FontName: "Sans",
+ FontSize: 10,
+ FontBold: FontWeightNormal,
+@@ -487,7 +487,7 @@
+ LeftDashed: false,
+ LeftColor: "",
+
+- MajorGridLineColor: "white",
+- MinorGridLineColor: "grey",
++ MajorGridLineColor: "grey",
++ MinorGridLineColor: "rose",
+ },
+ }
diff --git a/app-metrics/carbonapi-booking/files/carbonapi-booking-0.3.0-logfile.patch b/app-metrics/carbonapi-booking/files/carbonapi-booking-0.3.0-logfile.patch
new file mode 100644
index 000000000000..5e1015cf67dd
--- /dev/null
+++ b/app-metrics/carbonapi-booking/files/carbonapi-booking-0.3.0-logfile.patch
@@ -0,0 +1,14 @@
+- don't log to stdout
+- change log to be under subdir so ebuild can manage its permissions
+
+--- carbonapi-0.3.0/config/carbonapi.yaml
++++ carbonapi-0.3.0/config/carbonapi.yaml
+@@ -130,7 +130,7 @@
+ - X-Real-Ip
+ - X-Webauth-User
+ loggerConfig:
+- outputPaths: ["stdout", "/var/log/carbonapi.log"]
++ outputPaths: ["/var/log/carbonapi/carbonapi.log"]
+ level: "info"
+ encoding: "json"
+
diff --git a/app-metrics/carbonapi-booking/files/carbonapi-booking.confd b/app-metrics/carbonapi-booking/files/carbonapi-booking.confd
new file mode 100644
index 000000000000..2f9ca1ba6bd5
--- /dev/null
+++ b/app-metrics/carbonapi-booking/files/carbonapi-booking.confd
@@ -0,0 +1,8 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+#CONFIG_FILE=/etc/carbonapi/carbonapi.yaml
+
+# user and group to run carbonapi as
+#USER=carbon
+#GROUP=carbon
diff --git a/app-metrics/carbonapi-booking/files/carbonapi-booking.initd b/app-metrics/carbonapi-booking/files/carbonapi-booking.initd
new file mode 100644
index 000000000000..c4fbee5331a0
--- /dev/null
+++ b/app-metrics/carbonapi-booking/files/carbonapi-booking.initd
@@ -0,0 +1,44 @@
+#!/sbin/openrc-run
+# Copyright 1999-2023 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Graphite whisper metrics renderer."
+
+carbonapi_config=${CONFIG_FILE:-/etc/carbonapi/${SVCNAME}.yaml}
+
+command="/usr/bin/carbonapi"
+command_args="-config ${carbonapi_config}"
+pidfile="/run/carbonapi/${SVCNAME}.pid"
+user=${USER:-carbon}
+group=${GROUP:-carbon}
+
+depend() {
+ need net
+ use dns
+}
+
+start_pre() {
+ mkdir -p "${pidfile%/*}"
+ mkdir -p /var/log/carbonapi
+ chown ${user}:${group} "${pidfile%/*}" /var/log/carbonapi
+}
+
+stop_post() {
+ rm -f "${pidfile}"
+}
+
+start() {
+ ebegin "Starting ${SVCNAME}"
+ start-stop-daemon --start --pidfile "${pidfile}" \
+ --make-pidfile --background \
+ --user ${user} --group ${group} \
+ --exec ${command} -- \
+ ${command_args}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --stop --exec ${command} --pidfile "${pidfile}"
+ eend $?
+}
diff --git a/app-metrics/carbonapi-booking/metadata.xml b/app-metrics/carbonapi-booking/metadata.xml
new file mode 100644
index 000000000000..054109ad0a1e
--- /dev/null
+++ b/app-metrics/carbonapi-booking/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>grobian@gentoo.org</email>
+ <name>Fabian Groffen</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">bookingcom/carbonapi</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-metrics/carbonapi-web/Manifest b/app-metrics/carbonapi-web/Manifest
new file mode 100644
index 000000000000..a61f570231b9
--- /dev/null
+++ b/app-metrics/carbonapi-web/Manifest
@@ -0,0 +1 @@
+DIST carbonapi-web-1.0.tar.gz 1026954 BLAKE2B e482565b103b7afcfb7e2d778e57b24610713568f7ec079247b8dbd9f1f46668f0487eefef6d34e27bb0985bf5bc9bb6edb1a1d22652ff0db575b32099586c5f SHA512 56a048d414aae2db99a29aca46ebe0c58e738acdae44ffa0b82478559dd0e2327767682941e69d5cda0c716cf7121c2f90d40b9866943b735d424c4b5b283e5c
diff --git a/app-metrics/carbonapi-web/carbonapi-web-1.0.ebuild b/app-metrics/carbonapi-web/carbonapi-web-1.0.ebuild
new file mode 100644
index 000000000000..5b854a847cc2
--- /dev/null
+++ b/app-metrics/carbonapi-web/carbonapi-web-1.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit webapp
+
+DESCRIPTION="graphite-web fork for standalone usage with carbonapi"
+HOMEPAGE="https://github.com/grobian/carbonapi-web"
+SRC_URI="https://github.com/grobian/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+KEYWORDS="~amd64"
+
+src_install() {
+ webapp_src_preinst
+
+ insinto "${MY_HTDOCSDIR}"
+ doins -r webapp/content/*
+
+ webapp_postinst_txt en "${FILESDIR}"/postinstall-en.txt
+
+ webapp_src_install
+}
diff --git a/app-metrics/carbonapi-web/files/postinstall-en.txt b/app-metrics/carbonapi-web/files/postinstall-en.txt
new file mode 100644
index 000000000000..26cd2dc8abb0
--- /dev/null
+++ b/app-metrics/carbonapi-web/files/postinstall-en.txt
@@ -0,0 +1,12 @@
+1. install and setup a Graphite resolving and rendering instance such as
+ app-metrics/carbonapi-booking
+2. setup a vhost that:
+ - uses default index file browser.html
+ - proxies these paths down to the Graphite rendering instance:
+ * /render/
+ * /metrics/
+ * /info/
+ * /functions/
+ * /tags/
+3. the combined setup should load the web browser and interact with your
+ Graphite install
diff --git a/app-metrics/carbonapi-web/metadata.xml b/app-metrics/carbonapi-web/metadata.xml
new file mode 100644
index 000000000000..d431e6b2a193
--- /dev/null
+++ b/app-metrics/carbonapi-web/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>grobian@gentoo.org</email>
+ <name>Fabian Groffen</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">grobian/carbonapi-web</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-metrics/collectd/collectd-5.12.0-r7.ebuild b/app-metrics/collectd/collectd-5.12.0-r8.ebuild
index 9662889050c6..06e6d5ed301c 100644
--- a/app-metrics/collectd/collectd-5.12.0-r7.ebuild
+++ b/app-metrics/collectd/collectd-5.12.0-r8.ebuild
@@ -55,7 +55,7 @@ COLLECTD_TESTED_PLUGINS="aggregation amqp apache apcups ascent battery bind
buddyinfo capabilities ceph cgroups check_uptime chrony connectivity
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 gpu_nvidia hddtemp hugepages interface ipc
+ filecount fscache gps gpu_nvidia hddtemp hugepages interface ipc
ipmi iptables ipvs irq java lua load logfile logparser log_logstash
madwifi match_empty_counter match_hashed match_regex match_timediff
match_value mbmon mcelog md memcachec memcached memory modbus mqtt
@@ -104,7 +104,6 @@ COMMON_DEPEND="
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_gpu_nvidia? ( dev-util/nvidia-cuda-toolkit )
collectd_plugins_ipmi? ( >=sys-libs/openipmi-2.0.16-r1 )
@@ -173,6 +172,7 @@ REQUIRED_USE="
PATCHES=(
"${FILESDIR}"/${PN}-5.11.0-libsigrok-0.4+.patch
"${FILESDIR}"/${PN}-5.12.0-python3_11.patch
+ "${FILESDIR}"/${PN}-5.12.0-clang16-configure.patch
)
# @FUNCTION: collectd_plugin_kernel_linux
@@ -475,10 +475,18 @@ src_install() {
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
+ sed \
+ -e 's:^.*PIDFile "/var/run/collectd.pid":#PIDFile "/run/collectd.pid":' \
+ -i "${ED}"/etc/collectd.conf || die
+ sed \
+ -e 's:^# SocketFile "/var/run/collectd-unixsock":# SocketFile "/run/collectd/collectd.socket":' \
+ -i "${ED}"/etc/collectd.conf || die
+ sed \
+ -e 's:^.*LoadPlugin perl$:# The new, correct way to load the perl plugin -- \n# <LoadPlugin perl>\n# Globals true\n# </LoadPlugin>:' \
+ -i "${ED}"/etc/collectd.conf || die
+ sed \
+ -e 's:^.*LoadPlugin python$:# The new, correct way to load the python plugin -- \n# <LoadPlugin python>\n# Globals true\n# </LoadPlugin>:' \
+ -i "${ED}"/etc/collectd.conf || die
}
pkg_postinst() {
diff --git a/app-metrics/collectd/files/collectd-5.12.0-clang16-configure.patch b/app-metrics/collectd/files/collectd-5.12.0-clang16-configure.patch
new file mode 100644
index 000000000000..578099579c47
--- /dev/null
+++ b/app-metrics/collectd/files/collectd-5.12.0-clang16-configure.patch
@@ -0,0 +1,127 @@
+https://bugs.gentoo.org/879633
+https://bugs.gentoo.org/900392
+https://github.com/collectd/collectd/pull/4106
+
+From f23164e589502ff675b3b54fa598bd9efd1422ed Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Thu, 6 Apr 2023 19:00:08 +0200
+Subject: [PATCH] Fix glibc feature macro handling for timegm
+
+The way strptime is activated using feature macros, _DEFAULT_SOURCE
+(successor to _BSD_SOURCE) is disabled implicitly, so timegm is
+hidden. Defining _DEFAULT_SOURCE at the same time as the other
+feature macros solves this, and removes the need for the
+TIMEGM_NEEDS_BSD configure macro.
+
+This avoids an implicit declaration of timegm in src/bind.c, and build
+failures with future compilers.
+---
+ configure.ac | 53 ++++++++++++----------------------------------------
+ src/bind.c | 10 +++++-----
+ 2 files changed, 17 insertions(+), 46 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index bbe65a7e99..78bbff6624 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -974,6 +974,12 @@ if test "x$have_strptime" = "xyes" && test "x$c_cv_have_strptime_default" = "xno
+ #ifndef _XOPEN_SOURCE
+ # define _XOPEN_SOURCE 500
+ #endif
++ # ifndef _BSD_SOURCE
++ # define _BSD_SOURCE
++ # endif
++ # ifndef _DEFAULT_SOURCE
++ # define _DEFAULT_SOURCE
++ # endif
+ #include <time.h>
+ ]],
+ [[
+@@ -1024,6 +1030,12 @@ AC_CACHE_CHECK([for timegm],
+ # ifndef _XOPEN_SOURCE
+ # define _XOPEN_SOURCE 500
+ # endif
++# ifndef _BSD_SOURCE
++# define _BSD_SOURCE
++# endif
++# ifndef _DEFAULT_SOURCE
++# define _DEFAULT_SOURCE
++# endif
+ #endif
+ #include <time.h>
+ ]]],
+@@ -1039,50 +1051,9 @@ AC_CACHE_CHECK([for timegm],
+ )
+ )
+
+-if test "x$c_cv_have_timegm" != "xyes"
+-then
+- AC_CACHE_CHECK([for timegm with _BSD_SOURCE],
+- [c_cv_have_timegm_bsd],
+- AC_LINK_IFELSE(
+- [AC_LANG_PROGRAM(
+-[[[
+-#if STRPTIME_NEEDS_STANDARDS
+-# ifndef _ISOC99_SOURCE
+-# define _ISOC99_SOURCE 1
+-# endif
+-# ifndef _POSIX_C_SOURCE
+-# define _POSIX_C_SOURCE 200112L
+-# endif
+-# ifndef _XOPEN_SOURCE
+-# define _XOPEN_SOURCE 500
+-# endif
+-#endif
+-#ifndef _BSD_SOURCE
+-# define _BSD_SOURCE 1
+-#endif
+-#include <time.h>
+-]]],
+-[[[
+- time_t t = timegm(&(struct tm){0});
+- if (t == ((time_t) -1)) {
+- return 1;
+- }
+-]]]
+- )],
+- [c_cv_have_timegm_bsd="yes"
+- c_cv_have_timegm="yes"],
+- [c_cv_have_timegm_bsd="no"]
+- )
+- )
+-fi
+-
+ if test "x$c_cv_have_timegm" = "xyes"
+ then
+ AC_DEFINE(HAVE_TIMEGM, 1, [Define if the timegm(3) function is available.])
+- if test "x$c_cv_have_timegm_bsd" = "xyes"
+- then
+- AC_DEFINE(TIMEGM_NEEDS_BSD, 1, [Set to true if timegm is only exported in BSD mode.])
+- fi
+ fi
+
+ CFLAGS="$SAVE_CFLAGS"
+diff --git a/src/bind.c b/src/bind.c
+index a246f1aacf..4a7c024253 100644
+--- a/src/bind.c
++++ b/src/bind.c
+@@ -33,13 +33,13 @@
+ #ifndef _XOPEN_SOURCE
+ #define _XOPEN_SOURCE 500
+ #endif
+-#endif /* STRPTIME_NEEDS_STANDARDS */
+-
+-#if TIMEGM_NEEDS_BSD
+ #ifndef _BSD_SOURCE
+-#define _BSD_SOURCE 1
++#define _BSD_SOURCE
+ #endif
+-#endif /* TIMEGM_NEEDS_BSD */
++#ifndef _DEFAULT_SOURCE
++#define _DEFAULT_SOURCE
++#endif
++#endif /* STRPTIME_NEEDS_STANDARDS */
+
+ #include "collectd.h"
+
+
diff --git a/app-metrics/go-carbon/Manifest b/app-metrics/go-carbon/Manifest
new file mode 100644
index 000000000000..db8bef38af66
--- /dev/null
+++ b/app-metrics/go-carbon/Manifest
@@ -0,0 +1 @@
+DIST go-carbon-0.17.1.tar.gz 5074817 BLAKE2B 59b708ee2eeea486e3f4612efbe94e0592f920de3a194f7d89b4c92df88c65027373871a1503f9ce1027bc1695f19d86503de6da4789b7277780a08871f1c893 SHA512 d18e5768fa8942d3ad8039f2c8304797c488d892aae2d3bca64e2659d7bd432e9c8db14dae22eae86be9e6217b0ea567e2f40b4395c7123a7871f75afed82fc0
diff --git a/app-metrics/go-carbon/files/go-carbon.confd b/app-metrics/go-carbon/files/go-carbon.confd
new file mode 100644
index 000000000000..41e5838dd249
--- /dev/null
+++ b/app-metrics/go-carbon/files/go-carbon.confd
@@ -0,0 +1,8 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+#CONFIG_FILE=/etc/go-carbon/go-carbon.conf
+
+# user and group to run go-carbon as
+#USER=carbon
+#GROUP=carbon
diff --git a/app-metrics/go-carbon/files/go-carbon.initd b/app-metrics/go-carbon/files/go-carbon.initd
new file mode 100644
index 000000000000..b45a1a5a5d17
--- /dev/null
+++ b/app-metrics/go-carbon/files/go-carbon.initd
@@ -0,0 +1,44 @@
+#!/sbin/openrc-run
+# Copyright 1999-2023 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Graphite whisper metrics storage and retrieval server."
+
+carbonapi_config=${CONFIG_FILE:-/etc/go-carbon/${SVCNAME}.conf}
+
+command="/usr/bin/go-carbon"
+command_args="-config ${carbonapi_config}"
+pidfile="/run/go-carbon/${SVCNAME}.pid"
+user=${USER:-carbon}
+group=${GROUP:-carbon}
+
+depend() {
+ need net
+ use dns
+}
+
+start_pre() {
+ mkdir -p "${pidfile%/*}"
+ mkdir -p /var/log/go-carbon
+ chown ${user}:${group} "${pidfile%/*}" /var/log/go-carbon
+}
+
+stop_post() {
+ rm -f "${pidfile}"
+}
+
+start() {
+ ebegin "Starting ${SVCNAME}"
+ start-stop-daemon --start --pidfile "${pidfile}" \
+ --make-pidfile --background \
+ --user ${user} --group ${group} \
+ --exec ${command} -- \
+ ${command_args}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --stop --exec ${command} --pidfile "${pidfile}"
+ eend $?
+}
diff --git a/app-metrics/go-carbon/go-carbon-0.17.1.ebuild b/app-metrics/go-carbon/go-carbon-0.17.1.ebuild
new file mode 100644
index 000000000000..2402f67a999f
--- /dev/null
+++ b/app-metrics/go-carbon/go-carbon-0.17.1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit go-module
+
+DESCRIPTION="Golang implementation of Graphite/Carbon server"
+HOMEPAGE="https://github.com/go-graphite/go-carbon"
+SRC_URI="https://github.com/go-graphite/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ acct-group/carbon
+ acct-user/carbon"
+BDEPEND=""
+
+src_prepare() {
+ export BUILD="gentoo-${PVR}"
+
+ # bug 904050: -race conflicts with -buildmode=pie added by go-module
+ sed -i \
+ -e '/make run-test COMMAND="test -race"/d' \
+ -e '/make run-test COMMAND="vet"/d' \
+ Makefile || die
+
+ eapply_user
+}
+
+src_install() {
+ insinto /etc/go-carbon
+ doins "${S}"/go-carbon.conf.example
+ dobin go-carbon
+
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+}
diff --git a/app-metrics/go-carbon/metadata.xml b/app-metrics/go-carbon/metadata.xml
new file mode 100644
index 000000000000..2a184bd0de98
--- /dev/null
+++ b/app-metrics/go-carbon/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>grobian@gentoo.org</email>
+ <name>Fabian Groffen</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">go-graphite/go-carbon</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-metrics/mongodb_exporter/Manifest b/app-metrics/mongodb_exporter/Manifest
index c55b14a989d4..81cf71b6f0e8 100644
--- a/app-metrics/mongodb_exporter/Manifest
+++ b/app-metrics/mongodb_exporter/Manifest
@@ -1 +1,3 @@
DIST mongodb_exporter-0.11.1.tar.gz 2640277 BLAKE2B 8ae0418466462d4dfebe97d48b47d0a163435f1776bceb6d35ab50d98cefa0bf737f57fc74aadebf16c285e2dd63fe2e4719571db7c5a9f942e740dab7509d91 SHA512 81a9c5877bba6e85fcdcc9e3781bbec82b255710e8292ea377ea9c9234526b7ad521350f8bd36ae7773f76f40b650cd724d552020e17feb61210ed6197be5172
+DIST mongodb_exporter-0.39.0-deps.tar.xz 100818596 BLAKE2B 65be5f2ac1d24838f88b3c1338d5d5bba3a02f76c8edf46605104f834950961d635e736b7ab7afcaed66834853a7ff7465b36d34afa863d1caeb32c428c24ef2 SHA512 32c04138a92d63a22daada9fbe3fb3433cbc5192dbd22854275e298b7c3e37310116249e7ba86c78055a97c5c0a903a5d15cb2ae2c01cf2cc752f050daebb920
+DIST mongodb_exporter-0.39.0.tar.gz 166721 BLAKE2B 39d2dfab342119fd14fb0f90097062770e86502c8ffffb73789e356e32248efacc30c1c0cf1c0216be25fbb021e82f80435f902f1f0beba698844e14ada206e0 SHA512 103f1d8e42ddd04f8be7def199b16ad017bce79139b16bde50c1a0f6cc24c025ec26b644d9db0134ca37233d3e87b3921177445c1d863a040d817fcd4c851e75
diff --git a/app-metrics/mongodb_exporter/mongodb_exporter-0.39.0.ebuild b/app-metrics/mongodb_exporter/mongodb_exporter-0.39.0.ebuild
new file mode 100644
index 000000000000..b6e21b89f0ab
--- /dev/null
+++ b/app-metrics/mongodb_exporter/mongodb_exporter-0.39.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit go-module
+
+# update these on every bump
+BRANCH='tags/v0.39.0^0'
+COMMIT=430098a28613273e386563a84c57b9e84dc1a298
+
+DESCRIPTION="Prometheus exporter for MongoDB"
+HOMEPAGE="https://github.com/percona/mongodb_exporter"
+SRC_URI="https://github.com/percona/mongodb_exporter/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz"
+
+LICENSE="Apache-2.0 AGPL-3 BSD MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+COMMON_DEPEND="acct-group/mongodb_exporter
+ acct-user/mongodb_exporter"
+ DEPEND="${COMMON_DEPEND}"
+ RDEPEND="${COMMON_DEPEND}"
+
+ # tests require docker compose
+ RESTRICT="test"
+
+src_compile() {
+ emake \
+ COMPONENT_BRANCH=${BRANCH} \
+ COMPONENT_VERSION=${PV} \
+ PMM_RELEASE_FULLCOMMIT=${COMMIT} \
+ build
+}
+
+src_install() {
+ dobin ${PN}
+ dodoc CHANGELOG {CONTRIBUTING,README,REFERENCE}.md
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ keepdir /var/log/mongodb_exporter
+ fowners ${PN}:${PN} /var/log/mongodb_exporter
+}
diff --git a/app-metrics/nftables-exporter/Manifest b/app-metrics/nftables-exporter/Manifest
new file mode 100644
index 000000000000..3b35b188deb9
--- /dev/null
+++ b/app-metrics/nftables-exporter/Manifest
@@ -0,0 +1,2 @@
+DIST nftables-exporter-0.2.7-deps.tar.xz 6611016 BLAKE2B c6d5593bcf29f846044fd11602eb38f7296f46394cb61c04c7877b0d100d4f33f5bbccbcb374d267fa87da600c2afe00b1c0f6acb494d078c2cb8f2fe73baa6d SHA512 0039135b52e0f77316a68f482094620531be1a7ef1cbd713905f140fea09627fde4544b0c25ed964950682be905a758f22384e0159bbcf8ee2a9f57c3a7f5f43
+DIST nftables-exporter-0.2.7.tar.gz 22061 BLAKE2B 142c834a77b563d6c57b72a5ec45c88e0542121d334c0b02a6acc18fea7902efad8080e0b3b01a2a519a4cd376938da58fc4b7b3fc2260300a5bc64469c993ee SHA512 69192df420b294b4c3b345999505111f149c00a5d68773b6f958d16b39505c937377075fe4e299688b97f5c12f0bbdac59bdb9bd0447b62f6d76c0bc55caa318
diff --git a/app-metrics/nftables-exporter/files/nftables-exporter.initd b/app-metrics/nftables-exporter/files/nftables-exporter.initd
new file mode 100644
index 000000000000..9d16ccc199ab
--- /dev/null
+++ b/app-metrics/nftables-exporter/files/nftables-exporter.initd
@@ -0,0 +1,15 @@
+#!/sbin/openrc-run
+# Copyright 2023 Gentoo authors
+# Distributed under the terms of the GNU General Public License v2
+
+description="Prometheus nftables metrics exporter"
+
+command="/usr/bin/nftables-exporter"
+command_background="true"
+error_log="/var/log/nftables-exporter/nftables-exporter.log"
+output_log="/var/log/nftables-exporter/nftables-exporter.log"
+pidfile=${pidfile:-"/run/nftables_exporter.pid"}
+
+depend() {
+ after net
+}
diff --git a/app-metrics/nftables-exporter/metadata.xml b/app-metrics/nftables-exporter/metadata.xml
new file mode 100644
index 000000000000..012a8ab6c6f8
--- /dev/null
+++ b/app-metrics/nftables-exporter/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>williamh@gentoo.org</email>
+ <name>William Hubbs</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">metal-stack/nftables-exporter</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-metrics/nftables-exporter/nftables-exporter-0.2.7.ebuild b/app-metrics/nftables-exporter/nftables-exporter-0.2.7.ebuild
new file mode 100644
index 000000000000..2714026e1004
--- /dev/null
+++ b/app-metrics/nftables-exporter/nftables-exporter-0.2.7.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit go-module systemd
+
+# make sure these are updated based on the Makefile in every bump.
+GITVERSION=tags/v0.2.7-0-ga173315
+SHA=a1733152
+
+DESCRIPTION="prometheus exporter for nftables metrics"
+HOMEPAGE="https://github.com/metal-stack/nftables-exporter"
+SRC_URI="https://github.com/metal-stack/nftables-exporter/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="net-firewall/nftables"
+BDEPEND=">=dev-lang/go-1.21"
+
+src_prepare() {
+ default
+ sed -i -e '/strip bin\//d' Makefile
+}
+
+src_compile() {
+ emake \
+ GONAME=${PN} \
+ GITVERSION=${GITVERSION} \
+ SHA=${SHA} \
+ VERSION=v${PV} \
+ all
+}
+
+src_install() {
+dobin bin/${PN}
+insinto etc
+doins nftables_exporter.yaml
+systemd_dounit systemd/nftables-exporter.service
+newinitd "${FILESDIR}"/${PN}.initd ${PN}
+keepdir /var/log/${PN}
+}
diff --git a/app-metrics/node_exporter/Manifest b/app-metrics/node_exporter/Manifest
index b5b086e2a012..50ef50db5892 100644
--- a/app-metrics/node_exporter/Manifest
+++ b/app-metrics/node_exporter/Manifest
@@ -2,3 +2,5 @@ DIST node_exporter-1.3.1-deps.tar.xz 110247608 BLAKE2B 0c3cbea40927a2f780aea4113
DIST node_exporter-1.3.1.tar.gz 299038 BLAKE2B 8c4b562fab36632f6a4bcfc0c7bc65484bd9d44b16691a3d531c3e163ab17bf0fe81712d5ea3115460144be246599fc3430a80dd2244981333f0e1e5b2384c80 SHA512 cd73ca3551b0b52307d8b76aff29bf497609a1729203da9898270d1441d3358e8d9ba907bb8a75b5934ed64a8cf6b360385b1b2d0a3de55e0e149e0f819e0a1f
DIST node_exporter-1.4.0-deps.tar.xz 24623388 BLAKE2B 76ea5392f3f4ee2d76706d77625a0b1708f0a09d11dde1fc7511f62625cf7d2e26117eb8ed77c495d4e1d7aa98c62dfbaffc7310c415d831a670360705789975 SHA512 9e64c1d51bd47cb6a8caa5fd6f22846c266ebb86c79e5f8ab363e847c614fca4044e7c388691870e61a8f017f08c2b5bcada56c8390bdf9877e71ccdbd646ad9
DIST node_exporter-1.4.0.tar.gz 325743 BLAKE2B df6af555035c70930a610790e8d5eee87ca12cd27308ed95edf875da8615b61dde805d960d6262587322abecb721695bd42b1c078a7bcc40b24053cfce86015d SHA512 ebb4f9662ba995130b96e108050571119da368a8195e50896a19aab04d7cb40d60f9ae81052a0de08f571886cfb4150bf006a7b67a3d3683f2d04b5f43d61e7a
+DIST node_exporter-1.5.0-deps.tar.xz 25558844 BLAKE2B fd862394c4e9456af395af4a1a8fb5c9504b96fcfa5170027903edadcf29935ffa389a945a8306e59e8d373b238481090e61dca4d9b037d890e8df05a5c8ede7 SHA512 5141beabd6f6af57014d2095271ea7c9a7e6087d9939cf6fc4a89908df0a5b87267f469987d47b20a48411d5a01a1317c53bfad8138dcfa6aa80c0a9f3822aa7
+DIST node_exporter-1.5.0.tar.gz 329004 BLAKE2B 650e176ce15be980f9a3534f3246b577390d6d557b0ac7aa5341f3c91390bed829c4c3c3f60a4c108c814945134dc83639e12a13f416471e9c791ec88ed8a7bd SHA512 5b6d1da70a3458a1de270bcaf6ab177bd41c8b7031e67a4691b0b79931d15f0e22dbe1533f1ff0474496fcf4433bbd4b3473b8c0063f8891456960d7b6f56e15
diff --git a/app-metrics/node_exporter/node_exporter-1.5.0.ebuild b/app-metrics/node_exporter/node_exporter-1.5.0.ebuild
new file mode 100644
index 000000000000..9070a0c9c072
--- /dev/null
+++ b/app-metrics/node_exporter/node_exporter-1.5.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit go-module systemd
+MY_PV="v${PV/_rc/-rc.}"
+NODE_EXPORTER_COMMIT=1b48970ffcf5630534fb00bb0687d73c66d1c959
+
+DESCRIPTION="Prometheus exporter for machine metrics"
+HOMEPAGE="https://github.com/prometheus/node_exporter"
+SRC_URI="https://github.com/prometheus/node_exporter/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz"
+
+LICENSE="Apache-2.0 BSD BSD-2 MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~loong ~riscv ~x86"
+IUSE="selinux"
+
+COMMON_DEPEND="acct-group/node_exporter
+ acct-user/node_exporter"
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}
+ selinux? ( sec-policy/selinux-node_exporter )"
+BDEPEND=">=dev-util/promu-0.3.0"
+
+S="${WORKDIR}/${PN}-${PV/_rc/-rc.}"
+
+src_prepare() {
+ default
+ sed -i -e "s/{{.Revision}}/${NODE_EXPORTER_COMMIT}/" .promu.yml || die
+ sed -i -e "s/{{.Revision}}/${NODE_EXPORTER_COMMIT}/" .promu-cgo.yml || die
+}
+
+src_compile() {
+ mkdir -p bin || die
+ promu build -v --prefix node_exporter || die
+}
+
+src_test() {
+ emake test-flags= test
+}
+
+src_install() {
+ dosbin node_exporter/node_exporter
+ dodoc {README,CHANGELOG,CONTRIBUTING}.md
+ systemd_newunit "${FILESDIR}"/node_exporter.service-1 node_exporter.service
+ newinitd "${FILESDIR}"/${PN}.initd-1 ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ keepdir /var/lib/node_exporter /var/log/node_exporter
+ fowners ${PN}:${PN} /var/lib/node_exporter /var/log/node_exporter
+}
diff --git a/app-metrics/portage-exporter/Manifest b/app-metrics/portage-exporter/Manifest
index b7ad12a11f0b..450f3f704399 100644
--- a/app-metrics/portage-exporter/Manifest
+++ b/app-metrics/portage-exporter/Manifest
@@ -1,3 +1,4 @@
DIST portage-exporter-0.0.1.tar.gz 1797981 BLAKE2B dcea6218de202c72b894dc6d8b31311879ce5b2284a078e77148dc9b62320a0118ff22040dc89807f8f7526618afc982cd555925dea97dbb9a0dcd7a41d98930 SHA512 f61ae7be333e79a4ca3dd483628d588c07f2fd7d1b0c77069969431d05217c7654cbfc4676e1ffa60e0cdcae3e0e59fad238a02edbd7f32a61ad2f7e3a5c440b
+DIST portage-exporter-0.1.0.tar.gz 14931 BLAKE2B bfafe9ac71b3ca756ac621d424cf80f988c3564c3a7d28b1d87781674cca00b7e3ed0c045d3d82bf19e6ce2021135dd85001aef3fe33360760da00dc17573666 SHA512 16efcb1ae6417f0db48247468f369db76bafeace136e296724fbb517d38b0ec5cbaf7b1949b7c5fb87337eeb374535f53a4a432f8aa5b10a3bb5b418fead2a94
DIST portage-exporter-0_p20230307.tar.gz 32044 BLAKE2B 23e590aba88bf071568e9643b22ec51d6fcaff11b5eb5ea1e66d39cf49468238cbb80a44a865ba7bbccb631540e33ab5a417201ec995227e84d122601c868fad SHA512 1e3bd18cf44ad849b0ee0a2dc737f6d334ce9dd29d03f53a05298df2013be8c77a7ed66c3171cc6c765ad21ab7705fd747856d95ef3259cc83fac85544e81781
DIST portage-exporter-ae39c6be10364896683ab1af0512ee8453bc153e-vendor.tar.xz 784800 BLAKE2B 600f207b15e54ab0f4c27691ce41efcdd3706bfc82c9170da3ebf2eb6283b5595bca08d7eebd3c7b5a6b2c7bcef704e70946e3fab63a537cf03ffa7dbe4a57a0 SHA512 e6e91296e8220d9fb34e0837714108d8806801d6799e49dc27b7dcaf8ddf39a92bff232ec3d616019ef5ae5c437bc81eee719ca658c299a35e8f1b165e38d3eb
diff --git a/app-metrics/portage-exporter/files/portage-exporter.service b/app-metrics/portage-exporter/files/portage-exporter.service
new file mode 100644
index 000000000000..bec84b4c0413
--- /dev/null
+++ b/app-metrics/portage-exporter/files/portage-exporter.service
@@ -0,0 +1,18 @@
+[Unit]
+Description=Gentoo Portage Exporter
+Wants=network-online.target
+After=network-online.target
+
+[Service]
+User=portage-exporter
+DynamicUser=yes
+Type=simple
+PassEnvironment=SERVE_ADDRESS SERVE_PATH VDB_UPDATE_INTERVAL
+ExecStart=/usr/bin/portage-exporter
+
+# Environment=SERVE_ADDRESS=:2112
+# Environment=SERVE_PATH=/metrics
+# Environment=VDB_UPDATE_INTERVAL=1800
+
+[Install]
+WantedBy=multi-user.target
diff --git a/app-metrics/portage-exporter/portage-exporter-0.1.0.ebuild b/app-metrics/portage-exporter/portage-exporter-0.1.0.ebuild
new file mode 100644
index 000000000000..a9b7cbd38c65
--- /dev/null
+++ b/app-metrics/portage-exporter/portage-exporter-0.1.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake systemd
+
+DESCRIPTION="Prometheus exporter for Gentoo Portage"
+HOMEPAGE="https://github.com/projg2/portage-exporter"
+SRC_URI="https://github.com/projg2/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="dev-cpp/prometheus-cpp"
+
+src_install() {
+ cmake_src_install
+
+ systemd_newunit "${FILESDIR}"/${PN}.service ${PN}.service
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+}
diff --git a/app-metrics/prometheus/prometheus-2.43.0-r2.ebuild b/app-metrics/prometheus/prometheus-2.43.0-r2.ebuild
index ff0cb6c8462d..3bf0318347f6 100644
--- a/app-metrics/prometheus/prometheus-2.43.0-r2.ebuild
+++ b/app-metrics/prometheus/prometheus-2.43.0-r2.ebuild
@@ -19,7 +19,7 @@ SRC_URI="https://github.com/prometheus/prometheus/archive/${MY_PV}.tar.gz -> ${P
LICENSE="Apache-2.0 BSD BSD-2 ISC MIT MPL-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~riscv"
+KEYWORDS="amd64 ~arm ~riscv"
COMMON_DEPEND="acct-group/prometheus
acct-user/prometheus"
diff --git a/app-metrics/snmp_exporter/Manifest b/app-metrics/snmp_exporter/Manifest
index 42fa1901eeb4..09ea205633ab 100644
--- a/app-metrics/snmp_exporter/Manifest
+++ b/app-metrics/snmp_exporter/Manifest
@@ -1,4 +1,2 @@
-DIST snmp_exporter-0.20.0-deps.tar.xz 167938880 BLAKE2B 26db1effd4c74c1d8ad063e390e3ebc2f652bc901b679a70dfa2fda479ead9622eb3bf729f24a3a0088d9b154be108e472218a84109ef23d8413e0db2f8afc9e SHA512 f2b2e72967bd7255abf5f808d1dbb5691755d232b32e0c833ebc9b74a469b5c2b704afb7f32c1c591653a4ad6162efc5ec13345e9f5e2d08c7f01d24bdddf3a1
-DIST snmp_exporter-0.20.0.tar.gz 290899 BLAKE2B 81c2c6e8b1f61fe322cf040910744857f0628b61172774069675f5702d7e8dcc443a5567d5fe9d3e26139fee87c3cae8ed5fb7ce21c13b8a0f0cab1cd76384aa SHA512 fe09033e713f12b5a6ad79445def55c8d94c75cbee5e4e7c4683e853c1a8335005462d607e0c7306d2ee6e70178edeb9b6cff0c35aa6d36a4d0fa5ce45cedb51
DIST snmp_exporter-0.21.0-deps.tar.xz 173870408 BLAKE2B 8bd9699a1ecefcfb90784892e1329919baa06349cde89106a4fa4f7543672aa4de907781183baf714aceb6b1dba5c748130e1b98577830011fed40833bedda20 SHA512 d267e596b2a5c11844aaae66d75bc40c7bcc0263bc04ad2359d29450f44c7a4be263bc453a35a75250424144b4afb4ae15afe9988f95c922d20ec975827fc88e
DIST snmp_exporter-0.21.0.tar.gz 322098 BLAKE2B 5e28186dc5da1c38be0bc2a8801c56a2a32c835886b7a4d3a8a7add91960679d250bc91e5b75fdb92fb6237d53ca2b5114aa2d6b869c1db9cc371aad6841b153 SHA512 5ebb629ebc48f38035c031f2ebd7109ee681499556771792a3cddc671561b119d144a5fd9f4e51ceaccb58dc50e3852d185ee0c7f1ac57d6307d4936dc1a45b4
diff --git a/app-metrics/snmp_exporter/snmp_exporter-0.20.0-r1.ebuild b/app-metrics/snmp_exporter/snmp_exporter-0.20.0-r1.ebuild
deleted file mode 100644
index 72aee2efbde4..000000000000
--- a/app-metrics/snmp_exporter/snmp_exporter-0.20.0-r1.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-SNMP_EXPORTER_COMMIT=c33572b6
-inherit go-module
-
-DESCRIPTION="Prometheus exporter for snmp metrics"
-HOMEPAGE="https://github.com/prometheus/snmp_exporter"
-SRC_URI="https://github.com/prometheus/${PN}/archive/v${PV/_rc/-rc.}.tar.gz -> ${P}.tar.gz"
-SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz"
-
-LICENSE="Apache-2.0 BSD BSD-2 MIT"
-SLOT="0"
-KEYWORDS="amd64"
-
-COMMON_DEPEND="acct-group/snmp_exporter
- acct-user/snmp_exporter
- net-analyzer/net-snmp"
- DEPEND="${COMMON_DEPEND}"
-RDEPEND="${COMMON_DEPEND}"
-BDEPEND="dev-util/promu"
-
-src_prepare() {
- default
- sed -i -e "s/{{.Revision}}/${SNMP_EXPORTER_COMMIT}/" .promu.yml || die
-}
-
-src_compile() {
- promu build --prefix bin || die
- pushd generator || die
- ego build -o ../bin/generator
- popd || die
-}
-
-src_install() {
- dobin bin/generator
- newbin bin/${PN}-${PV} ${PN}
- dodoc {README,CONTRIBUTING}.md generator/{FORMAT,README}.md generator/generator.yml
- insinto /etc/snmp_exporter
- newins snmp.yml snmp.yml.example
- newinitd "${FILESDIR}"/${PN}.initd ${PN}
- newconfd "${FILESDIR}"/${PN}.confd ${PN}
- insinto /etc/logrotate.d
- newins "${FILESDIR}/${PN}.logrotated" "${PN}"
- keepdir /var/lib/snmp_exporter /var/log/snmp_exporter
- fowners ${PN}:${PN} /var/lib/snmp_exporter /var/log/snmp_exporter
-}
diff --git a/app-metrics/snmp_exporter/snmp_exporter-0.21.0.ebuild b/app-metrics/snmp_exporter/snmp_exporter-0.21.0.ebuild
index 57b3032a1a5d..a0c85cbd329e 100644
--- a/app-metrics/snmp_exporter/snmp_exporter-0.21.0.ebuild
+++ b/app-metrics/snmp_exporter/snmp_exporter-0.21.0.ebuild
@@ -12,7 +12,7 @@ SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz"
LICENSE="Apache-2.0 BSD BSD-2 MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
COMMON_DEPEND="acct-group/snmp_exporter
acct-user/snmp_exporter