From f1af93971b7490792d8541bc790e0d8c6d787059 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 6 Sep 2019 10:28:05 +0100 Subject: gentoo resync : 06.08.2019 --- app-metrics/Manifest.gz | Bin 4933 -> 4928 bytes app-metrics/alertmanager/Manifest | 6 +- .../alertmanager/alertmanager-0.16.2.ebuild | 53 -- .../alertmanager/alertmanager-0.17.0.ebuild | 53 -- .../alertmanager/alertmanager-0.19.0.ebuild | 53 ++ app-metrics/collectd/Manifest | 5 +- app-metrics/collectd/collectd-5.8.1-r1.ebuild | 536 ++++++++++++++++++++ app-metrics/collectd/collectd-5.8.1.ebuild | 536 -------------------- app-metrics/collectd/collectd-5.9.1-r2.ebuild | 543 +++++++++++++++++++++ app-metrics/collectd/collectd-5.9.1.ebuild | 543 --------------------- .../collectd/files/collectd-5.9.1-fixup.patch | 81 +++ app-metrics/prom2json/Manifest | 2 +- app-metrics/prom2json/metadata.xml | 5 +- app-metrics/prometheus/Manifest | 2 + app-metrics/prometheus/prometheus-2.12.0.ebuild | 68 +++ 15 files changed, 1290 insertions(+), 1196 deletions(-) delete mode 100644 app-metrics/alertmanager/alertmanager-0.16.2.ebuild delete mode 100644 app-metrics/alertmanager/alertmanager-0.17.0.ebuild create mode 100644 app-metrics/alertmanager/alertmanager-0.19.0.ebuild create mode 100644 app-metrics/collectd/collectd-5.8.1-r1.ebuild delete mode 100644 app-metrics/collectd/collectd-5.8.1.ebuild create mode 100644 app-metrics/collectd/collectd-5.9.1-r2.ebuild delete mode 100644 app-metrics/collectd/collectd-5.9.1.ebuild create mode 100644 app-metrics/collectd/files/collectd-5.9.1-fixup.patch create mode 100644 app-metrics/prometheus/prometheus-2.12.0.ebuild (limited to 'app-metrics') diff --git a/app-metrics/Manifest.gz b/app-metrics/Manifest.gz index f7ca91c28fce..d41ad6484046 100644 Binary files a/app-metrics/Manifest.gz and b/app-metrics/Manifest.gz differ diff --git a/app-metrics/alertmanager/Manifest b/app-metrics/alertmanager/Manifest index e32e724848aa..1cc550bdfe55 100644 --- a/app-metrics/alertmanager/Manifest +++ b/app-metrics/alertmanager/Manifest @@ -1,9 +1,7 @@ AUX alertmanager.confd 135 BLAKE2B 7a3dd341e63a73e9782d44dc59c8a65ea1c855ae0589ce80e616be6d8faf24224f804c564296955487760c155649c184b3132a2741cf30d171c88dcfdd469583 SHA512 391eb26d67310fba9371d274b1e9552cf0c9c02de1e3616c3e5514ae99bf7d36b52c6caa7e94a96f640b0f8542b15b4dded9d59154173c01d4e9a99ec2219fbc AUX alertmanager.initd 817 BLAKE2B 74a7e6c292ac52f4d6d00644038e74624be41ed632a6db389a7c226b3a37d43f22f1c8c098d34f652d9b6b9cb407523b375c884e75fe3740578f26e822df21c7 SHA512 34ae9348f5e054543bdbffd29e30d1fb6147d47e74cecb1755c29bf4327bd56ac4fae4cecddf2c515b6ddffbce4ad7151ae3a3e7f283db2d6b74619f5faa44ac -DIST alertmanager-0.16.2.tar.gz 3616125 BLAKE2B f7ab0dc0b4ae08527d02643facb1e0192215b64b80120e2ca0b203af2ae21b2ba9d247a037b36e96be841f39f170964e6f27e07b65003b610c04a25d1e30f3c3 SHA512 94012739c5c9691ff34bb521e220e00de13ef866451ffaaa8d45f85c228c6b515a84550a819b351db36e3da7c17a0fa397b5b1c6a4cbc3451442f5064a0184a3 -DIST alertmanager-0.17.0.tar.gz 5118311 BLAKE2B 351a47ebc0545767f9da6fdb1e276da022d6b12e424d7edc5fb471505f777f0bb403e06ff3a9b5e4817d7f612dfabb477d39c09a8e129a93e0dbcd094c082fbe SHA512 7cca7400640030caa44f713bda163dd142ad95e5b6b26d1976564fbc0b0888f26646b75c6bb4b6cc7405fa41bed9c727fca475245a170989c61b3b61cb797299 DIST alertmanager-0.18.0.tar.gz 5181819 BLAKE2B efcc856ccacb97646915e8d622179cf3cc7554351036cf556347ec46cdede5c9223139cb209b52376964c7b19b119f3683f82698d1e7c07b1432bb3e4bb37239 SHA512 59faec308abaac3d2b59198fef25109b208de1a807b38803dc10722ff0caf1bac9d9795005fefb3b4e2acda62be136bfcafe7b9702ae52565021a424f99fa730 -EBUILD alertmanager-0.16.2.ebuild 1367 BLAKE2B 54ca24caab082176f843751e5de61b22135ecf8cadca07e8855e93b459cbc00c306e9bd00b9944159161bdffb6b956e3b8f051e29faeb8327b1061aae2c563d0 SHA512 9813e550b9dc204a2781f9bd98849bbfe8c0ad5901e0b23861c755863a0a0a27045e702f07dbe8a89336cede3849f7b69622f9dae53dc8bc9d7981f127a0d8ff -EBUILD alertmanager-0.17.0.ebuild 1367 BLAKE2B c4fe48103687d9217bfb63331bacc51135ee51f49038e3fb10bd80d8fe46c1091e8b1b51752e78c7d1439d9b3362fea9e440caa8826dc4917a0ea945bed274ee SHA512 a5f692ccdc01d7401e7eef4089116c702400dd376c5cfc230a7356eb098f396cbfd5078a719d5ea1358a4224baa14becfe63752918d91de85775fdf749a97fbc +DIST alertmanager-0.19.0.tar.gz 5862442 BLAKE2B a79336286ca1099dcc73cce897eccaff8d40f8d3140ebf1943a1189cf1d2ec58738cbe7fc02221826ffc0e1535954a11a461ac6ea222113c79a44d43cc9eda83 SHA512 2c21bfbb1001e07e81b1115439ad15e7c0e7089839e56a19c445177e322b8ef9aa2b85e96478f3c3d709cbbd3a5447662a8c55da370b84aa4b6b24f83848744b EBUILD alertmanager-0.18.0.ebuild 1367 BLAKE2B 62615ac19bc66f6245bf85e6b6d4f93343e4b303e9a7e1b67f40dce5c5c39ceb752886a2048b7bef0affe279536a6fae1eaf99e979506d6db52a1b9a411290ed SHA512 4b964437dcd48918873da9cb991bc8367c60914de05f4d5293e6b9bb818e0bfadaa9d99c037d7f3aef0177fac70059ed272b657c4241f4ea2890fe533e358d18 +EBUILD alertmanager-0.19.0.ebuild 1367 BLAKE2B cf5bb035167590396a536967525dff87a1c105aa1e275a94dc10d87bc91bbbf736bcb412fe5844a39f73861025947d432f1e2d5691068e574e0e79a04dc89c65 SHA512 089666a104bca0ff22fc0183e2d2a3b3a99868de3a8a64d1ddb66dc7cffbfda7b0e98b6c5fc009300647d21218c543f036ba89a394304f0221791c3ace07088f MISC metadata.xml 333 BLAKE2B eb945c2d22a9d93154b7a021559038b9565f00d54dda86445c00156ddffd6754cd433026ff465a38864d00bf1c44a3c050835fd854dadce82ea92649613151ef SHA512 2059ca45e92e3a833d93097362e1ae79ef085c35f87ec2bcbde4ee2d20f8938cb27fb19647d083990c1224b3d0c06f163a3f1bedfabfb59a6b3b15a90697ac0f diff --git a/app-metrics/alertmanager/alertmanager-0.16.2.ebuild b/app-metrics/alertmanager/alertmanager-0.16.2.ebuild deleted file mode 100644 index 0436ba1b213e..000000000000 --- a/app-metrics/alertmanager/alertmanager-0.16.2.ebuild +++ /dev/null @@ -1,53 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# 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="308b762" -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-lang/go-1.11 - 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 - GO111MODULE=on GOPATH="${S}" GOCACHE="${T}/go-cache" 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.17.0.ebuild b/app-metrics/alertmanager/alertmanager-0.17.0.ebuild deleted file mode 100644 index 4b36f4b2ddc8..000000000000 --- a/app-metrics/alertmanager/alertmanager-0.17.0.ebuild +++ /dev/null @@ -1,53 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# 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="c7551cd" -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-lang/go-1.11 - 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 - GO111MODULE=on GOPATH="${S}" GOCACHE="${T}/go-cache" 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.19.0.ebuild b/app-metrics/alertmanager/alertmanager-0.19.0.ebuild new file mode 100644 index 000000000000..ec6dbaf138c1 --- /dev/null +++ b/app-metrics/alertmanager/alertmanager-0.19.0.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2019 Gentoo Authors +# 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="7aa5d19" +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-lang/go-1.11 + 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 + GO111MODULE=on GOPATH="${S}" GOCACHE="${T}/go-cache" 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/collectd/Manifest b/app-metrics/collectd/Manifest index 617045da5013..d3b85962f990 100644 --- a/app-metrics/collectd/Manifest +++ b/app-metrics/collectd/Manifest @@ -1,10 +1,11 @@ AUX collectd-5.8.1-lm_sensors-4.5.0-compatibility.patch 2595 BLAKE2B cd60e42c3870611b30068d09410abc1cc80e5c2c945805d9a105050a52f3c2fc2ca2c5e10f33cd9c5063b0773a1bdad9ea7446f88632674cbd2cdd5202a69247 SHA512 6c04f6651a4bbe0c051202cfc3fae3e366cacf34c74e9ff3f09ca83887eb165e4febf8957ede66c22195c03c1f111b24a8859a56921cd42f68f938e87d784f52 +AUX collectd-5.9.1-fixup.patch 2870 BLAKE2B 4b28683774e856ac71c41ec8016d329fd09795dfd877cd1d7a7662aac8e1bc96a62b6fa24ffa6136ed5be95712e52d114eb403a17eb438eedd7d0aa5385047e7 SHA512 1d4c102214ad825a36b6d4057fc9c47c000857ae218a0e541dff33ecbcb2ec78872a486e661ef8013040acd626e78298ca220b8fd87beef7f5ee5bd8b85551ea 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.8.1.tar.bz2 1789228 BLAKE2B 739f961172978db33bdf95c8f93bde0036a26b2ed2abd3396a734d4b97c4ae117bb26a62fcdbb3d77bd63d9f64a38f83d0c8a0665e8fa7bf5ed2efc6838b0e8e SHA512 8c75448c6e59ee1ea5c1cf486c07040d20fb36d5b7a1be2ab45facea330166e8c1d1fa38e3fa82ec905428d7b2c92c66aae35ee8e3546f67ce76f7f410739901 DIST collectd-5.9.1.tar.gz 1501178 BLAKE2B ed0984637161427f3b354002850b7ea8c49a4aca64b637b864e5513c8057f52a4a479477b21e2a4cff436728c16d66c6d561df14308adcaeb7d597c290f543ce SHA512 424ef12a3ba6997a71e6eda1a62d73fec588c9c4d90542c2381c1f9f4e118b2c02e18c71507e8984e20fb255b69b7f42afe83085b3df5e225c576d1eee1655fb -EBUILD collectd-5.8.1.ebuild 19429 BLAKE2B b84bcdcd587f375766052acc92f3c053fac92a6c0a8750a1d558333345918fdcd7e563f705830b85cc5c76f9b14beca28297a8b1762ac6f67f66bd871c1c522f SHA512 123f88476f52f94cc5a975558889fb450e5341d6ae9ac9ec0cf4ffb5d46633d04f949b27f8408cab587d818ce27058c2d2dd53c8ea70315c9c7215c06cce61fe -EBUILD collectd-5.9.1.ebuild 19563 BLAKE2B 99704cccf28dfbfb29085fa99f586efa15dcc0702d542927931cef723d583a6e988fadbdce96a4e69976f2e21a5404566ffd98c30f2362e793e4119ef96c535d SHA512 d4ca49e401ee7b92e7422e0cd3fc09d73ebaf4a5d0432c9f8836e0e859f7c3ee527b700c35d871b83651242cf76f8aa92baadac9f3549ea3e8860b6852940d78 +EBUILD collectd-5.8.1-r1.ebuild 19431 BLAKE2B 7bc4b09438a006dea269c954133c7b8ca0f051451d7408fe53d672caec76cff0c462050719c069a8f3b4fd7106db7e6551b240b5cf3a3cd6644543a09b53fd76 SHA512 a3dedffad32926cb884678790a3243db5560600e9a7a6a1ae518a9c332db441b5e9ffd41b10191180464e3366712b90606c7e5b7c98d550b3c4bb7a4fcfcc003 +EBUILD collectd-5.9.1-r2.ebuild 19597 BLAKE2B b592caeb54af1575e62b23026ca726eb50c28206f162728f0e945c797c904a94470f7d4f5b3e4b7c51a9df7c131412e6c620c4801585b531d3164599a54f51af SHA512 c89e6971009200fefe9b8d3ba15a1e9bb0c35405f459cd779b018be3630091a70bbcd4a3d001899f1e1364f5ba3969ac0db1242e8c73029cb1779f44f34648e1 MISC metadata.xml 1515 BLAKE2B 5525766b822463f94f7c2cddbdf78b4c4ea5a473880a473d0b51481d948569cfc7f51bd2e74eb67065ab2be1b23e4fb7ee99512d018c6e6b5ac1ee7331eae9eb SHA512 51c17c16d27b722d729d036d67c562ab76e212dac9bcd004a7e43c2c5e041b8c46e74f9a130f30c2e18cc95ca1b367034246eff02cfaf55f6f9375ff836749e5 diff --git a/app-metrics/collectd/collectd-5.8.1-r1.ebuild b/app-metrics/collectd/collectd-5.8.1-r1.ebuild new file mode 100644 index 000000000000..ce224b6f9195 --- /dev/null +++ b/app-metrics/collectd/collectd-5.8.1-r1.ebuild @@ -0,0 +1,536 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7} ) +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? ( 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_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? ( =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 ) + ! +# 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# \n# Globals true\n# :' "${ED}"etc/collectd.conf || die + sed -i -e 's:^.*LoadPlugin python$:# The new, correct way to load the python plugin -- \n# \n# Globals true\n# :' "${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.1.ebuild b/app-metrics/collectd/collectd-5.8.1.ebuild deleted file mode 100644 index ce35b6c2a889..000000000000 --- a/app-metrics/collectd/collectd-5.8.1.ebuild +++ /dev/null @@ -1,536 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7} ) -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? ( =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 ) - ! -# 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# \n# Globals true\n# :' "${ED}"etc/collectd.conf || die - sed -i -e 's:^.*LoadPlugin python$:# The new, correct way to load the python plugin -- \n# \n# Globals true\n# :' "${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.9.1-r2.ebuild b/app-metrics/collectd/collectd-5.9.1-r2.ebuild new file mode 100644 index 000000000000..af1f3432adc8 --- /dev/null +++ b/app-metrics/collectd/collectd-5.9.1-r2.ebuild @@ -0,0 +1,543 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7} ) +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="https://github.com/${PN}/${PN}/archive/${PN}-${PV}.tar.gz" + +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 +# amqp1: Requires libqpid-proton +# 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 amqp1 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? ( 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_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? ( =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 ) + ! +# 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 + 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})" + # ... 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# \n# Globals true\n# :' "${ED}"etc/collectd.conf || die + sed -i -e 's:^.*LoadPlugin python$:# The new, correct way to load the python plugin -- \n# \n# Globals true\n# :' "${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.9.1.ebuild b/app-metrics/collectd/collectd-5.9.1.ebuild deleted file mode 100644 index e79b4d6e0e41..000000000000 --- a/app-metrics/collectd/collectd-5.9.1.ebuild +++ /dev/null @@ -1,543 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7} ) -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="https://github.com/${PN}/${PN}/archive/${PN}-${PV}.tar.gz" - -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 -# amqp1: Requires libqpid-proton -# 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 amqp1 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? ( =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 ) - ! -# 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 - 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})" - # ... 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# \n# Globals true\n# :' "${ED}"etc/collectd.conf || die - sed -i -e 's:^.*LoadPlugin python$:# The new, correct way to load the python plugin -- \n# \n# Globals true\n# :' "${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.9.1-fixup.patch b/app-metrics/collectd/files/collectd-5.9.1-fixup.patch new file mode 100644 index 000000000000..93f97d95a9c4 --- /dev/null +++ b/app-metrics/collectd/files/collectd-5.9.1-fixup.patch @@ -0,0 +1,81 @@ +--- a/src/daemon/plugin.c ++++ b/src/daemon/plugin.c +@@ -647,7 +647,8 @@ static void start_read_threads(size_t num) /* {{{ */ + } + + char name[THREAD_NAME_MAX]; +- snprintf(name, sizeof(name), "reader#%" PRIu64, (uint64_t)read_threads_num); ++ ssnprintf(name, sizeof(name), "reader#%" PRIu64, ++ (uint64_t)read_threads_num); + set_thread_name(read_threads[read_threads_num], name); + + read_threads_num++; +@@ -836,8 +837,8 @@ static void start_write_threads(size_t num) /* {{{ */ + } + + char name[THREAD_NAME_MAX]; +- snprintf(name, sizeof(name), "writer#%" PRIu64, +- (uint64_t)write_threads_num); ++ ssnprintf(name, sizeof(name), "writer#%" PRIu64, ++ (uint64_t)write_threads_num); + set_thread_name(write_threads[write_threads_num], name); + + write_threads_num++; +--- a/src/intel_rdt.c ++++ b/src/intel_rdt.c +@@ -325,8 +325,12 @@ static int strlisttoarray(char *str_list, char ***names, size_t *names_num) { + continue; + + if ((isdupstr((const char **)*names, *names_num, token))) { +- ERROR(RDT_PLUGIN ": Duplicated process name \'%s\' in group \'%s\'", +- token, str_list); ++ if (str_list != NULL) ++ ERROR(RDT_PLUGIN ": Duplicated process name \'%s\' in group \'%s\'", ++ token, str_list); ++ else ++ ERROR(RDT_PLUGIN ": Duplicated process name \'%s\'", token); ++ + return -EINVAL; + } else { + if (0 != strarray_add(names, names_num, token)) { +--- a/src/intel_rdt.c ++++ b/src/intel_rdt.c +@@ -325,11 +325,7 @@ static int strlisttoarray(char *str_list, char ***names, size_t *names_num) { + continue; + + if ((isdupstr((const char **)*names, *names_num, token))) { +- if (str_list != NULL) +- ERROR(RDT_PLUGIN ": Duplicated process name \'%s\' in group \'%s\'", +- token, str_list); +- else +- ERROR(RDT_PLUGIN ": Duplicated process name \'%s\'", token); ++ ERROR(RDT_PLUGIN ": Duplicated process name \'%s\'", token); + + return -EINVAL; + } else { +--- a/src/syslog.c ++++ b/src/syslog.c +@@ -51,8 +51,7 @@ static int sl_config(const char *key, const char *value) { + log_level = parse_log_severity(value); + if (log_level < 0) { + log_level = LOG_INFO; +- ERROR("syslog: invalid loglevel [%s] defaulting to 'info'", value); +- return 1; ++ WARNING("syslog: invalid loglevel [%s] defaulting to 'info'", value); + } + } else if (strcasecmp(key, "NotifyLevel") == 0) { + notif_severity = parse_notif_severity(value); +--- a/src/utils/common/common.c ++++ b/src/utils/common/common.c +@@ -99,10 +99,7 @@ int ssnprintf(char *str, size_t sz, const char *format, ...) { + + va_end(ap); + +- if (ret < 0) { +- return ret; +- } +- return (size_t)ret >= sz; ++ return ret; + } /* int ssnprintf */ + + char *ssnprintf_alloc(char const *format, ...) /* {{{ */ diff --git a/app-metrics/prom2json/Manifest b/app-metrics/prom2json/Manifest index 4ea08c2b5ec4..3397969471b8 100644 --- a/app-metrics/prom2json/Manifest +++ b/app-metrics/prom2json/Manifest @@ -1,3 +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 +MISC metadata.xml 252 BLAKE2B ba7b5183b5a1685794845e1070f0024be5bdd6e73f2727a3f905189d68851416ee0ce6a2d481da059964761cfa256581c75b5d96fd36455bb56cc0f7be4cc85a SHA512 2d90bda7f93668f2b160b8bc41c11aa0d5a9aed5c195534c691aa221500cfd27097c5180001a59be5b4d8a28fd4244d64966ee1a918806589d18e8b3c428d248 diff --git a/app-metrics/prom2json/metadata.xml b/app-metrics/prom2json/metadata.xml index eaf3cc3d6f87..a4d942c42b71 100644 --- a/app-metrics/prom2json/metadata.xml +++ b/app-metrics/prom2json/metadata.xml @@ -1,10 +1,7 @@ - - mrueg@gentoo.org - Manuel RĂ¼ger - + prometheus/prom2json diff --git a/app-metrics/prometheus/Manifest b/app-metrics/prometheus/Manifest index 85a619ff184d..16e50106289b 100644 --- a/app-metrics/prometheus/Manifest +++ b/app-metrics/prometheus/Manifest @@ -2,7 +2,9 @@ AUX prometheus-3.initd 851 BLAKE2B 600d9e541206f99c0ddddc0f5a1d37d9bea69d8f45ce6 AUX prometheus.confd 43 BLAKE2B c83afa8ad1133c9e93abd40c862ff5b3ac9a3b3c4447b915ae1482d92096dec9f200d089de2458a6cdb0e72d2bf0652d56e3afd6d5a3cd8a3ed7a6c9a0e3e42c SHA512 37468e897cd34b50b0edc65ada3f0c2e05459c3d96bb7f82d58b6de5bf10a127f1bf7912af93d83d94e3ea7287cfeb2311e36535f291d01a11d152a0b438591c AUX prometheus.initd 929 BLAKE2B d48650b11b77d4d04b5458682456fb20f8085dc3efe9d0ddd2a6c75751ddae156bbb83c20082bc7b6833395602c24da61e2f7610bdff291e05e3eeb4fb651317 SHA512 504122eb8ed19beac81987b77eb78bba9b36b2ef15f28b1a542804271046e06363baf464f3c303982f647eba65fbc2b5459235f56625e1ff3fed9834937cd0d2 DIST prometheus-2.11.2.tar.gz 12132678 BLAKE2B 0b6b9a93b7329c124f901d0acc6130132aa187142f0416e087c12f20b0cd35f8564a27d0df8c0bc811284b9811f446344adf700d6611afac3c5c1131c208b341 SHA512 cecdaf4522885bdf62492667d92475a97c54b04c1e93f48b6078def319fe33f5e28aafbab61e3609413615d6f853e817564fc372e5d1df0d867fe9fa333f6de9 +DIST prometheus-2.12.0.tar.gz 15221347 BLAKE2B 6061562e6bafe8e2373ad676e7acd2b5d5ff8e195cf4c1abd709347992c16970b64b225e9f58f33a801ff521abc78422281d97d8c5307a80a64fb8c8a8d8d5fe SHA512 3d3b5ce3afd13714a8fa96964784fa40feb650459f657cbc695c6a7e866f89c488132b408d78ea101804532768c51c3913607bf001f27d3f05c3df9efe3cab82 DIST prometheus-2.9.2.tar.gz 11477683 BLAKE2B f0c18c57ff0fe292710174a91080a84ecf0375b4335aacaf4a8e32c842a9346b9fd48888ef8a19a597511c57eb8af7f90cca57d0cc51b9de4558c3f22953d165 SHA512 4cce1827580e49b1659ad492de946a81694c1dab90e079f3f0e56c1991254cf4ecac7f052aac75bf58a0b95d3cf4daa8c15b3e8305a3c089570da40c44a8ccc0 EBUILD prometheus-2.11.2.ebuild 2006 BLAKE2B 9eb972c513982c3e8321b87490180b95048e4cb46aa64f879735f3e3c729d742cb3d2ced1873a6a4c24b8cab7a94ca95b5d41190a6a20a26ee778f63b194d770 SHA512 89b982df1c665375c9eaa9b43373ae725fec9d72b70087615f72f4c017557d6637353cdd57870b6eac1c5fcf3a1a1ed98c8b80d9c00197c8bfce31f6c14877ec +EBUILD prometheus-2.12.0.ebuild 2006 BLAKE2B 7c5210d97d11e7552736f856d9ac635128cac842e2d62193acef410c44eb5defc54999f51231f3b4c9ab06ecaaa82a99bfaa447655c46606a57eb46f6d4a2b38 SHA512 86bb69a89c4449e173afb456c48d54647e1628957cc538cb95cb9eabc0f817f4afdd37c50b697f03938f2b9e93e93345d45813902119d122b85f9f98174a131f EBUILD prometheus-2.9.2.ebuild 2005 BLAKE2B be44fa8627cb4ba1be2f6696bf8a7086bdf720508bf1fd47d451f7fcc0d54b7f97e6ba1c46260a71dca1a18fbca3013ae861cdf6437c6d9a25140e731d10e5d7 SHA512 937cac2265388d791b486b5131692f3d8fa30bf0fe20d76fe35f0ea44087a9fb036a5557a3deb70d8627ba4783525ce8510f9531190a097ffea6f91834161f7d MISC metadata.xml 331 BLAKE2B 80bf59233349fc1fdc6c102fb65ba146bcde2c5c2a6039ec9b9f50f21a36fb1e8c864cba422e721d01216c792ffcf0429a3a840540305442b5e516ac09c03850 SHA512 06fd0da413c0280a902bbdf50e1e0557375d2208021fda3c3081d8a25a4b17ad1ca647d994dd97ba2d838ea5c87148d3ffd13a8a54cb8dc007b45927df8de47a diff --git a/app-metrics/prometheus/prometheus-2.12.0.ebuild b/app-metrics/prometheus/prometheus-2.12.0.ebuild new file mode 100644 index 000000000000..5a036cba4edc --- /dev/null +++ b/app-metrics/prometheus/prometheus-2.12.0.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2019 Gentoo Authors +# 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=v${PV/_rc/-rc.} +PROMETHEUS_COMMIT="43acd0e" +KEYWORDS="~amd64" + +DESCRIPTION="Prometheus monitoring system and time series database" +HOMEPAGE="https://github.com/prometheus/prometheus" +SRC_URI="https://${EGO_PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz" +LICENSE="Apache-2.0" +SLOT="0" +IUSE="" + +DEPEND=" + >=dev-lang/go-1.12 + >=dev-util/promu-0.3.0" + +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 + GO111MODULE=on GOPATH="${S}" GOCACHE="${T}/go-cache" 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.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 '