Gentoo Archives: gentoo-commits

From: "Andreas HAttel (dilfridge)" <dilfridge@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in app-admin/collectd: metadata.xml ChangeLog collectd-5.0.2.ebuild
Date: Tue, 07 Feb 2012 20:12:13
Message-Id: 20120207201203.125A62004B@flycatcher.gentoo.org
1 dilfridge 12/02/07 20:12:03
2
3 Modified: metadata.xml ChangeLog
4 Added: collectd-5.0.2.ebuild
5 Log:
6 Version bump, thanks Johan
7
8 (Portage version: 2.1.10.44/cvs/Linux x86_64)
9
10 Revision Changes Path
11 1.12 app-admin/collectd/metadata.xml
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-admin/collectd/metadata.xml?rev=1.12&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-admin/collectd/metadata.xml?rev=1.12&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-admin/collectd/metadata.xml?r1=1.11&r2=1.12
16
17 Index: metadata.xml
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/app-admin/collectd/metadata.xml,v
20 retrieving revision 1.11
21 retrieving revision 1.12
22 diff -u -r1.11 -r1.12
23 --- metadata.xml 18 Oct 2011 15:21:12 -0000 1.11
24 +++ metadata.xml 7 Feb 2012 20:12:02 -0000 1.12
25 @@ -77,6 +77,7 @@
26 <flag name='collectd_plugins_python'>Build the python language binding plugin (embeds a Python interpreter into collectd for writing plugins)</flag>
27 <flag name='collectd_plugins_rrdcached'>Build the rrdcached input/output plugin (connects to rrdcached and submits updates for RRD files)</flag>
28 <flag name='collectd_plugins_rrdtool'>Build the rrdtool output plugin (writes values to RRD-files)</flag>
29 + <flag name='collectd_plugins_routeros'>Build the routeros input plugin (collect information on devices running RouterOS)</flag>
30 <flag name='collectd_plugins_sensors'>Build the sensors input plugin (uses lm-sensors to read hardware sensors)</flag>
31 <flag name='collectd_plugins_serial'>Build the serial input plugin (collects the traffic on serial interfaces)</flag>
32 <flag name='collectd_plugins_snmp'>Build the snmp input plugin (read values from network devices using SNMP)</flag>
33
34
35
36 1.31 app-admin/collectd/ChangeLog
37
38 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-admin/collectd/ChangeLog?rev=1.31&view=markup
39 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-admin/collectd/ChangeLog?rev=1.31&content-type=text/plain
40 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-admin/collectd/ChangeLog?r1=1.30&r2=1.31
41
42 Index: ChangeLog
43 ===================================================================
44 RCS file: /var/cvsroot/gentoo-x86/app-admin/collectd/ChangeLog,v
45 retrieving revision 1.30
46 retrieving revision 1.31
47 diff -u -r1.30 -r1.31
48 --- ChangeLog 22 Oct 2011 17:35:40 -0000 1.30
49 +++ ChangeLog 7 Feb 2012 20:12:02 -0000 1.31
50 @@ -1,6 +1,13 @@
51 # ChangeLog for app-admin/collectd
52 -# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
53 -# $Header: /var/cvsroot/gentoo-x86/app-admin/collectd/ChangeLog,v 1.30 2011/10/22 17:35:40 dilfridge Exp $
54 +# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
55 +# $Header: /var/cvsroot/gentoo-x86/app-admin/collectd/ChangeLog,v 1.31 2012/02/07 20:12:02 dilfridge Exp $
56 +
57 +*collectd-5.0.2 (07 Feb 2012)
58 +
59 + 07 Feb 2012; Andreas K. Huettel <dilfridge@g.o>
60 + +collectd-5.0.2.ebuild, +files/collectd-5.0.2-irq.patch,
61 + files/collectd.initd:
62 + Version bump, thanks Johan
63
64 *collectd-5.0.1 (22 Oct 2011)
65
66
67
68
69 1.1 app-admin/collectd/collectd-5.0.2.ebuild
70
71 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-admin/collectd/collectd-5.0.2.ebuild?rev=1.1&view=markup
72 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-admin/collectd/collectd-5.0.2.ebuild?rev=1.1&content-type=text/plain
73
74 Index: collectd-5.0.2.ebuild
75 ===================================================================
76 # Copyright 1999-2012 Gentoo Foundation
77 # Distributed under the terms of the GNU General Public License v2
78 # $Header: /var/cvsroot/gentoo-x86/app-admin/collectd/collectd-5.0.2.ebuild,v 1.1 2012/02/07 20:12:02 dilfridge Exp $
79
80 EAPI=4
81
82 inherit eutils base linux-info perl-app autotools
83
84 DESCRIPTION="A small daemon which collects system performance statistics - with a near-infinite number of plugins"
85 HOMEPAGE="http://collectd.org"
86 SRC_URI="${HOMEPAGE}/files/${P}.tar.bz2"
87
88 LICENSE="GPL-2"
89 SLOT="0"
90 KEYWORDS="~amd64 ~x86"
91 IUSE="contrib debug kernel_linux kernel_FreeBSD kernel_Darwin perl static-libs"
92
93 # The plugin lists have to follow here since they extend IUSE
94
95 # Plugins that to my knowledge cannot be supported (eg. dependencies not in gentoo)
96 COLLECTD_IMPOSSIBLE_PLUGINS="netapp pinba xmms"
97
98 # Plugins that still need some work
99 COLLECTD_UNTESTED_PLUGINS="ipvs apple_sensors tape zfs_arc modbus amqp genericjmx lpar redis threshold write_redis v5upgrade"
100
101 # Plugins that have been (compile) tested and can be enabled via COLLECTD_PLUGINS
102 COLLECTD_TESTED_PLUGINS="apache apcups ascent battery bind conntrack contextswitch
103 cpu cpufreq curl curl_json curl_xml dbi df disk dns email entropy exec filecount fscache gmond
104 hddtemp interface ipmi iptables irq java libvirt load madwifi mbmon memcachec
105 memcached memory multimeter mysql netlink network nfs nginx ntpd nut olsrd
106 onewire openvpn perl ping postgresql powerdns processes protocols python
107 rrdcached sensors serial snmp swap table tail tcpconns teamspeak2 ted thermal
108 tokyotyrant uptime users varnish vmem vserver wireless csv exec logfile network
109 notify_desktop notify_email oracle perl python routeros rrdcached rrdtool syslog unixsock
110 write_http match_empty_counter match_hashed match_regex match_timediff match_value
111 target_notification target_replace target_scale target_set uuid"
112
113 COLLECTD_DISABLED_PLUGINS="${COLLECTD_IMPOSSIBLE_PLUGINS} ${COLLECTD_UNTESTED_PLUGINS}"
114
115 COLLECTD_ALL_PLUGINS=${COLLECTD_TESTED_PLUGINS}
116
117 for plugin in ${COLLECTD_ALL_PLUGINS}; do
118 IUSE="${IUSE} collectd_plugins_${plugin}"
119 done
120 unset plugin
121
122 # Now come the dependencies.
123
124 COMMON_DEPEND="
125 dev-libs/libgcrypt
126 sys-devel/libtool
127 perl? ( dev-lang/perl[ithreads] ( || ( sys-devel/libperl[ithreads] >=sys-devel/libperl-5.10 ) ) )
128 collectd_plugins_apache? ( net-misc/curl )
129 collectd_plugins_ascent? ( net-misc/curl dev-libs/libxml2 )
130 collectd_plugins_bind? ( dev-libs/libxml2 )
131 collectd_plugins_curl? ( net-misc/curl )
132 collectd_plugins_curl_json? ( net-misc/curl dev-libs/yajl )
133 collectd_plugins_curl_xml? ( net-misc/curl dev-libs/libxml2 )
134 collectd_plugins_dbi? ( dev-db/libdbi )
135 collectd_plugins_dns? ( net-libs/libpcap )
136 collectd_plugins_gmond? ( sys-cluster/ganglia )
137 collectd_plugins_ipmi? ( >=sys-libs/openipmi-2.0.16-r1 )
138 collectd_plugins_iptables? ( >=net-firewall/iptables-1.4.9.1-r2 )
139 collectd_plugins_java? ( virtual/jre dev-java/java-config-wrapper )
140 collectd_plugins_libvirt? ( app-emulation/libvirt dev-libs/libxml2 )
141 collectd_plugins_memcachec? ( dev-libs/libmemcached )
142 collectd_plugins_mysql? ( >=virtual/mysql-5.0 )
143 collectd_plugins_netlink? ( >=sys-apps/iproute2-2.6.34 )
144 collectd_plugins_nginx? ( net-misc/curl )
145 collectd_plugins_notify_desktop? ( x11-libs/libnotify )
146 collectd_plugins_notify_email? ( >=net-libs/libesmtp-1.0.4 dev-libs/openssl )
147 collectd_plugins_nut? ( sys-power/nut )
148 collectd_plugins_onewire? ( sys-fs/owfs )
149 collectd_plugins_oracle? ( >=dev-db/oracle-instantclient-basic-11.2.0.1.0 )
150 collectd_plugins_perl? ( dev-lang/perl[ithreads] ( || ( sys-devel/libperl[ithreads] >=sys-devel/libperl-5.10 ) ) )
151 collectd_plugins_ping? ( net-libs/liboping )
152 collectd_plugins_postgresql? ( >=dev-db/postgresql-base-8.2 )
153 collectd_plugins_python? ( =dev-lang/python-2* )
154 collectd_plugins_routeros? ( net-libs/librouteros )
155 collectd_plugins_rrdcached? ( >=net-analyzer/rrdtool-1.4 )
156 collectd_plugins_rrdtool? ( >=net-analyzer/rrdtool-1.2.27 )
157 collectd_plugins_sensors? ( sys-apps/lm_sensors )
158 collectd_plugins_snmp? ( net-analyzer/net-snmp )
159 collectd_plugins_tokyotyrant? ( net-misc/tokyotyrant )
160 collectd_plugins_varnish? ( www-servers/varnish )
161 collectd_plugins_write_http? ( net-misc/curl )
162
163 kernel_FreeBSD? (
164 collectd_plugins_disk? ( >=sys-libs/libstatgrab-0.16 )
165 collectd_plugins_interface? ( >=sys-libs/libstatgrab-0.16 )
166 collectd_plugins_load? ( >=sys-libs/libstatgrab-0.16 )
167 collectd_plugins_memory? ( >=sys-libs/libstatgrab-0.16 )
168 collectd_plugins_swap? ( >=sys-libs/libstatgrab-0.16 )
169 collectd_plugins_users? ( >=sys-libs/libstatgrab-0.16 )
170 )"
171
172 DEPEND="${COMMON_DEPEND}
173 dev-util/pkgconfig
174 kernel_linux? (
175 collectd_plugins_vserver? ( sys-kernel/vserver-sources )
176 )"
177
178 RDEPEND="${COMMON_DEPEND}
179 collectd_plugins_syslog? ( virtual/logger )"
180
181 PATCHES=(
182 "${FILESDIR}/${PN}-4.10.1"-{libperl,libiptc,noowniptc}.patch
183 "${FILESDIR}/${PN}-4.10.2"-{libocci,nohal}.patch
184 "${FILESDIR}/${PN}-4.10.3"-{lt,werror}.patch
185 "${FILESDIR}/${PN}-5.0.1"-varnish.patch
186 "${FILESDIR}/${PN}-5.0.2"-irq.patch
187 )
188
189 # @FUNCTION: collectd_plugin_kernel_linux
190 # @DESCRIPTION:
191 # USAGE: <plug-in name> <kernel_options> <severity>
192 # kernel_options is a list of kernel configurations options; the check tests whether at least
193 # one of them is enabled. If no, depending on the third argument an elog, ewarn, or eerror message
194 # is emitted.
195 collectd_plugin_kernel_linux() {
196 local multi_opt opt
197 if has ${1} ${COLLECTD_ALL_PLUGINS}; then
198 if use collectd_plugins_${1}; then
199 for opt in ${2}; do
200 if linux_chkconfig_present ${opt}; then return 0; fi
201 done
202 multi_opt=${2//\ /\ or\ }
203 case ${3} in
204 (info)
205 elog "The ${1} plug-in can use kernel features that are disabled now; enable ${multi_opt} in your kernel"
206 ;;
207 (warn)
208 ewarn "The ${1} plug-in uses kernel features that are disabled now; enable ${multi_opt} in your kernel"
209 ;;
210 (error)
211 eerror "The ${1} plug-in needs kernel features that are disabled now; enable ${multi_opt} in your kernel"
212 ;;
213 (*)
214 die "function collectd_plugin_kernel_linux called with invalid third argument"
215 ;;
216 esac
217 fi
218 fi
219 }
220
221 collectd_linux_kernel_checks() {
222 linux-info_pkg_setup
223
224 # battery.c:/proc/pmu/battery_%i
225 # battery.c:/proc/acpi/battery
226 collectd_plugin_kernel_linux battery ACPI_BATTERY warn
227
228 # cpufreq.c:/sys/devices/system/cpu/cpu%d/cpufreq/
229 collectd_plugin_kernel_linux cpufreq SYSFS warn
230 collectd_plugin_kernel_linux cpufreq CPU_FREQ_STAT warn
231
232 # nfs.c:/proc/net/rpc/nfs
233 # nfs.c:/proc/net/rpc/nfsd
234 collectd_plugin_kernel_linux nfs NFS_COMMON warn
235
236 # serial.c:/proc/tty/driver/serial
237 # serial.c:/proc/tty/driver/ttyS
238 collectd_plugin_kernel_linux serial SERIAL_CORE warn
239
240 # swap.c:/proc/meminfo
241 collectd_plugin_kernel_linux swap SWAP warn
242
243 # thermal.c:/proc/acpi/thermal_zone
244 # thermal.c:/sys/class/thermal
245 collectd_plugin_kernel_linux thermal "PROC_FS SYSFS" warn
246 collectd_plugin_kernel_linux thermal ACPI_THERMAL warn
247
248 # vmem.c:/proc/vmstat
249 collectd_plugin_kernel_linux vmem VM_EVENT_COUNTERS warn
250
251 # uuid.c:/sys/hypervisor/uuid
252 collectd_plugin_kernel_linux uuid SYSFS info
253
254 # wireless.c:/proc/net/wireless
255 collectd_plugin_kernel_linux wireless "MAC80211 IEEE80211" warn
256 }
257
258 pkg_setup() {
259 if use kernel_linux; then
260 if linux_config_exists; then
261 einfo "Checking your linux kernel configuration:"
262 collectd_linux_kernel_checks
263 else
264 elog "Cannot find a linux kernel configuration. Continuing anyway."
265 fi
266 fi
267
268 enewgroup collectd
269 enewuser collectd -1 -1 /var/lib/collectd collectd
270 }
271
272 src_prepare() {
273 base_src_prepare
274
275 # There's some strange prefix handling in the default config file, resulting in
276 # paths like "/usr/var/..."
277 sed -i -e "s:@prefix@/var:/var:g" src/collectd.conf.in || die
278
279 rm -r libltdl || die
280
281 eautoreconf
282 }
283
284 src_configure() {
285 # Now come the lists of os-dependent plugins. Any plugin that is not listed anywhere here
286 # should work independent of the operating system.
287
288 local linux_plugins="battery cpu cpufreq disk entropy interface iptables ipvs irq load
289 memory netlink nfs processes serial swap tcpconns thermal users vmem vserver
290 wireless"
291
292 local libstatgrab_plugins="cpu disk interface load memory swap users"
293 local bsd_plugins="cpu tcpconns ${libstatgrab_plugins}"
294
295 local darwin_plugins="apple_sensors battery cpu disk interface memory processes tcpconns"
296
297 local osdependent_plugins="${linux_plugins} ${bsd_plugins} ${darwin_plugins}"
298 local myos_plugins=""
299 if use kernel_linux; then
300 einfo "Enabling Linux plugins."
301 myos_plugins=${linux_plugins}
302 elif use kernel_FreeBSD; then
303 einfo "Enabling FreeBSD plugins."
304 myos_plugins=${bsd_plugins}
305 elif use kernel_Darwin; then
306 einfo "Enabling Darwin plugins."
307 myos_plugins=${darwin_plugins}
308 fi
309
310 # Do we debug?
311 local myconf="$(use_enable debug)"
312
313 local plugin
314
315 # Disable what needs to be disabled.
316 for plugin in ${COLLECTD_DISABLED_PLUGINS}; do
317 myconf+=" --disable-${plugin}"
318 done
319
320 # Set enable/disable for each single plugin.
321 for plugin in ${COLLECTD_ALL_PLUGINS}; do
322 if has ${plugin} ${osdependent_plugins}; then
323 # plugin is os-dependent ...
324 if has ${plugin} ${myos_plugins}; then
325 # ... and available in this os
326 myconf+=" $(use_enable collectd_plugins_${plugin} ${plugin})"
327 else
328 # ... and NOT available in this os
329 if use collectd_plugins_${plugin}; then
330 ewarn "You try to enable the ${plugin} plugin, but it is not available for this"
331 ewarn "kernel. Disabling it automatically."
332 fi
333 myconf+=" --disable-${plugin}"
334 fi
335 elif [[ "${plugin}" = "collectd_plugins_perl" ]]; then
336 if use collectd_plugins_perl && ! use perl; then
337 ewarn "Perl plugin disabled as perl bindings disabled by -perl use flag"
338 myconf+= --disable-perl
339 else
340 myconf+=" $(use_enable collectd_plugins_${plugin} ${plugin})"
341 fi
342 else
343 myconf+=" $(use_enable collectd_plugins_${plugin} ${plugin})"
344 fi
345 done
346
347 # Need JAVA_HOME for java.
348 if use collectd_plugins_java; then
349 myconf+=" --with-java=$(java-config -g JAVA_HOME)"
350 fi
351
352 # Need libiptc ONLY for iptables. If we try to use it otherwise bug 340109 happens.
353 if ! use collectd_plugins_iptables; then
354 myconf+=" --with-libiptc=no"
355 fi
356
357 # The perl bindings
358 myconf+=" $(use_with perl perl-bindings)"
359
360 # Finally, run econf.
361 KERNEL_DIR="${KERNEL_DIR}" econf --config-cache --without-included-ltdl $(use_enable static-libs static) --localstatedir=/var ${myconf}
362 }
363
364 src_install() {
365 emake DESTDIR="${D}" install || die
366
367 fixlocalpod
368
369 find "${D}/usr/" -name "*.la" -exec rm -f {} +
370 rm "${D}/usr/$(get_libdir)"/collectd/*.a
371
372 # use collectd_plugins_ping && setcap cap_net_raw+ep ${D}/usr/sbin/collectd
373 # we cannot do this yet
374
375 fowners root:collectd /etc/collectd.conf
376 fperms u=rw,g=r,o= /etc/collectd.conf
377
378 dodoc AUTHORS ChangeLog NEWS README TODO
379
380 if use contrib ; then
381 insinto /usr/share/doc/${PF}
382 doins -r contrib
383 fi
384
385 keepdir /var/lib/${PN}
386 fowners collectd:collectd /var/lib/${PN}
387
388 newinitd "${FILESDIR}/${PN}.initd" ${PN}
389 newconfd "${FILESDIR}/${PN}.confd" ${PN}
390
391 insinto /etc/logrotate.d
392 newins "${FILESDIR}/logrotate" collectd
393
394 sed -i -e 's:^.*PIDFile "/var/run/collectd.pid":PIDFile "/var/run/collectd/collectd.pid":' "${D}"/etc/collectd.conf || die
395 sed -i -e 's:^# SocketFile "/var/run/collectd-unixsock":# SocketFile "/var/run/collectd/collectd-unixsock":' "${D}"/etc/collectd.conf || die
396 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
397 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
398 }
399
400 collectd_rdeps() {
401 if (use collectd_plugins_${1} && ! has_version "${2}"); then
402 elog "The ${1} plug-in needs ${2} to be installed locally or remotely to work."
403 fi
404 }
405
406 pkg_postinst() {
407 collectd_rdeps apcups sys-power/apcupsd
408 collectd_rdeps hddtemp app-admin/hddtemp
409 collectd_rdeps mbmon sys-apps/xmbmon
410 collectd_rdeps memcached ">=net-misc/memcached-1.2.2-r2"
411 collectd_rdeps ntpd net-misc/ntp
412 collectd_rdeps openvpn ">=net-misc/openvpn-2.0.9"
413
414 echo
415 elog "collectd is now started as unprivileged user by default."
416 elog "You may want to recheck the configuration."
417 elog
418
419 if use collectd_plugins_email; then
420 ewarn "The email plug-in is deprecated. To submit statistics please use the unixsock plugin."
421 fi
422 if use contrib; then
423 elog "The scripts in /usr/share/doc/${PF}/collection3 for generating graphs need dev-perl/HTML-Parser,"
424 elog "dev-perl/config-general, dev-perl/regexp-common, and net-analyzer/rrdtool[perl] to be installed."
425 fi
426
427 if [[ ${REPLACING_VERSIONS} < 5 ]]; then
428 ewarn "Version 5 of collectd uses a database format different from version 4. You will"
429 ewarn "have to migrate your database after the upgrade, following the guide at"
430 ewarn " http://www.collectd.org/wiki/index.php/V4_to_v5_migration_guide"
431 fi
432 }