Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 340900 Details for
Bug 454594
app-admin/collectd-5.2.1 version bump
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
collectd-5.2.1.ebuild
collectd-5.2.1.ebuild (text/plain), 12.67 KB, created by
Johan Bergström
on 2013-03-04 01:26:27 UTC
(
hide
)
Description:
collectd-5.2.1.ebuild
Filename:
MIME Type:
Creator:
Johan Bergström
Created:
2013-03-04 01:26:27 UTC
Size:
12.67 KB
patch
obsolete
># Copyright 1999-2013 Gentoo Foundation ># Distributed under the terms of the GNU General Public License v2 ># $Header: $ > >EAPI="4" > >inherit autotools base eutils linux-info multilib perl-app systemd user > >DESCRIPTION="A a daemon which collects system statistic and provides mechanisms to store the values" > >HOMEPAGE="http://collectd.org" >SRC_URI="${HOMEPAGE}/files/${P}.tar.bz2" > >LICENSE="GPL-2" >SLOT="0" >KEYWORDS="~amd64 ~x86" >IUSE="contrib debug kernel_linux kernel_FreeBSD kernel_Darwin perl static-libs" > ># The plugin lists have to follow here since they extend IUSE > ># Plugins that to my knowledge cannot be supported (eg. dependencies not in gentoo) >COLLECTD_IMPOSSIBLE_PLUGINS="netapp pinba xmms" > ># Plugins that still need some work >COLLECTD_UNTESTED_PLUGINS="amqp apple_sensors genericjmx ipvs lpar modbus redis > tape v5upgrade write_redis zfs_arc" > ># Plugins that have been (compile) tested and can be enabled via COLLECTD_PLUGINS >COLLECTD_TESTED_PLUGINS="aggregation apache apcups ascent battery bind conntrack > contextswitch cpu cpufreq csv curl curl_json curl_xml dbi df disk dns email > entropy ethstat exec filecount fscache gmond hddtemp interface ipmi iptables > irq java libvirt load logfile madwifi match_empty_counter match_hashed > match_regex match_timediff match_value mbmon md memcachec memcached memory > multimeter mysql netlink network network nfs nginx notify_desktop notify_email > ntpd numa nut olsrd onewire openvpn oracle perl perl ping postgresql powerdns > processes protocols python python routeros rrdcached rrdcached rrdtool sensors > serial snmp swap syslog table tail target_notification target_replace > target_scale target_set tcpconns teamspeak2 ted thermal threshold tokyotyrant > unixsock uptime users uuid varnish vmem vserver wireless write_graphite > write_http write_mongodb" > >COLLECTD_DISABLED_PLUGINS="${COLLECTD_IMPOSSIBLE_PLUGINS} ${COLLECTD_UNTESTED_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 > sys-devel/libtool > perl? ( dev-lang/perl[ithreads] ( || ( sys-devel/libperl[ithreads] >=sys-devel/libperl-5.10 ) ) ) > collectd_plugins_apache? ( net-misc/curl ) > collectd_plugins_ascent? ( net-misc/curl dev-libs/libxml2 ) > collectd_plugins_bind? ( dev-libs/libxml2 ) > collectd_plugins_curl? ( net-misc/curl ) > collectd_plugins_curl_json? ( net-misc/curl dev-libs/yajl ) > collectd_plugins_curl_xml? ( net-misc/curl dev-libs/libxml2 ) > collectd_plugins_dbi? ( dev-db/libdbi ) > collectd_plugins_dns? ( net-libs/libpcap ) > collectd_plugins_gmond? ( sys-cluster/ganglia ) > collectd_plugins_ipmi? ( >=sys-libs/openipmi-2.0.16-r1 ) > collectd_plugins_iptables? ( >=net-firewall/iptables-1.4.13 ) > collectd_plugins_java? ( virtual/jre dev-java/java-config-wrapper ) > collectd_plugins_libvirt? ( app-emulation/libvirt dev-libs/libxml2 ) > collectd_plugins_memcachec? ( dev-libs/libmemcached ) > collectd_plugins_mysql? ( >=virtual/mysql-5.0 ) > collectd_plugins_netlink? ( >=sys-apps/iproute2-3.3.0 ) > collectd_plugins_nginx? ( net-misc/curl ) > collectd_plugins_notify_desktop? ( x11-libs/libnotify ) > collectd_plugins_notify_email? ( >=net-libs/libesmtp-1.0.4 dev-libs/openssl ) > collectd_plugins_nut? ( sys-power/nut ) > collectd_plugins_onewire? ( sys-fs/owfs ) > collectd_plugins_oracle? ( >=dev-db/oracle-instantclient-basic-11.2.0.1.0 ) > collectd_plugins_perl? ( dev-lang/perl[ithreads] ( || ( sys-devel/libperl[ithreads] >=sys-devel/libperl-5.10 ) ) ) > collectd_plugins_ping? ( net-libs/liboping ) > collectd_plugins_postgresql? ( >=dev-db/postgresql-base-8.2 ) > collectd_plugins_python? ( =dev-lang/python-2* ) > collectd_plugins_routeros? ( net-libs/librouteros ) > collectd_plugins_rrdcached? ( >=net-analyzer/rrdtool-1.4 ) > collectd_plugins_rrdtool? ( >=net-analyzer/rrdtool-1.2.27 ) > collectd_plugins_sensors? ( sys-apps/lm_sensors ) > collectd_plugins_snmp? ( net-analyzer/net-snmp ) > collectd_plugins_tokyotyrant? ( net-misc/tokyotyrant ) > collectd_plugins_varnish? ( www-servers/varnish ) > collectd_plugins_write_http? ( net-misc/curl ) > collectd_plugins_write_mongodb? ( dev-libs/mongo-c-driver ) > > kernel_FreeBSD? ( > collectd_plugins_disk? ( >=sys-libs/libstatgrab-0.16 ) > collectd_plugins_interface? ( >=sys-libs/libstatgrab-0.16 ) > collectd_plugins_load? ( >=sys-libs/libstatgrab-0.16 ) > collectd_plugins_memory? ( >=sys-libs/libstatgrab-0.16 ) > collectd_plugins_swap? ( >=sys-libs/libstatgrab-0.16 ) > collectd_plugins_users? ( >=sys-libs/libstatgrab-0.16 ) > )" > >DEPEND="${COMMON_DEPEND} > virtual/pkgconfig > kernel_linux? ( > collectd_plugins_vserver? ( sys-kernel/vserver-sources ) > )" > >RDEPEND="${COMMON_DEPEND} > collectd_plugins_syslog? ( virtual/logger )" > >PATCHES=( > "${FILESDIR}/${PN}-4.10.2"-{libocci,nohal}.patch > "${FILESDIR}/${PN}-4.10.3"-werror.patch > "${FILESDIR}/${PN}-5.1.0"-libperl.patch > "${FILESDIR}/${PN}-5.1.1"-lt.patch >) > ># @FUNCTION: collectd_plugin_kernel_linux ># @DESCRIPTION: ># USAGE: <plug-in 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} plug-in can use kernel features that are disabled now; enable ${multi_opt} in your kernel" > ;; > (warn) > ewarn "The ${1} plug-in uses kernel features that are disabled now; enable ${multi_opt} in your kernel" > ;; > (error) > eerror "The ${1} plug-in 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() { > linux-info_pkg_setup > > # battery.c:/proc/pmu/battery_%i > # battery.c:/proc/acpi/battery > collectd_plugin_kernel_linux battery ACPI_BATTERY 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 > > # 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 "PROC_FS SYSFS" warn > collectd_plugin_kernel_linux thermal ACPI_THERMAL warn > > # vmem.c:/proc/vmstat > collectd_plugin_kernel_linux vmem VM_EVENT_COUNTERS warn > > # uuid.c:/sys/hypervisor/uuid > collectd_plugin_kernel_linux uuid SYSFS info > > # wireless.c:/proc/net/wireless > collectd_plugin_kernel_linux wireless "MAC80211 IEEE80211" warn >} > >pkg_setup() { > if use kernel_linux; then > 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 > > enewgroup collectd > enewuser collectd -1 -1 /var/lib/collectd collectd >} > >src_prepare() { > base_src_prepare > > # 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 > > sed -i -e "s:/etc/collectd/collectd.conf:/etc/collectd.conf:g" contrib/collectd.service || die > > # fix installdirs for perl, bug 444360 > sed -i -e 's/INSTALL_BASE=$(DESTDIR)$(prefix) //' bindings/Makefile.am || die > > rm -r libltdl || 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="battery cpu cpufreq disk entropy ethstat interface iptables ipvs irq load > memory md netlink nfs numa processes serial swap tcpconns thermal users vmem vserver > wireless" > > local libstatgrab_plugins="cpu disk interface load memory swap users" > local bsd_plugins="cpu tcpconns ${libstatgrab_plugins}" > > 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 > > # Do we debug? > local myconf="$(use_enable debug)" > > 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})" > 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 > > # Need JAVA_HOME for java. > if use collectd_plugins_java; then > myconf+=" --with-java=$(java-config -g JAVA_HOME)" > fi > > # Need libiptc ONLY for iptables. If we try to use it otherwise bug 340109 happens. > if ! use collectd_plugins_iptables; then > myconf+=" --with-libiptc=no" > fi > > # The perl bindings > myconf+=" $(use_with perl perl-bindings=INSTALLDIRS=vendor)" > > # Finally, run econf. > KERNEL_DIR="${KERNEL_DIR}" econf --config-cache --without-included-ltdl $(use_enable static-libs static) --localstatedir=/var ${myconf} >} > >src_install() { > emake DESTDIR="${D}" install || die > > fixlocalpod > > find "${D}/usr/" -name "*.la" -exec rm -f {} + > > # use collectd_plugins_ping && setcap cap_net_raw+ep ${D}/usr/sbin/collectd > # we cannot do this yet > > fowners root:collectd /etc/collectd.conf > fperms u=rw,g=r,o= /etc/collectd.conf > > dodoc AUTHORS ChangeLog NEWS README TODO > > 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" ${PN} > newconfd "${FILESDIR}/${PN}.confd" ${PN} > systemd_dounit "contrib/${PN}.service" > > insinto /etc/logrotate.d > newins "${FILESDIR}/logrotate" collectd > > sed -i -e 's:^.*PIDFile "/var/run/collectd.pid":PIDFile "/var/run/collectd/collectd.pid":' "${D}"/etc/collectd.conf || die > sed -i -e 's:^# SocketFile "/var/run/collectd-unixsock":# SocketFile "/var/run/collectd/collectd-unixsock":' "${D}"/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>:' "${D}"/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>:' "${D}"/etc/collectd.conf || die >} > >collectd_rdeps() { > if (use collectd_plugins_${1} && ! has_version "${2}"); then > elog "The ${1} plug-in needs ${2} to be installed locally or remotely to work." > fi >} > >pkg_postinst() { > collectd_rdeps apcups sys-power/apcupsd > collectd_rdeps hddtemp app-admin/hddtemp > collectd_rdeps mbmon sys-apps/xmbmon > collectd_rdeps memcached ">=net-misc/memcached-1.2.2-r2" > collectd_rdeps ntpd net-misc/ntp > collectd_rdeps openvpn ">=net-misc/openvpn-2.0.9" > collectd_rdeps write_mongodb "dev-db/mongodb" > > echo > elog "collectd is now started as unprivileged user by default." > elog "You may want to recheck 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 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 >}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 454594
: 340900 |
341090