From f1e6490ffadd8d677960342b348f2b08492dd5f6 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 24 Jan 2025 06:47:17 +0000 Subject: gentoo auto-resync : 24:01:2025 - 06:47:17 --- app-metrics/Manifest.gz | Bin 7293 -> 7292 bytes app-metrics/collectd/Manifest | 2 +- app-metrics/collectd/collectd-5.12.0-r10.ebuild | 562 --------------------- app-metrics/collectd/collectd-5.12.0-r11.ebuild | 562 +++++++++++++++++++++ app-metrics/process-exporter/Manifest | 3 + .../process-exporter/process-exporter-0.8.5.ebuild | 34 ++ app-metrics/snmp_exporter/Manifest | 3 + .../snmp_exporter/snmp_exporter-0.27.0.ebuild | 54 ++ 8 files changed, 657 insertions(+), 563 deletions(-) delete mode 100644 app-metrics/collectd/collectd-5.12.0-r10.ebuild create mode 100644 app-metrics/collectd/collectd-5.12.0-r11.ebuild create mode 100644 app-metrics/process-exporter/process-exporter-0.8.5.ebuild create mode 100644 app-metrics/snmp_exporter/snmp_exporter-0.27.0.ebuild (limited to 'app-metrics') diff --git a/app-metrics/Manifest.gz b/app-metrics/Manifest.gz index 1a344d01f767..a07f6a65c2fd 100644 Binary files a/app-metrics/Manifest.gz and b/app-metrics/Manifest.gz differ diff --git a/app-metrics/collectd/Manifest b/app-metrics/collectd/Manifest index d48c15025a96..d76281f12c19 100644 --- a/app-metrics/collectd/Manifest +++ b/app-metrics/collectd/Manifest @@ -7,5 +7,5 @@ AUX collectd.initd-r3 1877 BLAKE2B 8e81c314abdd366a7583dd18bdad10c9d7da14589c030 AUX collectd.logrotate 115 BLAKE2B ce2a79787096b04af6ecd128633dde68fb868a02cc1d246c3e512c1733133fcc8da41b3ab2a0051b4da78c53e6629b2ad8085872dec1d4c28e397c88cafe3a90 SHA512 87ec01784d415f00834c2b20614f11f7e08b70f88d7c87509a8b8fd7e1af8758565b9ed6a6840af7bf1006cb941a61a6ff4f3176f6ded722728f24483b08bc8e AUX collectd.tmpfile 39 BLAKE2B 0d1ee2f02e539e854b62b47032308d08505fa31d8428e98f8d150c924201074c5edae22eea3990edf3a7837f1473193fe009a501645bf064638c532ec53a36cc SHA512 55fb70da9ece74b143c3e971b890954842230691039f8ad2240cc4c8d699e4e7a21efcbfd0b3cb2503e90af0bbdd0c7d886e09baf9fc86ec26c115a0bce6a668 DIST collectd-5.12.0.tar.bz2 1902756 BLAKE2B 9567c55b47c0ea5b7836c0d858c16a637c4a2054486a9d9ca6cd9951a92381bdf4f49d7dc0be0c9c9131802120d0af2e542a3997f01484c89ba135b3c46db795 SHA512 7a15e4c0ae587db4987d673a790a4f3bea1cab29ce24a506fb21fa7bd2f60bfec70867eaa1c1395cb5b0e0ae81a024fb6109b064da0ef50e7c146d2198871c70 -EBUILD collectd-5.12.0-r10.ebuild 20172 BLAKE2B 2adba6222ebda4a6cc694d34a0e72116f6caf991490501702afe24c27c310ddbac73ebbbcf7bfad008b244eda4658f6a55cef07f1034a1f76568c56cdd485df5 SHA512 e5851f7767a82ff67ea1cf1d61722c3c2c9b4ee50b0df7aae55676648a2675562f57c0e0ec5740472654c97c64f52aa1f0cd20533c65b41881dd539910deae02 +EBUILD collectd-5.12.0-r11.ebuild 20178 BLAKE2B 7a44e279047b10b611a480dec3ab9f9701149e1a0c333fc2b37ad87810797ba399ff14775cd63d79f05f0615ab6a65b29d1f46f9764ecb7fd76bb3b72417d74c SHA512 61effd63e98f2da537faf4570c6f28174111470d8c945537536679ec2b12bcca1f2249ebff8048a347928ee4eab5b2026dcb4cabb931ecba1e685378c0989352 MISC metadata.xml 1515 BLAKE2B 318f796bfacb0e1facbd60f80fc9176e24f06661fc4dce4acda3a218aab10766231566a9ae58f9985770513fb53a52e9ea5e985aba0bcff62c042c75fb662c70 SHA512 4c886d89143d2862a3d915e5b0ef14382c76d758a306fa9971a762fdae400086175c470045e85775f028947156a4bb40a09bd9810c56dda08662e835cba3b45c diff --git a/app-metrics/collectd/collectd-5.12.0-r10.ebuild b/app-metrics/collectd/collectd-5.12.0-r10.ebuild deleted file mode 100644 index 301e390ecd45..000000000000 --- a/app-metrics/collectd/collectd-5.12.0-r10.ebuild +++ /dev/null @@ -1,562 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -JAVA_PKG_OPT_USE="collectd_plugins_java" -LUA_COMPAT=( lua5-{1..4} ) -PYTHON_COMPAT=( python3_{10..12} ) - -inherit autotools fcaps java-pkg-opt-2 linux-info lua-single perl-functions python-single-r1 systemd tmpfiles udev - -DESCRIPTION="Collects system statistics and provides mechanisms to store the values" - -HOMEPAGE="https://collectd.org/" -SRC_URI="https://github.com/${PN}/${PN}/releases/download/${P}/${P}.tar.bz2" - -LICENSE="MIT GPL-2 GPL-2+ GPL-3 GPL-3+" -SLOT="0" -KEYWORDS="~alpha amd64 arm ~arm64 x86" -IUSE="contrib debug java 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 -# amqp1: Requires libqpid-proton -# aquaero: Requires aerotools-ng/libaquaero5 -# barometer: Requires libi2c (i2c_smbus_read_i2c_block_data) -# dpdkevents: Requires dpdk -# dpdkstat: Requires dpdk -# dpdk_telemetry: 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) -# onewire: Requires sys-fs/owfs which was removed from repository -# pf: Requires BSD packet filter -# pinba: Requires MySQL Pinba engine (http://pinba.org/) -# redfish: Requires libredfish -# tape: Requires libkstat (Solaris only) -# tokyotyrant: Requires tokyotyrant -# write_riemann: Requires riemann-c-client -# xmms: Requires libxmms (v1) -# zone: Solaris only... -COLLECTD_IMPOSSIBLE_PLUGINS="apple_sensors amqp1 aquaero barometer - dpdkevents dpdkstat dpdk_telemetry grpc intel_pmu intel_rdt lpar - mic netapp onewire pf pinba redfish tape tokyotyrant 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 - 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 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 - 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 pcie_errors perl ping postgresql - powerdns procevent processes protocols python redis routeros - rrdcached rrdtool sensors serial sigrok smart snmp snmp_agent - statsd swap synproxy sysevent syslog table tail tail_csv - target_notification target_replace target_scale target_set tcpconns - teamspeak2 ted thermal threshold turbostat ubi unixsock uptime users - uuid varnish virt vmem vserver wireless write_graphite write_http - write_influxdb_udp write_kafka write_log write_mongodb write_prometheus - write_redis write_sensu write_stackdriver write_syslog 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=" - acct-group/collectd - acct-user/collectd - dev-libs/libgcrypt:= - dev-libs/libltdl:0= - sys-libs/libcap - perl? ( || ( >=dev-lang/perl-5.38.2-r3[perl_features_ithreads] =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? ( ${LUA_DEPS} ) - collectd_plugins_memcachec? ( dev-libs/libmemcached ) - collectd_plugins_modbus? ( dev-libs/libmodbus ) - collectd_plugins_mqtt? ( app-misc/mosquitto ) - collectd_plugins_mysql? ( dev-db/mysql-connector-c:= ) - 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_oracle? ( dev-db/oracle-instantclient[sdk] ) - collectd_plugins_ovs_events? ( dev-libs/yajl:= ) - collectd_plugins_ovs_stats? ( dev-libs/yajl:= ) - collectd_plugins_perl? ( || ( >=dev-lang/perl-5.38.2-r3[perl_features_ithreads] =sci-libs/libsigrok-0.4:= dev-libs/glib:2 ) - collectd_plugins_smart? ( dev-libs/libatasmart:0= ) - collectd_plugins_snmp? ( net-analyzer/net-snmp:= ) - collectd_plugins_snmp_agent? ( net-analyzer/net-snmp:= ) - collectd_plugins_sysevent? ( dev-libs/yajl:= ) - 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_write_stackdriver? ( net-misc/curl:0= dev-libs/yajl:= ) - collectd_plugins_xencpu? ( app-emulation/xen-tools:= ) -" - -# FIXME: should virtual/jdk be here as well? -BDEPEND="virtual/pkgconfig" - -# 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.8 )" - -RDEPEND="${COMMON_DEPEND} - collectd_plugins_java? ( >=virtual/jre-1.8 ) - collectd_plugins_syslog? ( virtual/logger ) - selinux? ( sec-policy/selinux-collectd )" - -REQUIRED_USE=" - collectd_plugins_lua? ( ${LUA_REQUIRED_USE} ) - collectd_plugins_python? ( ${PYTHON_REQUIRED_USE} ) - collectd_plugins_smart? ( udev ) - contrib? ( perl )" - -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 - "${FILESDIR}"/${PN}-5.12.0-nut-c99.patch -) - -# @FUNCTION: collectd_plugin_kernel_linux -# @DESCRIPTION: -# USAGE: -# 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_lua && lua-single_pkg_setup - use collectd_plugins_python && python-single-r1_pkg_setup -} - -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_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 - if [[ "${plugin}" == 'dpdkstat' ]]; then - myconf+=" --without-libdpdk" - else - myconf+=" --disable-${plugin}" - fi - 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})" - 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 collectd_plugins_gpu_nvidia; then - myconf+=" --with-cuda=${EPREFIX}/opt/cuda" - else - myconf+=" --with-cuda=no" - fi - - 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 - - if use collectd_plugins_disk && use udev; then - udev_newrules contrib/99-storage-collectd.rules 60-persistent-storage-collectd.rules - fi - - fowners root:collectd /etc/collectd.conf - fperms u=rw,g=r,o= /etc/collectd.conf - - einstalldocs - - if use contrib; then - insinto /usr/share/${PN} - doins -r contrib - fi - - keepdir /var/lib/${PN} - fowners collectd:collectd /var/lib/${PN} - - newinitd "${FILESDIR}/${PN}.initd-r3" ${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 \ - -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# \n# Globals true\n# :' \ - -i "${ED}"/etc/collectd.conf || die - sed \ - -e 's:^.*LoadPlugin python$:# The new, correct way to load the python plugin -- \n# \n# Globals true\n# :' \ - -i "${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/CGI, dev-perl/Config-General and net-analyzer/rrdtool[perl] to be installed." - fi -} diff --git a/app-metrics/collectd/collectd-5.12.0-r11.ebuild b/app-metrics/collectd/collectd-5.12.0-r11.ebuild new file mode 100644 index 000000000000..d487dd5f4ce4 --- /dev/null +++ b/app-metrics/collectd/collectd-5.12.0-r11.ebuild @@ -0,0 +1,562 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +JAVA_PKG_OPT_USE="collectd_plugins_java" +LUA_COMPAT=( lua5-{1..4} ) +PYTHON_COMPAT=( python3_{10..12} ) + +inherit autotools fcaps java-pkg-opt-2 linux-info lua-single perl-functions python-single-r1 systemd tmpfiles udev + +DESCRIPTION="Collects system statistics and provides mechanisms to store the values" + +HOMEPAGE="https://www.collectd.org/" +SRC_URI="https://github.com/${PN}/${PN}/releases/download/${P}/${P}.tar.bz2" + +LICENSE="MIT GPL-2 GPL-2+ GPL-3 GPL-3+" +SLOT="0" +KEYWORDS="~alpha amd64 arm ~arm64 x86" +IUSE="contrib debug java 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 +# amqp1: Requires libqpid-proton +# aquaero: Requires aerotools-ng/libaquaero5 +# barometer: Requires libi2c (i2c_smbus_read_i2c_block_data) +# dpdkevents: Requires dpdk +# dpdkstat: Requires dpdk +# dpdk_telemetry: 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) +# onewire: Requires sys-fs/owfs which was removed from repository +# pf: Requires BSD packet filter +# pinba: Requires MySQL Pinba engine (http://pinba.org/) +# redfish: Requires libredfish +# tape: Requires libkstat (Solaris only) +# tokyotyrant: Requires tokyotyrant +# write_riemann: Requires riemann-c-client +# xmms: Requires libxmms (v1) +# zone: Solaris only... +COLLECTD_IMPOSSIBLE_PLUGINS="apple_sensors amqp1 aquaero barometer + dpdkevents dpdkstat dpdk_telemetry grpc intel_pmu intel_rdt lpar + mic netapp onewire pf pinba redfish tape tokyotyrant 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 + 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 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 + 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 pcie_errors perl ping postgresql + powerdns procevent processes protocols python redis routeros + rrdcached rrdtool sensors serial sigrok smart snmp snmp_agent + statsd swap synproxy sysevent syslog table tail tail_csv + target_notification target_replace target_scale target_set tcpconns + teamspeak2 ted thermal threshold turbostat ubi unixsock uptime users + uuid varnish virt vmem vserver wireless write_graphite write_http + write_influxdb_udp write_kafka write_log write_mongodb write_prometheus + write_redis write_sensu write_stackdriver write_syslog 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=" + acct-group/collectd + acct-user/collectd + dev-libs/libgcrypt:= + dev-libs/libltdl:0= + sys-libs/libcap + perl? ( || ( >=dev-lang/perl-5.38.2-r3[perl_features_ithreads] =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? ( ${LUA_DEPS} ) + collectd_plugins_memcachec? ( dev-libs/libmemcached ) + collectd_plugins_modbus? ( dev-libs/libmodbus ) + collectd_plugins_mqtt? ( app-misc/mosquitto ) + collectd_plugins_mysql? ( dev-db/mysql-connector-c:= ) + 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_oracle? ( dev-db/oracle-instantclient[sdk] ) + collectd_plugins_ovs_events? ( dev-libs/yajl:= ) + collectd_plugins_ovs_stats? ( dev-libs/yajl:= ) + collectd_plugins_perl? ( || ( >=dev-lang/perl-5.38.2-r3[perl_features_ithreads] =sci-libs/libsigrok-0.4:= dev-libs/glib:2 ) + collectd_plugins_smart? ( dev-libs/libatasmart:0= ) + collectd_plugins_snmp? ( net-analyzer/net-snmp:= ) + collectd_plugins_snmp_agent? ( net-analyzer/net-snmp:= ) + collectd_plugins_sysevent? ( dev-libs/yajl:= ) + 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_write_stackdriver? ( net-misc/curl:0= dev-libs/yajl:= ) + collectd_plugins_xencpu? ( app-emulation/xen-tools:= ) +" + +# FIXME: should virtual/jdk be here as well? +BDEPEND="virtual/pkgconfig" + +# 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.8:* )" + +RDEPEND="${COMMON_DEPEND} + collectd_plugins_java? ( >=virtual/jre-1.8:* ) + collectd_plugins_syslog? ( virtual/logger ) + selinux? ( sec-policy/selinux-collectd )" + +REQUIRED_USE=" + collectd_plugins_lua? ( ${LUA_REQUIRED_USE} ) + collectd_plugins_python? ( ${PYTHON_REQUIRED_USE} ) + collectd_plugins_smart? ( udev ) + contrib? ( perl )" + +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 + "${FILESDIR}"/${PN}-5.12.0-nut-c99.patch +) + +# @FUNCTION: collectd_plugin_kernel_linux +# @DESCRIPTION: +# USAGE: +# 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_lua && lua-single_pkg_setup + use collectd_plugins_python && python-single-r1_pkg_setup +} + +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_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 + if [[ "${plugin}" == 'dpdkstat' ]]; then + myconf+=" --without-libdpdk" + else + myconf+=" --disable-${plugin}" + fi + 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})" + 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 collectd_plugins_gpu_nvidia; then + myconf+=" --with-cuda=${EPREFIX}/opt/cuda" + else + myconf+=" --with-cuda=no" + fi + + 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 + + if use collectd_plugins_disk && use udev; then + udev_newrules contrib/99-storage-collectd.rules 60-persistent-storage-collectd.rules + fi + + fowners root:collectd /etc/collectd.conf + fperms u=rw,g=r,o= /etc/collectd.conf + + einstalldocs + + if use contrib; then + insinto /usr/share/${PN} + doins -r contrib + fi + + keepdir /var/lib/${PN} + fowners collectd:collectd /var/lib/${PN} + + newinitd "${FILESDIR}/${PN}.initd-r3" ${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 \ + -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# \n# Globals true\n# :' \ + -i "${ED}"/etc/collectd.conf || die + sed \ + -e 's:^.*LoadPlugin python$:# The new, correct way to load the python plugin -- \n# \n# Globals true\n# :' \ + -i "${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/CGI, dev-perl/Config-General and net-analyzer/rrdtool[perl] to be installed." + fi +} diff --git a/app-metrics/process-exporter/Manifest b/app-metrics/process-exporter/Manifest index 9663d4560126..32c93a8d618d 100644 --- a/app-metrics/process-exporter/Manifest +++ b/app-metrics/process-exporter/Manifest @@ -1,5 +1,8 @@ AUX process-exporter.initd 443 BLAKE2B 7b1c0475cb3c0c96685b8831578df131661787221e3d9f081b930f0966bdff465218e86d6bf4fe8d5cfb80ed1f8bec3d8b648a002323467408747d0f99d92c4d SHA512 cdebd44d568723de125390453ba169323f7e5b7941a94955c6e45792b573ab57ae41015229b997c32eb093127aaed8bcedde8d46df86396b1e338e5b1f668881 DIST process-exporter-0.7.10-deps.tar.xz 106360268 BLAKE2B a06448eb38cee7cac6c93d8dedecfbb4fc7152f25c7ff42cb440aa6162aa8daac5ddbe7e56e99d96386b70723124b59f0bd0ab9df2b3f519532ac9487ba34b9e SHA512 6982da5d9c4ecdeacaa970baf0c820e0e3053ff3dbbbb260e7f3e68bff2c1e04beffbbbe8546e1f680d0dcba2eaac256a1bce4b6eee290a847ce70fe8653b68d DIST process-exporter-0.7.10.tar.gz 55320 BLAKE2B 72497d513105486de9bc212f4b8af14c52afa8acbcf04f52ab8015bef78172936917cb58573a4ea16b4b3e433e90b404da6658012d904e3d3d787787c7c16c4d SHA512 fd7ff44b28a608184ee0045c2304dad6d5ba0a1b122f9098244a46dfcfd54d0a9e65bb2891e5198ecb9f4bc51a0fcc8577880a05f2e29a073d15e8b0cb5766c1 +DIST process-exporter-0.8.5-deps.tar.xz 9016516 BLAKE2B 567537f60be2e56a3462e34bf46e15d6ba6c4209ea36e6574e57ff4c568a2fd50dcb9cfd45bf086481184d9afb02068814fe8f31f05ae1206f7474816e3a324b SHA512 0aea48891eac031fa9e99cc839b23238557d4f728f299f1a299f56d747ccabe698fdf2ff611a6f25c063e4e9eb545c471e65cf5514eef6225f1800b09a20b6ad +DIST process-exporter-0.8.5.tar.gz 43154 BLAKE2B 094d9b1dcc516b09e5a0984cd4a7d1180a321c73e86095bb258e786fbaa2db3f703102df6463d4ac56404b1d779034dd7018abf59cc00611d53d5c61e957cc2f SHA512 e213f7ee139c4bd07686c009dede432117aac2e7a80416f0e50a46910ba394fcbae69bfdefd3a48fef9e68aff2c5ac0f0da14bb0382392fc95aca55a9a90cf23 EBUILD process-exporter-0.7.10.ebuild 698 BLAKE2B 1fb86f1ba8c15fb5983efc61c17f60df1060a5bac8109a00ee2f0b2d38b2212c4d0e17406f278ab6bc464dd4d7e33dd1a4da11864221f2d0c272be343a301050 SHA512 00a1b82e4c91225af7eb6b6e06c19c00b34ea236eb34951d1603e8d667beb9c860e5ec7afcf98a7b6869fe833858677d57efc85e39276e6b57ed3d7891c0e9fe +EBUILD process-exporter-0.8.5.ebuild 839 BLAKE2B f8eb5282bb2baedd77e5fc0cfe240b0af95df9c7242c302fef8f002d63c989164f209883563b8c0030d11b1f4f3d38de78178dd2a760cd75ff74030a2bc90834 SHA512 78b05524c1cbc7646aa4fba8255ce28cbffa7b30dd25efc8f5e03028f0ed3a6b391ba1901b19892a4f07193650273c898b88fe13932769d23dbf7d07598d33a4 MISC metadata.xml 340 BLAKE2B 0de18fb34400a6b49cbcb2722b8e795deeaca317ed8d748d0f30351c3f03a050a507fbe17eed52707bfbd3765b5c67e6e75bb9f6dde9ed6e285907d6d69f35b8 SHA512 5b48439cc93734d94d84553946e03ee70d4bca29055d76ce358df294800861c8f801a0cb6e2ecd67d7c36edb4cf24279470fe868d3a2a308595c733c307e8cab diff --git a/app-metrics/process-exporter/process-exporter-0.8.5.ebuild b/app-metrics/process-exporter/process-exporter-0.8.5.ebuild new file mode 100644 index 000000000000..6ead94d4103d --- /dev/null +++ b/app-metrics/process-exporter/process-exporter-0.8.5.ebuild @@ -0,0 +1,34 @@ +# Copyright 2019-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module systemd + +# update on every bump +REVISION=626431b9a759d425bbb78eb15153f892970aadee +DESCRIPTION="Process exporter for prometheus" +HOMEPAGE="https://github.com/ncabatoff/process-exporter" +SRC_URI="https://github.com/ncabatoff/process-exporter/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz" + +LICENSE="MIT Apache-2.0 BSD BSD-2" +SLOT="0" +KEYWORDS="~amd64" + +src_compile() { + emake \ + BRANCH=HEAD \ + REVISION=${REVISION} \ + TAG_VERSION=v${PV} \ + build +} + +src_install() { + dobin ${PN} + dodoc *.md + insinto /etc/${PN} + doins packaging/conf/all.yaml + systemd_dounit packaging/${PN}.service + newinitd "${FILESDIR}"/${PN}.initd ${PN} + keepdir /var/log/${PN} +} diff --git a/app-metrics/snmp_exporter/Manifest b/app-metrics/snmp_exporter/Manifest index 15fdb4f3e209..6b22d740e122 100644 --- a/app-metrics/snmp_exporter/Manifest +++ b/app-metrics/snmp_exporter/Manifest @@ -3,5 +3,8 @@ AUX snmp_exporter.initd 591 BLAKE2B 103fec1c2e4ad46bf86893faaaf23bd64c7f22ecc905 AUX snmp_exporter.logrotated 99 BLAKE2B b0e459df102728238b137443ced2cf717ace780d83caaa7f18117ca8605453e8f325a48f8a4375956209feac210dc452da9cd0a267cf2d663b64f0a2c80f1eb5 SHA512 c1e1264b5a5612b4794c49613b79826245d3d31db65c1541c3ddfb41872993e7039fb0a84f25260d92a78e8e20005560bdd5e41ee6373e85f8f5e866726c9af4 DIST snmp_exporter-0.24.1-deps.tar.xz 23690876 BLAKE2B 35cc65341bbae092fb88ebb42c24cf93c8e926265e5fc1fa67a4a38c99c013f704b4ce02704341bd6aca841fbd75cdcb98635b2f7856c94d9c17a8f96acc29c2 SHA512 090437acf2f66094982374f06ea889bb8694b018a1a74da7cd1275ae4ee4ed1c8147253d4d87b8916e8f397c029881f29bf5ad4d33bfec5d6a99efa7b1d2326b DIST snmp_exporter-0.24.1.tar.gz 168914 BLAKE2B 555136b42af1057cbd553a774ab96f00877f20b1d72b8f78dc87d85e958d14d56b8d58eb5aab829ad33acd9581fe80c4d65ae4faad1c8be0773e2205ac088cb2 SHA512 5268129a50bd255a9505b16d27957ab2e7a23321a25933c9a1a98cd9900aef3a882a59a43d92e021dfa6e732f84f8be1fe171271935a8eac1e023588f417822e +DIST snmp_exporter-0.27.0-deps.tar.xz 40692548 BLAKE2B 3a553497515153e2cc5fdf2b03190a5b3fd4169b6d9ea2e869c92a662d1a7cd1210a76b02662222326b8a4c4861a2f7448f75c8b6ecbe6179a4e2c831a76fe24 SHA512 11d4072a4ffd94943fac8704d45b1c8f5ed23fb1e7ea0102b67aa29a1be95c91b9ca899eb99eb828b140f82828e3f30c448eeedf05c735604c165c63bdb6024f +DIST snmp_exporter-0.27.0.tar.gz 235589 BLAKE2B e61262a3785e0f81e112c5eaf046c0607bef64d61cac81b394f15e276e0648f14166e0854708e41f64b9740ab5deb10b61d1e45f748134f11014c93d937a327c SHA512 bcc6e795c73c278cbb1497eb49e9b4aec8624132771016804dcbfb092c9c02d9ef73e74a0cf6e47567a299dc2cdb19621cbbee3c6bfc2a988d697c743434746d EBUILD snmp_exporter-0.24.1.ebuild 1426 BLAKE2B fd492f84d8cb2584f6c83d673f39f62621ef1c165d749b584494e3352e362407cadbe76a4535e456b61c18e8b3cd31ed17be75143b9c062044311650a0af5a37 SHA512 7b67a49d7f569a89e4b49b6d27cb26cb83931f4cfc461e28f70a4829646aaa688c074573fec8eea6220109e743dcc1b829405007a156421e5954acbd480e276f +EBUILD snmp_exporter-0.27.0.ebuild 1455 BLAKE2B 54d79053b5f3146b8d878a762972eac1a36366270bd27bb62882bab87964be57594cee08b63bc3232ec29c3740a36b8491d018f4cbad50dc59e7ed8b7fb1a146 SHA512 ccb095e551a75713812fa2ff298e66129012cfa14eee842263ef50a252c802cc271f8caed660c3b61f5430e9edd6cb7c70d7981abe0cb3dfe6dcbec85476f2e2 MISC metadata.xml 338 BLAKE2B 74a81881d38a3e761120c6d6a4618a7ee680a512b11f9f611177e69a9e8a2010c231b45d7cc15f58ea746268e3e584ddb5f5bb9dba5fe1c9725a6a11a3f704e0 SHA512 280a333a484837548652059d2d13bd3f9ad304c6d4a746c2f2e6e7e9ce229979feeaca7f61de4d64704da207b73e22045dca6596b8102bd92529d88af71e4861 diff --git a/app-metrics/snmp_exporter/snmp_exporter-0.27.0.ebuild b/app-metrics/snmp_exporter/snmp_exporter-0.27.0.ebuild new file mode 100644 index 000000000000..56f056314831 --- /dev/null +++ b/app-metrics/snmp_exporter/snmp_exporter-0.27.0.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module + +# update this on every bump +SNMP_EXPORTER_COMMIT=4c054bf5 + +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_test() { + emake test-flags= test +} + +src_install() { + dobin bin/generator + newbin bin/${PN}-${PV} ${PN} + dodoc {README,CONTRIBUTING}.md generator/{FORMAT,README}.md generator/generator.yml CHANGELOG.md + 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 +} -- cgit v1.2.3