diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2018-11-03 08:36:22 +0000 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2018-11-03 08:36:22 +0000 |
commit | f65628136faa35d0c4d3b5e7332275c7b35fcd96 (patch) | |
tree | 021998302365c5652e37824b6c26d4d969a62055 /app-metrics | |
parent | 70b82ae359a5538711e103b0e8dfb92654296644 (diff) |
gentoo resync : 03.11.2018
Diffstat (limited to 'app-metrics')
-rw-r--r-- | app-metrics/Manifest.gz | bin | 3590 -> 3587 bytes | |||
-rw-r--r-- | app-metrics/collectd/Manifest | 2 | ||||
-rw-r--r-- | app-metrics/collectd/collectd-5.8.1.ebuild | 534 | ||||
-rw-r--r-- | app-metrics/node_exporter/Manifest | 2 | ||||
-rw-r--r-- | app-metrics/node_exporter/node_exporter-0.17.0_rc0.ebuild | 48 | ||||
-rw-r--r-- | app-metrics/prometheus/Manifest | 2 | ||||
-rw-r--r-- | app-metrics/prometheus/prometheus-2.4.3.ebuild | 70 | ||||
-rw-r--r-- | app-metrics/pushgateway/Manifest | 2 | ||||
-rw-r--r-- | app-metrics/pushgateway/pushgateway-0.6.0.ebuild | 51 |
9 files changed, 711 insertions, 0 deletions
diff --git a/app-metrics/Manifest.gz b/app-metrics/Manifest.gz Binary files differindex 262060286722..b791da253333 100644 --- a/app-metrics/Manifest.gz +++ b/app-metrics/Manifest.gz diff --git a/app-metrics/collectd/Manifest b/app-metrics/collectd/Manifest index b18576130447..fa9e757bc9a7 100644 --- a/app-metrics/collectd/Manifest +++ b/app-metrics/collectd/Manifest @@ -4,5 +4,7 @@ AUX collectd.initd-r2 1843 BLAKE2B ccb12e55de72565aa7b6bb0f2c4e7a5a6d15ff23d5bc7 AUX collectd.logrotate 115 BLAKE2B ce2a79787096b04af6ecd128633dde68fb868a02cc1d246c3e512c1733133fcc8da41b3ab2a0051b4da78c53e6629b2ad8085872dec1d4c28e397c88cafe3a90 SHA512 87ec01784d415f00834c2b20614f11f7e08b70f88d7c87509a8b8fd7e1af8758565b9ed6a6840af7bf1006cb941a61a6ff4f3176f6ded722728f24483b08bc8e AUX collectd.tmpfile 39 BLAKE2B 0d1ee2f02e539e854b62b47032308d08505fa31d8428e98f8d150c924201074c5edae22eea3990edf3a7837f1473193fe009a501645bf064638c532ec53a36cc SHA512 55fb70da9ece74b143c3e971b890954842230691039f8ad2240cc4c8d699e4e7a21efcbfd0b3cb2503e90af0bbdd0c7d886e09baf9fc86ec26c115a0bce6a668 DIST collectd-5.8.0.tar.bz2 1686017 BLAKE2B 26d995cdb9c25869bf96a056e6ba879de9f009fd4bbf1364a7dedba93b822e57c4b606ca8c84da68cc29db8e77333047695e85d7eb101080de9cee783240f5ea SHA512 1b3d0cc44e2ca54e13eebf292074f1efa8b33d6800d04405e0eaaa2dd1cb2416c6eae580729fb5aead23a5039f41ffe8a9989a907a8c18be8f867f1099fc0008 +DIST collectd-5.8.1.tar.bz2 1789228 BLAKE2B 739f961172978db33bdf95c8f93bde0036a26b2ed2abd3396a734d4b97c4ae117bb26a62fcdbb3d77bd63d9f64a38f83d0c8a0665e8fa7bf5ed2efc6838b0e8e SHA512 8c75448c6e59ee1ea5c1cf486c07040d20fb36d5b7a1be2ab45facea330166e8c1d1fa38e3fa82ec905428d7b2c92c66aae35ee8e3546f67ce76f7f410739901 EBUILD collectd-5.8.0-r1.ebuild 19414 BLAKE2B 3bdf9270dacb93480694b7ccfc0b2cae4fbc5aa2a2ca9b1acc9c8d9dfe1fdc4725a86ac064504b7df2ebecff1ac1d0f7625596717b1fadaa2491c5586bc2df94 SHA512 4967130b806f6395e1116c03f90cc2b84bb586c862e24a9adc86b653b079ef08121911fdbebdcfd80a0dddfd72d661949210f1027a793e933ab038a37fb46052 +EBUILD collectd-5.8.1.ebuild 19359 BLAKE2B 96231aee3d7f6ee5d2f2f683b37a421858710b77f552284742bba0e650f0e0862236ff7ae585758a1fa0c73e86d75d93e33cb2b7fed734cb29eca8bffe3a6655 SHA512 effb2409d83a234ccb9275c1c51418b1fce3a0717d8738fcb18fb1f8f6f191a9f9d5cfc6b99e2b5db1b904303108c9ca6e070b1f6a569392813ae92623d834fa MISC metadata.xml 1515 BLAKE2B 5525766b822463f94f7c2cddbdf78b4c4ea5a473880a473d0b51481d948569cfc7f51bd2e74eb67065ab2be1b23e4fb7ee99512d018c6e6b5ac1ee7331eae9eb SHA512 51c17c16d27b722d729d036d67c562ab76e212dac9bcd004a7e43c2c5e041b8c46e74f9a130f30c2e18cc95ca1b367034246eff02cfaf55f6f9375ff836749e5 diff --git a/app-metrics/collectd/collectd-5.8.1.ebuild b/app-metrics/collectd/collectd-5.8.1.ebuild new file mode 100644 index 000000000000..b334e07575c4 --- /dev/null +++ b/app-metrics/collectd/collectd-5.8.1.ebuild @@ -0,0 +1,534 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +PYTHON_COMPAT=( python{2_7,3_4,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? ( <sci-libs/libsigrok-0.4:= dev-libs/glib:2 ) + collectd_plugins_smart? ( dev-libs/libatasmart ) + collectd_plugins_snmp? ( net-analyzer/net-snmp ) + collectd_plugins_snmp_agent? ( net-analyzer/net-snmp ) + collectd_plugins_tokyotyrant? ( net-misc/tokyotyrant ) + collectd_plugins_varnish? ( www-servers/varnish:= ) + collectd_plugins_virt? ( app-emulation/libvirt:= dev-libs/libxml2:2= ) + collectd_plugins_write_http? ( net-misc/curl:0= dev-libs/yajl:= ) + collectd_plugins_write_kafka? ( >=dev-libs/librdkafka-0.9.0.99:= dev-libs/yajl:= ) + collectd_plugins_write_mongodb? ( >=dev-libs/mongo-c-driver-1.8.2:= ) + collectd_plugins_write_prometheus? ( >=dev-libs/protobuf-c-1.2.1-r1:= net-libs/libmicrohttpd:= ) + collectd_plugins_write_redis? ( dev-libs/hiredis:= ) + collectd_plugins_xencpu? ( app-emulation/xen-tools:= ) + + kernel_FreeBSD? ( + collectd_plugins_disk? ( sys-libs/libstatgrab:= ) + collectd_plugins_interface? ( sys-libs/libstatgrab:= ) + collectd_plugins_load? ( sys-libs/libstatgrab:= ) + collectd_plugins_memory? ( sys-libs/libstatgrab:= ) + collectd_plugins_swap? ( sys-libs/libstatgrab:= ) + collectd_plugins_users? ( sys-libs/libstatgrab:= ) + )" + +# Enforcing !=sys-kernel/linux-headers-4.5 > due to #577846 +DEPEND="${COMMON_DEPEND} + collectd_plugins_iptables? ( || ( <=sys-kernel/linux-headers-4.4 >=sys-kernel/linux-headers-4.6 ) ) + collectd_plugins_java? ( >=virtual/jdk-1.6 ) + virtual/pkgconfig" + +RDEPEND="${COMMON_DEPEND} + collectd_plugins_java? ( >=virtual/jre-1.6 ) + collectd_plugins_syslog? ( virtual/logger ) + selinux? ( sec-policy/selinux-collectd ) + !<sys-apps/openrc-0.18.2" + +REQUIRED_USE=" + collectd_plugins_python? ( ${PYTHON_REQUIRED_USE} ) + collectd_plugins_smart? ( udev )" + +# @FUNCTION: collectd_plugin_kernel_linux +# @DESCRIPTION: +# USAGE: <plugin name> <kernel_options> <severity> +# kernel_options is a list of kernel configurations options; the check tests whether at least +# one of them is enabled. If no, depending on the third argument an elog, ewarn, or eerror message +# is emitted. +collectd_plugin_kernel_linux() { + local multi_opt opt + if has ${1} ${COLLECTD_ALL_PLUGINS}; then + if use collectd_plugins_${1}; then + for opt in ${2}; do + if linux_chkconfig_present ${opt}; then + return 0; + fi + done + multi_opt=${2//\ /\ or\ } + case ${3} in + (info) + elog "The ${1} plugin can use kernel features that are disabled now; enable ${multi_opt} in your kernel" + ;; + (warn) + ewarn "The ${1} plugin uses kernel features that are disabled now; enable ${multi_opt} in your kernel" + ;; + (error) + eerror "The ${1} plugin needs kernel features that are disabled now; enable ${multi_opt} in your kernel" + ;; + (*) + die "function collectd_plugin_kernel_linux called with invalid third argument" + ;; + esac + fi + fi +} + +collectd_linux_kernel_checks() { + if ! linux_chkconfig_present PROC_FS; then + ewarn "/proc file system support is disabled, many plugins will not be able to read any statistics from your system unless you enable PROC_FS in your kernel" + fi + + if ! linux_chkconfig_present SYSFS; then + ewarn "/sys file system support is disabled, many plugins will not be able to read any statistics from your system unless you enable SYSFS in your kernel" + fi + + # battery.c: /proc/pmu/battery_%i + # battery.c: /proc/acpi/battery + collectd_plugin_kernel_linux battery ACPI_BATTERY warn + + # cgroups.c: /sys/fs/cgroup/ + collectd_plugin_kernel_linux cgroups CGROUPS warn + + # cpufreq.c: /sys/devices/system/cpu/cpu%d/cpufreq/ + collectd_plugin_kernel_linux cpufreq SYSFS warn + collectd_plugin_kernel_linux cpufreq CPU_FREQ_STAT warn + + # drbd.c: /proc/drbd + collectd_plugin_kernel_linux drbd BLK_DEV_DRBD warn + + # conntrack.c: /proc/sys/net/netfilter/* + collectd_plugin_kernel_linux conntrack NETFILTER warn + + # fscache.c: /proc/fs/fscache/stats + collectd_plugin_kernel_linux fscache FSCACHE warn + + # nfs.c: /proc/net/rpc/nfs + # nfs.c: /proc/net/rpc/nfsd + collectd_plugin_kernel_linux nfs NFS_COMMON warn + + # serial.c: /proc/tty/driver/serial + # serial.c: /proc/tty/driver/ttyS + collectd_plugin_kernel_linux serial SERIAL_CORE warn + + # swap.c: /proc/meminfo + collectd_plugin_kernel_linux swap SWAP warn + + # thermal.c: /proc/acpi/thermal_zone + # thermal.c: /sys/class/thermal + collectd_plugin_kernel_linux thermal ACPI_THERMAL warn + + # turbostat.c: /dev/cpu/%d/msr + collectd_plugin_kernel_linux turbostat X86_MSR warn + + # vmem.c: /proc/vmstat + collectd_plugin_kernel_linux vmem VM_EVENT_COUNTERS warn + + # vserver.c: /proc/virtual + collectd_plugin_kernel_linux vserver VSERVER warn + + # uuid.c: /sys/hypervisor/uuid + collectd_plugin_kernel_linux uuid SYSFS info + + # wireless.c: /proc/net/wireless + collectd_plugin_kernel_linux wireless "WIRELESS MAC80211 IEEE80211" warn + + # zfs_arc.c: /proc/spl/kstat/zfs/arcstats + collectd_plugin_kernel_linux zfs_arc "SPL ZFS" warn +} + +pkg_setup() { + if use kernel_linux; then + linux-info_pkg_setup + + if linux_config_exists; then + einfo "Checking your linux kernel configuration:" + collectd_linux_kernel_checks + else + elog "Cannot find a linux kernel configuration. Continuing anyway." + fi + fi + + if use collectd_plugins_java; then + java-pkg-opt-2_pkg_setup + fi + + use collectd_plugins_python && python-single-r1_pkg_setup + + enewgroup collectd + enewuser collectd -1 -1 /var/lib/collectd collectd +} + +src_prepare() { + default + + # There's some strange prefix handling in the default config file, resulting in + # paths like "/usr/var/..." + sed -i -e "s:@prefix@/var:/var:g" src/collectd.conf.in || die + + # Adjust upstream's systemd unit + # - Get rid of EnvironmentFile directive; These files don't exist on Gentoo! + # - Add User=collectd to run collectd as user "collectd" per default + sed -i \ + -e '/^EnvironmentFile=.*/d' \ + -e '/^\[Service\]/aUser=collectd' \ + contrib/systemd.${PN}.service || die + + eautoreconf +} + +src_configure() { + # Now come the lists of os-dependent plugins. Any plugin that is not listed anywhere here + # should work independent of the operating system. + + local linux_plugins="barometer battery cpu cpufreq disk + drbd entropy ethstat hugepages interface iptables + ipvs irq ipc load memory md netlink nfs numa processes + serial swap tcpconns thermal turbostat users vmem wireless + zfc_arc" + + local need_libstatgrab=0 + local libstatgrab_plugins="cpu disk interface load memory swap users" + local bsd_plugins="cpu tcpconns ${libstatgrab_plugins} zfc_arc" + + local darwin_plugins="apple_sensors battery cpu disk interface memory processes tcpconns" + + local osdependent_plugins="${linux_plugins} ${bsd_plugins} ${darwin_plugins}" + local myos_plugins="" + if use kernel_linux; then + einfo "Enabling Linux plugins." + myos_plugins=${linux_plugins} + elif use kernel_FreeBSD; then + einfo "Enabling FreeBSD plugins." + myos_plugins=${bsd_plugins} + elif use kernel_Darwin; then + einfo "Enabling Darwin plugins." + myos_plugins=${darwin_plugins} + fi + + local myconf="--disable-werror" + + # Do we debug? + myconf+=" $(use_enable debug)" + + # udev support? + # Required for smart plugin via REQUIRED_USE; Optional for disk plugin + if use udev; then + myconf+=" --with-libudev" + else + myconf+=" --without-libudev" + fi + + local plugin + + # Disable what needs to be disabled. + for plugin in ${COLLECTD_DISABLED_PLUGINS}; do + myconf+=" --disable-${plugin}" + done + + # Set enable/disable for each single plugin. + for plugin in ${COLLECTD_ALL_PLUGINS}; do + if has ${plugin} ${osdependent_plugins}; then + # plugin is os-dependent ... + if has ${plugin} ${myos_plugins}; then + # ... and available in this os + myconf+=" $(use_enable collectd_plugins_${plugin} ${plugin})" + # ... must we link against libstatgrab? Bug #541518 + if use kernel_FreeBSD && has ${plugin} ${libstatgrab_plugins}; then + einfo "We must link against libstatgrab due to plugin \"${plugin}\" ..." + need_libstatgrab=1 + fi + else + # ... and NOT available in this os + if use collectd_plugins_${plugin}; then + ewarn "You try to enable the ${plugin} plugin, but it is not available for this" + ewarn "kernel. Disabling it automatically." + fi + myconf+=" --disable-${plugin}" + fi + elif [[ "${plugin}" = "collectd_plugins_perl" ]]; then + if use collectd_plugins_perl && ! use perl; then + ewarn "Perl plugin disabled as perl bindings disabled by -perl use flag" + myconf+= --disable-perl + else + myconf+=" $(use_enable collectd_plugins_${plugin} ${plugin})" + fi + else + myconf+=" $(use_enable collectd_plugins_${plugin} ${plugin})" + fi + done + + if [ "${need_libstatgrab}" -eq 1 ]; then + myconf+=" --with-libstatgrab" + else + myconf+=" --without-libstatgrab" + fi + + # JAVA_HOME is set by eclasses. + if use collectd_plugins_java; then + myconf+=" --with-java" + fi + + # Need libiptc ONLY for iptables. If we try to use it otherwise bug 340109 happens. + # lots of libs are only needed for plugins, if they are disabled, also disable the lib + use collectd_plugins_iptables || myconf+=" --with-libiptc=no" + use collectd_plugins_openldap || myconf+=" --with-libldap=no" + use collectd_plugins_redis || use collectd_plugins_write_redis || myconf+=" --with-libhiredis=no" + use collectd_plugins_smart || myconf+=" --with-libatasmart=no" + use collectd_plugins_gps || myconf+=" --with-libgps=no" + + if use perl; then + myconf+=" --with-perl-bindings=INSTALLDIRS=vendor" + else + myconf+=" --without-perl-bindings" + fi + + # No need for v5upgrade + myconf+=" --disable-target_v5upgrade" + + # Python + if use collectd_plugins_python; then + myconf+=" --with-libpython=yes" + export PYTHON_CONFIG=$(python_get_PYTHON_CONFIG) + else + myconf+=" --with-libpython=no" + fi + + # XFS support + myconf+=" $(use_enable xfs)" + + # Finally, run econf. + KERNEL_DIR="${KERNEL_DIR}" econf --config-cache \ + $(use_enable static-libs static) \ + --localstatedir=/var ${myconf} +} + +src_install() { + emake DESTDIR="${D%/}" install + + perl_delete_localpod + + find "${ED}"usr/ -name "*.la" -delete || die + + if use collectd_plugins_java; then + java-pkg_regjar "${ED}"usr/share/${PN}/java/*.jar + fi + + fowners root:collectd /etc/collectd.conf + fperms u=rw,g=r,o= /etc/collectd.conf + + dodoc AUTHORS ChangeLog README + + if use contrib ; then + insinto /usr/share/doc/${PF} + doins -r contrib + fi + + keepdir /var/lib/${PN} + fowners collectd:collectd /var/lib/${PN} + + newinitd "${FILESDIR}/${PN}.initd-r2" ${PN} + newconfd "${FILESDIR}/${PN}.confd-r2" ${PN} + systemd_newunit "contrib/systemd.${PN}.service" ${PN}.service + + insinto /etc/logrotate.d + newins "${FILESDIR}/${PN}.logrotate" ${PN} + + newtmpfiles "${FILESDIR}"/${PN}.tmpfile ${PN}.conf + + sed -i -e 's:^.*PIDFile "/var/run/collectd.pid":#PIDFile "/run/collectd.pid":' "${ED}"etc/collectd.conf || die + sed -i -e 's:^# SocketFile "/var/run/collectd-unixsock":# SocketFile "/run/collectd/collectd.socket":' "${ED}"etc/collectd.conf || die + sed -i -e 's:^.*LoadPlugin perl$:# The new, correct way to load the perl plugin -- \n# <LoadPlugin perl>\n# Globals true\n# </LoadPlugin>:' "${ED}"etc/collectd.conf || die + sed -i -e 's:^.*LoadPlugin python$:# The new, correct way to load the python plugin -- \n# <LoadPlugin python>\n# Globals true\n# </LoadPlugin>:' "${ED}"etc/collectd.conf || die +} + +pkg_postinst() { + tmpfiles_process "${PN}.conf" + + if use filecaps; then + local caps=() + use collectd_plugins_ceph && caps+=('CAP_DAC_OVERRIDE') + use collectd_plugins_exec && caps+=('CAP_SETUID' 'CAP_SETGID') + use collectd_plugins_iptables && caps+=('CAP_NET_ADMIN') + use collectd_plugins_filecount && caps+=('CAP_DAC_READ_SEARCH') + + if use collectd_plugins_dns || use collectd_plugins_ping; then + caps+=('CAP_NET_RAW') + fi + + if use collectd_plugins_turbostat || use collectd_plugins_smart; then + caps+=('CAP_SYS_RAWIO') + fi + + if [ ${#caps[@]} -gt 0 ]; then + local caps_str=$(IFS=","; echo "${caps[*]}") + fcaps ${caps_str} usr/sbin/collectd + elog "Capabilities for ${EROOT}usr/sbin/collectd set to:" + elog " ${caps_str}+EP" + elog + + local systemd_unit="$(systemd_get_systemunitdir)/collectd.service" + if [[ -e "${systemd_unit}" ]]; then + caps_str="${caps[*]}" + sed -i -e "s:^CapabilityBoundingSet=.*:CapabilityBoundingSet=${caps_str}:" "${systemd_unit}" || \ + die "Failed to set CapabilityBoundingSet in '${systemd_unit}'" + + elog "CapabilityBoundingSet in '${systemd_unit}'" + elog "updated to match capabilities set above." + elog + else + if has_version "sys-apps/systemd"; then + # Bug 596852 + ewarn "Failed to update CapabilityBoundingSet in '${systemd_unit}'" + ewarn "because unit was not found. Please file a bug about this." + fi + fi + fi + fi + + elog "Note: Collectd is only the collector." + elog " You need to install 'data' sources (applications) locally or" + elog " remotely on your own." + + elog + elog "Collectd is configured to run as unprivileged user by default." + elog "You may want to revisit the configuration." + elog + + if use collectd_plugins_email; then + ewarn "The email plug-in is deprecated. To submit statistics please use the unixsock plugin." + fi + + if use collectd_plugins_smart; then + elog "" + elog "If you are using smart plugin and don't run collectd as root make sure" + elog "that the collectd user is allowed to access the disk you want to monitor" + elog "(can be done via udev rule for example) and that collectd has the required" + elog "capabilities set (which is the default when package was emerged with" + elog "'filecaps' USE flag set)." + fi + + if use contrib; then + elog "The scripts in /usr/share/doc/${PF}/collection3 for generating graphs need dev-perl/HTML-Parser," + elog "dev-perl/config-general, dev-perl/regexp-common, and net-analyzer/rrdtool[perl] to be installed." + fi +} diff --git a/app-metrics/node_exporter/Manifest b/app-metrics/node_exporter/Manifest index a07fd78e91e7..b483422b564b 100644 --- a/app-metrics/node_exporter/Manifest +++ b/app-metrics/node_exporter/Manifest @@ -2,6 +2,8 @@ AUX node_exporter-1.initd 615 BLAKE2B 4d5d30126a1491b4771365b7db31a4849a3eeda3a0 AUX node_exporter.confd 111 BLAKE2B bb40370633c41a4f1283677ed16ad9734c7f180683e4d9d82be36ea5e63d3b8fc2a861a61c62e2e899209f7293588e3e7532ffe52ecb9aab4773a3943168d5dd SHA512 cce5db8eccf2ecfe1198aa8252b04fd6a96006f707e7132c2d01c5400d175551c3b9890c4d57fec9ccbe17594dfb937e1f99ead0e1c3fd8cf22930dabd70418d DIST node_exporter-0.15.2.tar.gz 1327204 BLAKE2B ee694771ed6d736fd4bb6a10f713f31becc930fb8225499d4b3a2a2cc7416c1816605cd8f4205dc37a2264af8d9f85e3519bc01844d252b6a70d4ee5f6308ece SHA512 b39ce0801a5bf5a2a70c4034659d047d70b3763af3f18925b65c2b5f72832e261362aaeb9ce4c68cb7bf52e790d3fc710a6c8550ad7876e89fd9f5a055200a52 DIST node_exporter-0.16.0.tar.gz 1413131 BLAKE2B 7561ae8cc4994c6772816b72d6e3ea98934cb02eee7fab6c08a58ca853e492192defbadf25ea6f992fd044d23826241a4c0fb54c423b59394210803a5fa517e3 SHA512 59a2286024de76e7213e430ba77a366190d626d3b410c8dc960ad2bf68798e8ec3aeb851396673fb402eef15b2596f6835cf0197a53b9a3d1c0f8a1a81965fc7 +DIST node_exporter-0.17.0_rc0.tar.gz 1741645 BLAKE2B 483d5b100fdef9725486c62017491eb33c20df313859d2bc24a2d326324ca65cdd38412689f15d39acc22bd913ddcbd2967408f25ef2dd3ad3d09fd60ea42c3c SHA512 6df9d5e89b6ac14604530e255c68dc160a85299d93ce406137d45c0963391adc2e31260ef67e10cdbdd3299fc26ba65cc0c39999dff876927e08133250bb797e EBUILD node_exporter-0.15.2.ebuild 1225 BLAKE2B 3e5633734ba2be8f83953b4851a17ba76a619aae1490348f4f0fdf83e34a26e07c561a5fce9e41bb6f86aef9cc537f48cea6bba74082821fbd7fe4395aec8e39 SHA512 54286e2c5957524374885335e512bfed3b609e8e2e293fb7e0d842603e1bbc026536a96a6a75ea141baed7a96fbe57f9fcb8067968ae162745c813855b9d7976 EBUILD node_exporter-0.16.0.ebuild 1226 BLAKE2B be97741e0fe9334c14b5c39d7fc6171a4abc963029987fb2f489f31a88bb283507dc7950c1adda41cf6ca473370b9f3ee4d12b29624614903754c1458557d31a SHA512 e826701a4091faa7cdab11ef4092aaae6858eff9af96e1f698e1a224b9710c395b1fd99770d6872138bbd39460c800e41e24a41ca42ab50b26d5c06a2685c7ed +EBUILD node_exporter-0.17.0_rc0.ebuild 1223 BLAKE2B 070bc8c63315608ea78ce9801867a33bae0a4164c5a26c5e75ccf5b20e43c6de8e25b033b8751eb8edbe3de74ae10915da060322331808bab224a585d37950b3 SHA512 15d4c8d0b85095a34a9aa82e02b23a185d76f1e22d0f1fdbf3dc6490647ac4dc05267594c0fe78e856e5ca08960dfd13389f011babcb7869732b1e95ea4b0650 MISC metadata.xml 334 BLAKE2B 4152458bd76dc5a5150cf8ec6e6b967d88b89b85c7145c158d981c92dad663df3259b2ee229298727e862139215e69ac97f9aecf3b66c182a13fc9bf6e651057 SHA512 da17eb8e555adf4d4922ba8e0a549248dc2adf391f4285ce0f6919f194de327d80205c1e09af073eee526b073aba26e5551aa41a83118961d9e6eddd2887b23e diff --git a/app-metrics/node_exporter/node_exporter-0.17.0_rc0.ebuild b/app-metrics/node_exporter/node_exporter-0.17.0_rc0.ebuild new file mode 100644 index 000000000000..ee86f6359021 --- /dev/null +++ b/app-metrics/node_exporter/node_exporter-0.17.0_rc0.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2018 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/node_exporter" +EGIT_COMMIT="v${PV/_rc/-rc.}" +NODE_EXPORTER_COMMIT="d42bd70" +ARCHIVE_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" +KEYWORDS="~amd64" + +DESCRIPTION="Prometheus exporter for machine metrics" +HOMEPAGE="https://github.com/prometheus/node_exporter" +SRC_URI="${ARCHIVE_URI}" +LICENSE="Apache-2.0" +SLOT="0" +IUSE="" + +DEPEND="dev-util/promu" + +pkg_setup() { + enewgroup ${PN} + enewuser ${PN} -1 -1 -1 ${PN} +} + +src_prepare() { + default + sed -i -e "s/{{.Revision}}/${NODE_EXPORTER_COMMIT}/" src/${EGO_PN}/.promu.yml || die +} + +src_compile() { + pushd src/${EGO_PN} || die + mkdir -p bin || die + GOPATH="${S}" promu build -v --prefix node_exporter || die + popd || die +} + +src_install() { + pushd src/${EGO_PN} || die + dobin node_exporter/node_exporter + dodoc {README,CHANGELOG,CONTRIBUTING}.md + popd || die + keepdir /var/lib/node_exporter /var/log/node_exporter + fowners ${PN}:${PN} /var/lib/node_exporter /var/log/node_exporter + newinitd "${FILESDIR}"/${PN}-1.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} +} diff --git a/app-metrics/prometheus/Manifest b/app-metrics/prometheus/Manifest index a1cc37e1d3c4..e73c698076d6 100644 --- a/app-metrics/prometheus/Manifest +++ b/app-metrics/prometheus/Manifest @@ -5,9 +5,11 @@ DIST prometheus-2.3.2.tar.gz 6175804 BLAKE2B 98d7fe58043e5104b6eb181edd13a2aec3c DIST prometheus-2.4.0.tar.gz 6090871 BLAKE2B 553d3292abfc58aba11e14786892b7dfc9ace00b29bba38a964e5b36113a4827759f5229d36693be225aca0962d7577751a8778201929b1f987a000fe31c2544 SHA512 a2fc7d67ac2fd8e17b5c69983daa385fe042e88c8c00ce71c51ae0e66d3cba201bcc7ef52ce34bef9724df002769c6fd9ee44115f397e253859f4c3f77427839 DIST prometheus-2.4.1.tar.gz 6092025 BLAKE2B 4392c3329be255dcc1cd457e13defc6a462f094c47d8032b8389ffee8a384049d58eedf7a8a8724345d01e1d6645cd58d23d1bef078458bdf4fd54bac3c85ae1 SHA512 8d09e87c1af1bde08fc0d95fb51d8b25360d8bcb40c7a4b2f4bfaf79419183a4f90773ced6f53ae9a9bae10eb00af6248acf603cb13f9ce0afb815b2b7e0a8c1 DIST prometheus-2.4.2.tar.gz 6092847 BLAKE2B 0c9f01e7bce6d406ae472a3e4b75720317a8da34715881350459d5fa52531913eecb402fec08f77f8e18b28d870316e631068077cd1118b710b37e515ef19332 SHA512 3b5d3b761ed2db1bc61225d85e2c9b7619a5fefc72b41432f2d7bc707fd0e9d84746e8ab16b30eb978de713548ca2e8c108cc7a9225ab1bd2e39741b98dd1701 +DIST prometheus-2.4.3.tar.gz 6095284 BLAKE2B 9b9d54cf8ed61453d63e4b93cd81cd1c08a732b2238830aa1b83b63076205569b8f947a94d0528b910c0958bc77f98605ab3eaf98a1e93d361ea6b431d5df48c SHA512 c86ce48416d32ca4310315dd7195a6ee471244b7a9323ddc49270c2b885bda38c2922047dc8fd7d9b19c9f62f8bc788d30387d38f956cbf04130d7041f9a479b EBUILD prometheus-2.3.1.ebuild 2022 BLAKE2B f99591f9347de5c0ed88e05939bd81969f51e133ecaae1f8d275560a888e238bb1cae03085935639fcec6992ca67f16a70dfed8d923f1d2128a191921c597cf8 SHA512 6f458e28f7c6f35ad6f184a836220eeb559f966de760bdeb01f16ddeee6fa139838ed504fe07226cca4c5af6ce926fa52e96ea836a3e6f738146c51069320a4a EBUILD prometheus-2.3.2.ebuild 2022 BLAKE2B e35104c0f2c9d2ce49e6256287adf008344f6e75c61e7f97b46563e3e16be1c4d4759b65799fb612bff45619b9abcd4ca009e328a944733c81592329059219b1 SHA512 19b085b959bde4f81218938de7c010f585abb201eea28d3b06479635626ee955e84e094daeed41253a857d7e47db828628aa6742fa5eaa1e17aa126aa4e893a0 EBUILD prometheus-2.4.0.ebuild 2022 BLAKE2B c5cb642b5da16bccdb03d5a2b7a1ec9446b976612981c02b6d99f1afacd299c6ac6e9d4fccc1a21e27d304d1fbce5b36dea690d386aef070fd06fac05ab0fe4e SHA512 4299f58b8aed5a4866167ceca4ed973cd21db0eb75a180c4a3796113367b1d0dfcbb2c00f5f7454fa382a38659a4ac9fadcb3560240cd2ad0a8e4ebcbafceee7 EBUILD prometheus-2.4.1.ebuild 2022 BLAKE2B c0ec56e42c9aaf02f165f467be4fc250ce5d1e193932dfb99eee023cf94debebbd6ed91f1ddac735b9b4ddd1b0fff906a654fbc817743ecd8d5bff23077e3ce3 SHA512 a0c7541b1b59f8f2d8bcc34abd8d5c2598759eb763185d2d91d99ace036bc90c0dce96e07ce89dd2b4027a954688b5586fada529df88d9f8aaa1e2571d1470dd EBUILD prometheus-2.4.2.ebuild 2022 BLAKE2B 69eea2c4dfab150401f9e2f5d5eee0b39302360aca4b50264d638af6aca8cb80f8d6d424c4c23559999c88a693e947ddc92c0ba7267f12de2d31b0a40e0069d6 SHA512 ad39a7549630cec742b8fc5f09afb2552b74ccc8084f8e8213d5c3fda5aecc63bc9e9a9c740226ce721b2cd9e50703fa58573aa9a05d31f88c91f98d52609952 +EBUILD prometheus-2.4.3.ebuild 2019 BLAKE2B f4ee5f995e7fe3b817d93653ed7697597011a857f3c57708985dea1dadea81ba90d5bed56e32a408adebb81aefe5c9d314251363d71abe504e772ee40477f07d SHA512 59c26458ff441e02665336cdc05185602d5049d99043aa602ff1f3e34f8464b4e771999d5c3cd118c87de2a06f7e8ed376df9bb499fbd32056b2d5f9275377cc MISC metadata.xml 331 BLAKE2B 80bf59233349fc1fdc6c102fb65ba146bcde2c5c2a6039ec9b9f50f21a36fb1e8c864cba422e721d01216c792ffcf0429a3a840540305442b5e516ac09c03850 SHA512 06fd0da413c0280a902bbdf50e1e0557375d2208021fda3c3081d8a25a4b17ad1ca647d994dd97ba2d838ea5c87148d3ffd13a8a54cb8dc007b45927df8de47a diff --git a/app-metrics/prometheus/prometheus-2.4.3.ebuild b/app-metrics/prometheus/prometheus-2.4.3.ebuild new file mode 100644 index 000000000000..6ac1c5ea3bc5 --- /dev/null +++ b/app-metrics/prometheus/prometheus-2.4.3.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2018 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=${PV/_rc/-rc.} +EGIT_COMMIT="v${MY_PV}" +PROMETHEUS_COMMIT="167a4b4" +ARCHIVE_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" +KEYWORDS="~amd64" + +DESCRIPTION="Prometheus monitoring system and time series database" +HOMEPAGE="https://github.com/prometheus/prometheus" +SRC_URI="${ARCHIVE_URI}" +LICENSE="Apache-2.0" +SLOT="0" +IUSE="" + +DEPEND=" + >=dev-lang/go-1.10 + dev-util/promu" + +PROMETHEUS_HOME="/var/lib/prometheus" + +RESTRICT="test" + +pkg_setup() { + enewgroup prometheus + enewuser prometheus -1 -1 "${PROMETHEUS_HOME}" prometheus +} + +src_prepare() { + default + sed -i -e "s/{{.Revision}}/${PROMETHEUS_COMMIT}/" src/${EGO_PN}/.promu.yml || die +} + +src_compile() { + pushd src/${EGO_PN} || die + GOPATH="${S}" promu build -v || die + popd || die +} + +src_install() { + pushd src/${EGO_PN} || die + dobin promtool prometheus + dodoc -r {documentation,{README,CHANGELOG,CONTRIBUTING}.md} + insinto /etc/prometheus + doins documentation/examples/prometheus.yml + insinto /usr/share/prometheus + doins -r console_libraries consoles + dosym ../../usr/share/prometheus/console_libraries /etc/prometheus/console_libraries + dosym ../../usr/share/prometheus/consoles /etc/prometheus/consoles + popd || die + + newinitd "${FILESDIR}"/prometheus-3.initd prometheus + newconfd "${FILESDIR}"/prometheus.confd prometheus + keepdir /var/log/prometheus /var/lib/prometheus + fowners prometheus:prometheus /var/log/prometheus /var/lib/prometheus +} + +pkg_postinst() { + if has_version '<net-analyzer/prometheus-2.0.0_rc0'; then + ewarn "Old prometheus 1.x TSDB won't be converted to the new prometheus 2.0 format" + ewarn "Be aware that the old data currently cannot be accessed with prometheus 2.0" + ewarn "This release requires a clean storage directory and is not compatible with" + ewarn "files created by previous beta releases" + fi +} diff --git a/app-metrics/pushgateway/Manifest b/app-metrics/pushgateway/Manifest index 515aab948781..70aafe375d16 100644 --- a/app-metrics/pushgateway/Manifest +++ b/app-metrics/pushgateway/Manifest @@ -8,7 +8,9 @@ AUX pushgateway.service 476 BLAKE2B 1634abf2aebcc5423654bb70855d46917569e687c2b5 DIST pushgateway-0.4.0.tar.gz 1140644 BLAKE2B ea82e2e7f6fd817de02044e5aafde724a4089e4f2961f0b581f90df7e04e65af5a3c3e044ef94bd600a92468a8aed791c838a8fdc64b05b7a91d6288e7e96fb3 SHA512 67f25e5f7fdc54143c5d10720f27bd256f22695ced93088cf2b72fe3197e45324d4353357ae40d7d3e92019480c0bec009e38ed3f583724d46411d76adbdc927 DIST pushgateway-0.5.0.tar.gz 1566969 BLAKE2B 255592d172ba910cd4c031f33045ee92fa02b8ba04c69a844e1a81d0fb4c0425f4a71931c917cb70f90422e25ad8761892cde344acb3fa7465e682ff8671f31b SHA512 d0a96aa8b1a59266a8864ab760ad6fdbdc131c49b08aa3bf89f54ed9c6ced6a4b7ab2f8c70d15dad1605ec7b46c5e784dc77be10f26ebd56a3a0f16f7285d607 DIST pushgateway-0.5.2.tar.gz 1567286 BLAKE2B b62092b349ca8248937795f868e32fbd130df0b23de8b0c81a780102f8df3930db97a86061cf409d658c3e29e8d2eb6e350e18b9101a0bc9a0ba7b77a7fd79fc SHA512 4d6dcbc0199a83fe0469540ec70dbe230cf7c1d3efa66c55679b40e8882736b54af40423c7a2c1ab8693edca839bc67b4cd7125d52f9beab296c55f220e51482 +DIST pushgateway-0.6.0.tar.gz 1768979 BLAKE2B 50c9a6a00a207787795402ca1198849f38d658233918bb4a34f6b0ac9ccef993ce4ff8060ffd20dc9f0d23b861f953d7e3f7785bbf5d88ffc5ed97342a05c530 SHA512 209e5349d0aeb584dcf45c842923b5280d11ce8af2ff2236454182d1a42554a9d1b7d7add363f31203caf081424187f6bac243f43efb916d90803c6e1de4f76a EBUILD pushgateway-0.4.0.ebuild 1301 BLAKE2B 328b451698ceec2cd6f6020cadba897836c66513fcc25169be9e92ca7715e97e52fd245c51e7cb5f58a56967c486294f0164501dfbc9099d1d0144452f379c1a SHA512 81b652f6f3a78a39aa1604a7fa1209fd73595ea318736a735ddb00cd7d35ec48575eb4106c12efbacb3ac095c8280ec96fb9a0decc60631847079dcbf805bcec EBUILD pushgateway-0.5.0.ebuild 1291 BLAKE2B 267e67938461d4b8461822f9986ad1782ebb66e4e01fb623f265d07c9f47b4af7041ff07ba11660596ac6e3452c53eeed941679ab47690979173bf660a7ae822 SHA512 c2d44c055d5aa6f871f05ac459fa88c2f4321c4977ef07073b16ccbc72b5fc1199adaedffd0d5e70d4df05920596066282f8eb91cca4d0fd4f4a17f02b2ef16e EBUILD pushgateway-0.5.2.ebuild 1291 BLAKE2B 2ac140c425dc74dfb9163522c45d827a99a63a03565e4b51228857bbe96bb973ec18ad452ba8790e330ba1c51f3c48e361e20c1d28c99e83f9f8ba6a8e04ca3d SHA512 848ae6f60ab5cf26a9b6eda1619eae7120725581594d069dc3be4fadd0ca1ff1cff6ca2aca84ff8e155cb3b63f1d5daff8c21c79129cc4c631daf92592a801d7 +EBUILD pushgateway-0.6.0.ebuild 1288 BLAKE2B c73e413b0765e51dbf57822de0282ca6d8b2c1c9a72d2d92182f436e2af70415c097f474aacec1105926f4fcbfaf74a430c0da9b26b16999c86952a9c4bba28d SHA512 462e4ba66c24920f8da44d452c1a240d06da2b72778b3b34a529a01c9fb06809a38d77836bc05506d3c4356ceed45ba1835f32b6c281c0a085887299295c6a64 MISC metadata.xml 437 BLAKE2B 904f35ea9287d25e5708e450715f8719004a5349ea871e9730fe36a98257cd0ba2417ec572f0d26a8d5d2de5629bca2d1b81f3e344bb8e4a52653175e8df2f3e SHA512 09284843912bc08aef77485911289fe1050f7d42e726e555650ad73b3ca51bcb62af90ccd69c3529bbdb7373b9ec317e0afd74687b84b123ac4fbbf2a3de9d7f diff --git a/app-metrics/pushgateway/pushgateway-0.6.0.ebuild b/app-metrics/pushgateway/pushgateway-0.6.0.ebuild new file mode 100644 index 000000000000..846402c8f22a --- /dev/null +++ b/app-metrics/pushgateway/pushgateway-0.6.0.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit user golang-build golang-vcs-snapshot systemd + +EGO_PN="github.com/prometheus/pushgateway" +EGIT_COMMIT="v${PV/_rc/-rc.}" +GIT_COMMIT="290ff86" +ARCHIVE_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" +KEYWORDS="~amd64" + +DESCRIPTION="Prometheus push acceptor for ephemeral and batch jobs" +HOMEPAGE="https://github.com/prometheus/pushgateway" +SRC_URI="${ARCHIVE_URI}" +LICENSE="Apache-2.0" +SLOT="0" +IUSE="" + +DEPEND="dev-util/promu" + +pkg_setup() { + enewgroup ${PN} + enewuser ${PN} -1 -1 -1 ${PN} +} + +src_prepare() { + default + sed -i -e "s/{{.Revision}}/${GIT_COMMIT}/" src/${EGO_PN}/.promu.yml || die +} + +src_compile() { + pushd src/${EGO_PN} || die + mkdir -p bin || die + GOPATH="${S}" promu build -v --prefix bin || die + popd || die +} + +src_install() { + pushd src/${EGO_PN} || die + dobin bin/pushgateway + dodoc {README,CHANGELOG,CONTRIBUTING}.md + popd || die + keepdir /var/lib/${PN} /var/log/${PN} + fowners ${PN}:${PN} /var/lib/${PN} /var/log/${PN} + newinitd "${FILESDIR}"/${PN}-1.initd ${PN} + newconfd "${FILESDIR}"/${PN}-1.confd ${PN} + insinto /etc/logrotate.d + newins "${FILESDIR}/${PN}.logrotated" "${PN}" + systemd_dounit "${FILESDIR}/${PN}-1.service" +} |