X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=contrib%2Fredhat%2Fcollectd.spec;h=4f70fd694d8902caca6ce4377375d05696345dec;hb=b304d0ba166a5e69baa9a5c379cef814e541f65d;hp=926dac993f53f496bbdb57c97eef2100fdd9d8b6;hpb=7d5c193fce64d04cee72619c0b54d624d5011e35;p=collectd.git diff --git a/contrib/redhat/collectd.spec b/contrib/redhat/collectd.spec index 926dac99..4f70fd69 100644 --- a/contrib/redhat/collectd.spec +++ b/contrib/redhat/collectd.spec @@ -1,6 +1,51 @@ +# +# q: What is this ? +# a: A specfile for building RPM packages of current collectd releases, for +# RHEL/CentOS versions 5 and 6. By default all the plugins which are +# buildable based on the libraries available in the distribution + the +# EPEL repository, will be built. Plugins depending on external libs will +# be packaged in separate RPMs. +# +# q: And how can I do that ? +# a: By following these instructions, using mock: +# +# - install and configure mock (https://fedoraproject.org/wiki/Projects/Mock) +# +# - enable the EPEL repository (http://dl.fedoraproject.org/pub/epel/) in the +# configuration files for your target systems (/etc/mock/*.cfg). +# +# - copy this file in your ~/rpmbuild/SPECS/ directory +# +# - fetch the desired collectd release file from https://collectd.org/files/ +# and save it in your ~/rpmbuild/SOURCES/ directory +# +# - build the SRPM first: +# mock -r centos-6-x86_64 --buildsrpm --spec ~/rpmbuild/SPECS/collectd.spec \ +# --sources ~/rpmbuild/SOURCES/ +# +# - then build the RPMs: +# mock -r centos-6-x86_64 --no-clean --rebuild \ +# /var/lib/mock/centos-6-x86_64/result/collectd-X.Y.Z-NN.src.rpm +# +# - you can also optionally enable/disable plugins which are disabled/enabled +# by default: +# mock -r centos-6-x86_64 --no-clean --without=java --with=oracle --rebuild \ +# /var/lib/mock/centos-6-x86_64/result/collectd-X.Y.Z-NN.src.rpm +# + %global _hardened_build 1 -# enabled plugins +# plugins only buildable on RHEL6 +# (NB: %{elN} macro is not available on RHEL < 6) +%{?el6:%global _has_libyajl 1} +%{?el6:%global _has_recent_libpcap 1} +%{?el6:%global _has_recent_sockios_h 1} +%{?el6:%global _has_recent_libganglia 1} +%{?el6:%global _has_working_libiptc 1} +%{?el6:%global _has_ip_vs_h 1} +%{?el6:%global _has_perl_extutils_embed 1} + +# plugins enabled by default %define with_aggregation 0%{!?_without_aggregation:1} %define with_amqp 0%{!?_without_amqp:1} %define with_apache 0%{!?_without_apache:1} @@ -14,24 +59,24 @@ %define with_cpufreq 0%{!?_without_cpufreq:1} %define with_csv 0%{!?_without_csv:1} %define with_curl 0%{!?_without_curl:1} -%define with_curl_json 0%{!?_without_curl_json:1} +%define with_curl_json 0%{!?_without_curl_json:0%{?_has_libyajl}} %define with_curl_xml 0%{!?_without_curl_xml:1} %define with_dbi 0%{!?_without_dbi:1} %define with_df 0%{!?_without_df:1} %define with_disk 0%{!?_without_disk:1} -%define with_dns 0%{!?_without_dns:1} +%define with_dns 0%{!?_without_dns:0%{?_has_recent_libpcap}} %define with_email 0%{!?_without_email:1} %define with_entropy 0%{!?_without_entropy:1} -%define with_ethstat 0%{!?_without_ethstat:1} +%define with_ethstat 0%{!?_without_ethstat:0%{?_has_recent_sockios_h}} %define with_exec 0%{!?_without_exec:1} %define with_filecount 0%{!?_without_filecount:1} %define with_fscache 0%{!?_without_fscache:1} -%define with_gmond 0%{!?_without_gmond:1} +%define with_gmond 0%{!?_without_gmond:0%{?_has_recent_libganglia}} %define with_hddtemp 0%{!?_without_hddtemp:1} %define with_interface 0%{!?_without_interface:1} %define with_ipmi 0%{!?_without_ipmi:1} -%define with_iptables 0%{!?_without_iptables:1} -%define with_ipvs 0%{!?_without_ipvs:1} +%define with_iptables 0%{!?_without_iptables:0%{?_has_working_libiptc}} +%define with_ipvs 0%{!?_without_ipvs:0%{?_has_ip_vs_h}} %define with_irq 0%{!?_without_irq:1} %define with_java 0%{!?_without_java:1} %define with_libvirt 0%{!?_without_libvirt:1} @@ -55,7 +100,7 @@ %define with_nut 0%{!?_without_nut:1} %define with_olsrd 0%{!?_without_olsrd:1} %define with_openvpn 0%{!?_without_openvpn:1} -%define with_perl 0%{!?_without_perl:1} +%define with_perl 0%{!?_without_perl:0%{?_has_perl_extutils_embed}} %define with_pinba 0%{!?_without_pinba:1} %define with_ping 0%{!?_without_ping:1} %define with_postgresql 0%{!?_without_postgresql:1} @@ -71,6 +116,7 @@ %define with_syslog 0%{!?_without_syslog:1} %define with_table 0%{!?_without_table:1} %define with_tail 0%{!?_without_tail:1} +%define with_tail_csv 0%{!?_without_tail_csv:1} %define with_tcpconns 0%{!?_without_tcpconns:1} %define with_teamspeak2 0%{!?_without_teamspeak2:1} %define with_ted 0%{!?_without_ted:1} @@ -86,36 +132,56 @@ %define with_wireless 0%{!?_without_wireless:1} %define with_write_graphite 0%{!?_without_write_graphite:1} %define with_write_http 0%{!?_without_write_http:1} +%define with_write_riemann 0%{!?_without_write_riemann:1} + +# Plugins not built by default because of dependencies on libraries not +# available in RHEL or EPEL: -# disabled plugins +# plugin apple_sensors disabled, requires a Mac %define with_apple_sensors 0%{!?_without_apple_sensors:0} +# plugin lpar disabled, requires AIX %define with_lpar 0%{!?_without_lpar:0} +# plugin modbus disabled, requires libmodbus %define with_modbus 0%{!?_without_modbus:0} +# plugin netapp disabled, requires libnetapp %define with_netapp 0%{!?_without_netapp:0} +# plugin netlink disabled, requires libnetlink.h %define with_netlink 0%{!?_without_netlink:0} +# plugin onewire disabled, requires libowfs %define with_onewire 0%{!?_without_onewire:0} +# plugin oracle disabled, requires Oracle %define with_oracle 0%{!?_without_oracle:0} +# plugin oracle disabled, requires BSD %define with_pf 0%{!?_without_pf:0} +# plugin redis disabled, requires credis %define with_redis 0%{!?_without_redis:0} +# plugin routeros disabled, requires librouteros %define with_routeros 0%{!?_without_routeros:0} +# plugin rrdcached disabled, requires rrdtool >= 1.4 %define with_rrdcached 0%{!?_without_rrdcached:0} +# plugin tape disabled, requires libkstat %define with_tape 0%{!?_without_tape:0} +# plugin tokyotyrant disabled, requires tcrdb.h %define with_tokyotyrant 0%{!?_without_tokyotyrant:0} +# plugin write_mongodb disabled, requires libmongoc %define with_write_mongodb 0%{!?_without_write_mongodb:0} +# plugin write_redis disabled, requires credis %define with_write_redis 0%{!?_without_write_redis:0} +# plugin xmms disabled, requires xmms %define with_xmms 0%{!?_without_xmms:0} +# plugin zfs_arc disabled, requires FreeBSD/Solaris %define with_zfs_arc 0%{!?_without_zfs_arc:0} Summary: Statistics collection daemon for filling RRD files Name: collectd -Version: 5.2.0 -Release: 3%{?dist} +Version: 5.3.1 +Release: 1%{?dist} URL: http://collectd.org -Source: http://collectd.org/files/%{name}-%{version}.tar.gz +Source: http://collectd.org/files/%{name}-%{version}.tar.bz2 License: GPLv2 Group: System Environment/Daemons BuildRoot: %{_tmppath}/%{name}-%{version}-root -BuildRequires: libgcrypt-devel +BuildRequires: libgcrypt-devel, kernel-headers Vendor: collectd development team Requires(post): chkconfig @@ -190,7 +256,7 @@ the configuration. Summary: Curl_json plugin for collectd Group: System Environment/Daemons Requires: %{name}%{?_isa} = %{version}-%{release} -Buildrequires: curl-devel, yajl-devel +BuildRequires: curl-devel, yajl-devel %description curl_json The cURL-JSON plugin queries JavaScript Object Notation (JSON) data using the cURL library and parses it according to the user's configuration. @@ -212,7 +278,7 @@ Markup Language (XML). Summary: DBI plugin for collectd Group: System Environment/Daemons Requires: %{name}%{?_isa} = %{version}-%{release} -Buildrequires: libdbi-devel +BuildRequires: libdbi-devel %description dbi The DBI plugin uses libdbi, a database abstraction library, to execute SQL statements on a database and read back the result. @@ -222,8 +288,8 @@ statements on a database and read back the result. %package dns Summary: DNS plugin for collectd Group: System Environment/Daemons -Requires: %{name}%{?_isa} = %{version}-%{release} -Buildrequires: libpcap-devel +Requires: %{name}%{?_isa} = %{version}-%{release}, libpcap >= 1.0 +BuildRequires: libpcap-devel >= 1.0 %description dns The DNS plugin has a similar functionality to dnstop: It uses libpcap to get a copy of all traffic from/to port UDP/53 (that's the DNS port), interprets the @@ -343,7 +409,7 @@ This plugin gets data provided by nginx. Summary: Notify_desktop plugin for collectd Group: System Environment/Daemons Requires: %{name}%{?_isa} = %{version}-%{release} -BuildRequires: libnotify-devel +BuildRequires: libnotify-devel, gtk2-devel %description notify_desktop The Notify Desktop plugin uses libnotify to display notifications to the user via the desktop notification specification, i. e. on an X display. @@ -420,7 +486,11 @@ database. Summary: Python plugin for collectd Group: System Environment/Daemons Requires: %{name}%{?_isa} = %{version}-%{release} -BuildRequires: python-devel +%if 0%{?rhel} >= 6 +BuildRequires: python-devel +%else +BuildRequires: python26-devel +%endif %description python The Python plugin embeds a Python interpreter into collectd and exposes the application programming interface (API) to Python-scripts. @@ -509,6 +579,16 @@ BuildRequires: credis-devel The Write Redis plugin stores values in Redis, a “data structures server”. %endif +%if %{with_write_riemann} +%package write_riemann +Summary: riemann plugin for collectd +Group: System Environment/Daemons +Requires: %{name}%{?_isa} = %{version}-%{release} +BuildRequires: protobuf-c-devel +%description write_riemann +The riemann plugin submits values to Riemann, an event stream processor. +%endif + %package collection3 Summary: Web-based viewer for collectd Group: System Environment/Daemons @@ -539,11 +619,13 @@ package. %package -n libcollectdclient Summary: Collectd client library +Group: System Environment/Daemons %description -n libcollectdclient Collectd client library %package -n libcollectdclient-devel Summary: Development files for libcollectdclient +Group: System Environment/Daemons Requires: pkgconfig Requires: libcollectdclient%{?_isa} = %{version}-%{release} %description -n libcollectdclient-devel @@ -553,7 +635,6 @@ Development files for libcollectdclient %prep %setup -q - %build %if %{with_aggregation} %define _with_aggregation --enable-aggregation @@ -970,8 +1051,12 @@ Development files for libcollectdclient %endif %if %{with_python} +%if 0%{?rhel} >= 6 %define _with_python --enable-python %else +%define _with_python --enable-python --with-python=%{_bindir}/python2.6 +%endif +%else %define _with_python --disable-python %endif @@ -1041,6 +1126,12 @@ Development files for libcollectdclient %define _with_tail --disable-tail %endif +%if %{with_tail_csv} +%define _with_tail_csv --enable-tail_csv +%else +%define _with_tail_csv --disable-tail_csv +%endif + %if %{with_tape} %define _with_tape --enable-tape %else @@ -1155,6 +1246,12 @@ Development files for libcollectdclient %define _with_write_redis --disable-write_redis --without-libcredis %endif +%if %{with_write_riemann} +%define _with_write_riemann --enable-write_riemann +%else +%define _with_write_riemann --disable-write_riemann +%endif + %if %{with_xmms} %define _with_xmms --enable-xmms %else @@ -1171,7 +1268,6 @@ Development files for libcollectdclient --disable-static \ --without-included-ltdl \ --enable-all-plugins=yes \ - --enable-aggregation \ --enable-match_empty_counter \ --enable-match_hashed \ --enable-match_regex \ @@ -1271,6 +1367,7 @@ Development files for libcollectdclient %{?_with_syslog} \ %{?_with_table} \ %{?_with_tail} \ + %{?_with_tail_csv} \ %{?_with_tcpconns} \ %{?_with_teamspeak2} \ %{?_with_ted} \ @@ -1284,7 +1381,8 @@ Development files for libcollectdclient %{?_with_vserver} \ %{?_with_wireless}\ %{?_with_write_graphite} \ - %{?_with_write_http} + %{?_with_write_http} \ + %{?_with_write_riemann} %{__make} %{?_smp_mflags} @@ -1328,6 +1426,8 @@ rm -f %{buildroot}%{_mandir}/man5/collectd-java.5* %if ! %{with_perl} rm -f %{buildroot}%{_mandir}/man5/collectd-perl.5* rm -f %{buildroot}%{_mandir}/man3/Collectd::Unixsock.3pm* +rm -fr perl-examples/ +rm -fr %{buildroot}/usr/lib/perl5/ %endif %if ! %{with_python} @@ -1375,6 +1475,7 @@ fi %{_mandir}/man1/collectd.1* %{_mandir}/man1/collectdctl.1* %{_mandir}/man1/collectdmon.1* +%{_mandir}/man1/collectd-tg.1* %{_mandir}/man5/collectd-email.5* %{_mandir}/man5/collectd-exec.5* %{_mandir}/man5/collectd-threshold.5* @@ -1514,6 +1615,9 @@ fi %if %{with_tail} %{_libdir}/%{name}/tail.so %endif +%if %{with_tail_csv} +%{_libdir}/%{name}/tail_csv.so +%endif %if %{with_tcpconns} %{_libdir}/%{name}/tcpconns.so %endif @@ -1554,21 +1658,6 @@ fi %{_libdir}/%{name}/write_graphite.so %endif -# All plugins not built by default because of dependencies on libraries not -# available in RHEL or EPEL: -# plugin modbus disabled, requires libmodbus -# plugin netlink disabled, requires libnetlink.h -# plugin numa disabled, requires libnetapp -# plugin onewire disabled, requires libowfs -# plugin oracle disabled, requires Oracle -# plugin redis disabled, requires credis -# plugin routeros disabled, requires librouteros -# plugin rrdcached disabled, requires rrdtool >= 1.4 -# plugin tokyotyrant disabled, requires tcrdb.h -# plugin write_mongodb disabled, requires libmongoc -# plugin write_redis disabled, requires credis -# plugin xmms disabled, requires xmms - %files -n libcollectdclient-devel %{_includedir}/collectd/client.h @@ -1653,8 +1742,8 @@ fi %if %{with_java} %files java -%{_datarootdir}/collectd/java/collectd-api.jar -%{_datarootdir}/collectd/java/generic-jmx.jar +%{_prefix}/share/collectd/java/collectd-api.jar +%{_prefix}/share/collectd/java/generic-jmx.jar %{_libdir}/%{name}/java.so %{_mandir}/man5/collectd-java.5* %endif @@ -1716,7 +1805,7 @@ fi %if %{with_postgresql} %files postgresql -%{_datarootdir}/collectd/postgresql_default.conf +%{_prefix}/share/collectd/postgresql_default.conf %{_libdir}/%{name}/postgresql.so %endif @@ -1767,6 +1856,11 @@ fi %{_libdir}/%{name}/write_redis.so %endif +%if %{with_write_riemann} +%files write_riemann +%{_libdir}/%{name}/write_riemann.so +%endif + %files collection3 %{_localstatedir}/www/collection3 %{_sysconfdir}/httpd/conf.d/collection3.conf @@ -1779,6 +1873,22 @@ fi %doc contrib/ %changelog +* Tue Aug 06 2013 Marc Fournier 5.3.1-1 +- New upstream version +- Added RHEL5 support: + * conditionally disable plugins not building on this platform + * add/specify some build dependencies and options + * replace some RPM macros not available on this platform +- Removed duplicate --enable-aggregation +- Added some comments & usage examples +- Replaced a couple of "Buildrequires" by "BuildRequires" + +* Wed Apr 10 2013 Marc Fournier 5.3.0-1 +- New upstream version +- Enabled write_riemann plugin +- Enabled tail_csv plugin +- Installed collectd-tc manpage + * Thu Jan 11 2013 Marc Fournier 5.2.0-3 - remove dependency on libstatgrab, which isn't required on linux