comparison app-admin/collectd/collectd-4.4.1.ebuild @ 43:365d3f380d8d

pulled in changes from Holgi
author Dirk Olmes <dirk@xanthippe.ping.de>
date Fri, 20 Jun 2008 15:09:02 +0200
parents 9283c4b8218f
children
comparison
equal deleted inserted replaced
40:3038225a5ded 43:365d3f380d8d
1 # Copyright 1999-2008 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Header: $
4
5 inherit autotools eutils flag-o-matic linux-info
6
7 DESCRIPTION="A small daemon which collects system performance statistics"
8 HOMEPAGE="http://collectd.org/"
9
10 SRC_URI="${HOMEPAGE}/files/${P}.tar.bz2"
11 LICENSE="GPL-2"
12
13 SLOT="0"
14
15 KEYWORDS="~x86 ~amd64"
16 IUSE="
17 apache2 apcups dns email hal hddtemp ithreads lighttpd lm_sensors memcache
18 mysql network nfs nginx ntp nut perl qemu rrdtool snmp syslog vserver xen
19 "
20
21 DEPEND="
22 apache2? ( >=net-misc/curl-7.17.0 )
23 lighttpd? ( >=net-misc/curl-7.17.0 )
24 nginx? ( >=net-misc/curl-7.17.0 )
25 dns? ( >=net-libs/libpcap-0.9.8 )
26 qemu? ( >=app-emulation/libvirt-0.3.3 )
27 xen? ( >=app-emulation/libvirt-0.3.3 )
28 mysql? ( >=virtual/mysql-5.0 )
29 perl? ( >=dev-lang/perl-5.8.8-r4 )
30 nut? ( >=sys-power/nut-2.2.0 )
31 rrdtool? ( >=net-analyzer/rrdtool-1.2.27 )
32 lm_sensors? ( >=sys-apps/lm_sensors-2.10.4 )
33 snmp? ( >=net-analyzer/net-snmp-5.4.1-r3 )
34 hal? ( >=sys-apps/hal-0.5.9.1-r3 )
35 >=dev-libs/libxml2-2.6.31
36 "
37
38 RDEPEND="
39 ${DEPEND}
40 apcups? ( >=sys-power/apcupsd-3.14.2 )
41 hddtemp? ( >=app-admin/hddtemp-0.3_beta15-r3 )
42 memcache? ( >=net-misc/memcached-1.2.2-r2 )
43 ntp? ( >=net-misc/ntp-4.2.4_p4 )
44 syslog? ( virtual/logger )
45 !hal? ( >=sys-apps/dmidecode-2.9 )
46 "
47
48 pkg_setup()
49 {
50 linux-info_pkg_setup
51
52 if ( !(linux_chkconfig_present ACPI_BATTERY) ); then einfo
53 ewarn "ACPI_BATTERY needs to be enabled in your kernel for the battery plug-in to work correctly"; fi
54 if ( !(linux_chkconfig_present CPU_FREQ) ); then einfo
55 ewarn "CPU_FREQ needs to be enabled in your kernel for the cpufreq plug-in to work correctly"; fi
56 if ( !(linux_chkconfig_present SERIAL_CORE) ); then einfo
57 ewarn "SERIAL_CORE needs to be enabled in your kernel for the serial plug-in to work correctly"; fi
58 if ( !(linux_chkconfig_present SWAP) ); then einfo
59 ewarn "SWAP needs to be enabled in your kernel for the swap plug-in to work correctly"; fi
60 if ( (use vserver) && !(linux_chkconfig_present IP_VS) ); then einfo
61 ewarn "IP_VS should to be enabled in your kernel when the USE flag vserver is enabled"; fi
62 if (use qemu && !(built_with_use libvirt qemu) ); then
63 die "USE flag qemu requires that libvirt was compiled with the USE flag qemu"; fi
64 if (use xen && !(built_with_use libvirt xen) ); then
65 die "USE flag xen requires that libvirt was compiled with the USE flag xen"; fi
66
67 if (use perl); then
68 if (use ithreads); then
69 (built_with_use perl ithreads) \
70 || die "The perl plug-in requires that libperl was compiled with the USE flag ithreads"
71 else
72 einfo
73 ewarn "The perl plug-in requires the ithreads USE flag."
74 fi
75 fi
76 einfo
77
78 if ( !(linux_chkconfig_present PROC_FS) ); then
79 ## if ( use network ); then
80 ## die "${P} requires that PROC_FS is enabled in the kernel for the USE flag network"; fi
81 die "${P} requires that PROC_FS is enabled in your kernel" ## UPDATE LATER
82 fi
83
84 if ( !(use network) ); then
85 if ( use dns ); then die "The USE flag dns requires that the USE flag network is enabled"; fi
86 if ( use email ); then die "The USE flag email requires that the USE flag network is enabled"; fi
87 if ( use nfs ); then die "The USE flag nfs requires that the USE flag network is enabled"; fi
88 if ( use ntp ); then die "The USE flag ntp requires that the USE flag network is enabled"; fi
89 if ( use snmp ); then die "The USE flag snmp requires that the USE flag network is enabled"; fi
90 if ( use vserver ); then die "The USE flag vserver requires that the USE flag network is enabled"; fi
91 fi
92 }
93
94 src_unpack() {
95 if [ "${A}" != "" ]; then
96 unpack ${A}
97 fi
98
99 cd ${S}
100
101 sed -i -e '/^AC_PLUGIN/ s/\ [[].*[]],/[no],/' \
102 configure.in \
103 || die "sed no-automagic-patch failed"
104
105 eautoreconf \
106 || die "eautoreconf failed"
107 }
108
109 src_compile()
110 {
111 local myconf
112 local disabled_plugins
113
114 ### NEEDS TO BE FIXED PROBABLY
115 append-flags -I/usr/src/linux/include
116
117 if ( use apache2 || use lighttpd );
118 then myconf="${myconf} --enable-apache"; fi
119 myconf="${myconf} $(use_enable apcups)"
120 myconf="${myconf} --disable-apple_sensors" ## DISABLED
121 disabled_plugins="${disabled_plugins} apple_sensors"
122 myconf="${myconf} --enable-battery" ## Kernel check PROCFS
123 myconf="${myconf} --enable-cpu" ## PROCFS
124 myconf="${myconf} --enable-cpufreq" ## Kernel check SYSFS
125 myconf="${myconf} --enable-csv" ## no checks
126 myconf="${myconf} --enable-df" ## no checks
127 myconf="${myconf} --enable-disk" ## PROCFS
128 myconf="${myconf} $(use network && use_enable dns)"
129 myconf="${myconf} $(use network && use_enable email)"
130 myconf="${myconf} --enable-entropy" ## PROCFS
131 myconf="${myconf} --disable-exec" ## NEEDS USERS
132 disabled_plugins="${disabled_plugins} exec"
133 myconf="${myconf} $(use_enable hddtemp)" ## PROCFS
134 myconf="${myconf} $(use_enable network interface)" ## PROCFS
135 myconf="${myconf} --disable-iptables" ## BREAKS
136 disabled_plugins="${disabled_plugins} iptables"
137 myconf="${myconf} $(use network && use_enable vserver ipvs)" ## Kernel check NEEDS CFLAGS -I -- FIX LATER
138 myconf="${myconf} --enable-irq" ## PROCFS
139 if ( use qemu || use xen ); then ## NEEDS KERNEL CHECK
140 myconf="${myconf} --enable-libvirt"; fi
141 myconf="${myconf} --enable-load" ## PROCFS
142 myconf="${myconf} --enable-logfile" ## no checks
143 myconf="${myconf} --disable-mbmon" ## COULD NOT FIND DAEMON
144 disabled_plugins="${disabled_plugins} mbmon"
145 myconf="${myconf} $(use_enable memcache memcached)"
146 myconf="${myconf} --enable-memory" ## PROCFS
147 myconf="${myconf} --enable-multimeter"
148 myconf="${myconf} $(use_enable mysql)"
149 myconf="${myconf} --disable-netlink" ## BREAKS
150 disabled_plugins="${disabled_plugins} netlink"
151 myconf="${myconf} $(use_enable network)" ## NO PROCFS
152 myconf="${myconf} $(use network && use_enable nfs)" ## PROCFS
153 myconf="${myconf} $(use_enable nginx)"
154 myconf="${myconf} $(use network && use_enable ntp ntpd)"
155 myconf="${myconf} $(use_enable nut)"
156 myconf="${myconf} $(use ithreads && use_enable perl)"
157 myconf="${myconf} $(use_with perl perl-bindings)"
158 myconf="${myconf} $(use_enable network ping)"
159 myconf="${myconf} --enable-processes" ## PROCFS
160 myconf="${myconf} $(use_enable rrdtool)"
161 myconf="${myconf} $(use_enable lm_sensors sensors)"
162 myconf="${myconf} --enable-serial" ## Kernel check PROCFS
163 myconf="${myconf} $(use network && use_enable snmp)"
164 myconf="${myconf} --enable-swap" ## Kernel check PROCFS
165 myconf="${myconf} $(use_enable syslog)"
166 myconf="${myconf} --disable-tape" ## SOLARIS ???
167 disabled_plugins="${disabled_plugins} tape"
168 myconf="${myconf} $(use_enable network tcpconns)" ## PROCFS
169 myconf="${myconf} $(use_enable network unixsock)"
170 myconf="${myconf} --enable-users"
171 myconf="${myconf} --enable-uuid" ## Depends on hal or dmidecode PROCFS
172 myconf="${myconf} $(use network && use_enable vserver)" ## PROCFS
173 myconf="${myconf} $(use_enable network wireless)" ## NEEDS KERNEL CHECK ## PROCFS
174 myconf="${myconf} --disable-xmms" ## NOT IN GENTOO
175 disabled_plugins="${disabled_plugins} xmms"
176
177 einfo
178 elog "The following plug-ins have been disabled in the ebuild"
179 elog ${disabled_plugins}
180 einfo
181
182 ### Configure
183 econf \
184 ${myconf} \
185 --localstatedir=/var \
186 || die "econf failed"
187
188 ### Build
189 emake \
190 || die "emake failed"
191 }
192
193 src_install()
194 {
195 emake \
196 DESTDIR="${D}" \
197 install || die "emake install failed"
198
199 ### Documentation
200 dodoc AUTHORS ChangeLog NEWS README TODO \
201 || die "dodoc failed"
202
203 docinto contrib/SpamAssassin
204 dodoc contrib/SpamAssassin/* \
205 || die "dodoc contrib failed"
206
207 docinto contrib/examples
208 dodoc contrib/examples/* \
209 || die "dodoc contrib failed"
210
211 docinto contrib/iptables
212 dodoc contrib/iptables/* \
213 || die "dodoc contrib failed"
214 docinto contrib
215
216 docinto contrib
217 dodoc contrib/README contrib/*\.[a-z]* \
218 || die "dodoc contrib failed"
219
220
221 keepdir /var/lib/collectd \
222 || die "keepdir failed"
223
224 newinitd "${FILESDIR}/${PN}-4.3.2.initd" ${PN} \
225 || die "newinitd failed"
226
227 newconfd "${FILESDIR}/${PN}-4.3.2.confd" ${PN} \
228 || die "newconfd failed"
229 }
230
231 pkg_postinst()
232 {
233 einfo
234 einfo "collectd introduced some changes in the new 4.x series."
235 einfo "For further information, read http://collectd.org/migrate-v3-v4.shtml"
236 einfo "The migration script can be found at:"
237 einfo "/usr/share/doc/${P}/contrib/migrate-3-4.px.bz2"
238 einfo
239 }