[1/7] collectd: Update to version 5.12.0

Message ID 20241225134828.6231-1-adolf.belka@ipfire.org
State New
Headers
Series [1/7] collectd: Update to version 5.12.0 |

Commit Message

Adolf Belka Dec. 25, 2024, 1:48 p.m. UTC
  - Update from version 4.10.9 to 5.12.0
- Update of rootfile
- Removal of the patches that were used for version 4.10.9. Checking these they have
   either been included, are no longer applicable as the involved code is no longer
   present or were changes specific to BSD or Solaris OS's or were related to plugins
   that were not enabled on IPFire such as mysql.
- If anyone is aware of patches that should be applied to version 5.12.0 then let me
   know.
- Updated the plugin lists to disable some that were enabled such as multimeter and
   battery. We shouldn't need to use IPFire as a multimeter and it should not really
   be running on a laptop in battery mode.
- Re-arranged the order of the plugins to make them alphabetical again.
- Added nut to the enabled plugins. apcupsd was already enabled but nut was not.
- Disabled making warnings into errors, updated the librrd directory and specified
   the libgcrypt directory so that the build was successfull.
- collecvtd-5.x supports parallel builds
- copied the 4.x to 5.x migration program into IPFire. This is then used when restoring
   older backups or for the update script for when collectd-5.12.0 is merged.
- The change set was installed on my vm and the graphs all worked as expected and got
   updated. Doing a restore from an earlier backup with the 4.x format of files was
   correctly migrated and installed.
- Changelog is rather large covering everything that has changed and been updated.
   Details can be found at https://github.com/collectd/collectd/releases

Tested-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 config/rootfiles/common/collectd | 188 +++++++++++++++++--------------
 lfs/collectd                     |  68 ++++-------
 2 files changed, 123 insertions(+), 133 deletions(-)
  

Patch

diff --git a/config/rootfiles/common/collectd b/config/rootfiles/common/collectd
index be7bdf08e..26976dc87 100644
--- a/config/rootfiles/common/collectd
+++ b/config/rootfiles/common/collectd
@@ -1,244 +1,260 @@ 
 etc/collectd.conf
+#etc/collectd.d
+etc/collectd.d/info
 etc/collectd.precache
 etc/collectd.thermal
 etc/collectd.vpn
-#etc/collectd.d
-etc/collectd.d/info
 etc/rc.d/rc0.d/K50collectd
 etc/rc.d/rc3.d/S29collectd
 etc/rc.d/rc6.d/K50collectd
 #usr/bin/collectd-nagios
+#usr/bin/collectd-tg
+#usr/bin/collectdctl
 #usr/etc/collectd.conf
 #usr/include/collectd
 #usr/include/collectd/client.h
 #usr/include/collectd/lcc_features.h
+#usr/include/collectd/network.h
+#usr/include/collectd/network_buffer.h
+#usr/include/collectd/network_parse.h
+#usr/include/collectd/server.h
+#usr/include/collectd/types.h
 #usr/lib/collectd
-#usr/lib/collectd/apache.a
+#usr/lib/collectd/aggregation.la
+usr/lib/collectd/aggregation.so
 #usr/lib/collectd/apache.la
 usr/lib/collectd/apache.so
-#usr/lib/collectd/apcups.a
 #usr/lib/collectd/apcups.la
 usr/lib/collectd/apcups.so
-#usr/lib/collectd/ascent.a
 #usr/lib/collectd/ascent.la
 usr/lib/collectd/ascent.so
-#usr/lib/collectd/battery.a
-#usr/lib/collectd/battery.la
-usr/lib/collectd/battery.so
-#usr/lib/collectd/bind.a
-#usr/lib/collectd/bind.la
-usr/lib/collectd/bind.so
-#usr/lib/collectd/conntrack.a
+#usr/lib/collectd/buddyinfo.la
+usr/lib/collectd/buddyinfo.so
+#usr/lib/collectd/cgroups.la
+usr/lib/collectd/cgroups.so
+#usr/lib/collectd/check_uptime.la
+usr/lib/collectd/check_uptime.so
+#usr/lib/collectd/chrony.la
+usr/lib/collectd/chrony.so
 #usr/lib/collectd/conntrack.la
 usr/lib/collectd/conntrack.so
-#usr/lib/collectd/contextswitch.a
 #usr/lib/collectd/contextswitch.la
 usr/lib/collectd/contextswitch.so
-#usr/lib/collectd/cpu.a
 #usr/lib/collectd/cpu.la
 usr/lib/collectd/cpu.so
-#usr/lib/collectd/cpufreq.a
 #usr/lib/collectd/cpufreq.la
 usr/lib/collectd/cpufreq.so
-#usr/lib/collectd/curl.a
+#usr/lib/collectd/cpusleep.la
+usr/lib/collectd/cpusleep.so
 #usr/lib/collectd/curl.la
 usr/lib/collectd/curl.so
-#usr/lib/collectd/curl_xml.a
 #usr/lib/collectd/curl_xml.la
 usr/lib/collectd/curl_xml.so
-#usr/lib/collectd/df.a
 #usr/lib/collectd/df.la
 usr/lib/collectd/df.so
-#usr/lib/collectd/disk.a
 #usr/lib/collectd/disk.la
 usr/lib/collectd/disk.so
-#usr/lib/collectd/dns.a
 #usr/lib/collectd/dns.la
 usr/lib/collectd/dns.so
-#usr/lib/collectd/email.a
+#usr/lib/collectd/dpdk_telemetry.la
+usr/lib/collectd/dpdk_telemetry.so
+#usr/lib/collectd/drbd.la
+usr/lib/collectd/drbd.so
 #usr/lib/collectd/email.la
 usr/lib/collectd/email.so
-#usr/lib/collectd/entropy.a
 #usr/lib/collectd/entropy.la
 usr/lib/collectd/entropy.so
-#usr/lib/collectd/exec.a
+#usr/lib/collectd/ethstat.la
+usr/lib/collectd/ethstat.so
 #usr/lib/collectd/exec.la
 usr/lib/collectd/exec.so
-#usr/lib/collectd/filecount.a
+#usr/lib/collectd/fhcount.la
+usr/lib/collectd/fhcount.so
 #usr/lib/collectd/filecount.la
 usr/lib/collectd/filecount.so
-#usr/lib/collectd/fscache.a
 #usr/lib/collectd/fscache.la
 usr/lib/collectd/fscache.so
-#usr/lib/collectd/hddtemp.a
 #usr/lib/collectd/hddtemp.la
 usr/lib/collectd/hddtemp.so
-#usr/lib/collectd/interface.a
+#usr/lib/collectd/hugepages.la
+usr/lib/collectd/hugepages.so
+#usr/lib/collectd/infiniband.la
+usr/lib/collectd/infiniband.so
 #usr/lib/collectd/interface.la
 usr/lib/collectd/interface.so
-#usr/lib/collectd/iptables.a
+#usr/lib/collectd/ipc.la
+usr/lib/collectd/ipc.so
 #usr/lib/collectd/iptables.la
 usr/lib/collectd/iptables.so
-#usr/lib/collectd/irq.a
 #usr/lib/collectd/irq.la
 usr/lib/collectd/irq.so
-#usr/lib/collectd/load.a
 #usr/lib/collectd/load.la
 usr/lib/collectd/load.so
-#usr/lib/collectd/logfile.a
 #usr/lib/collectd/logfile.la
 usr/lib/collectd/logfile.so
-#usr/lib/collectd/madwifi.a
+#usr/lib/collectd/logparser.la
+usr/lib/collectd/logparser.so
 #usr/lib/collectd/madwifi.la
 usr/lib/collectd/madwifi.so
-#usr/lib/collectd/match_empty_counter.a
 #usr/lib/collectd/match_empty_counter.la
 usr/lib/collectd/match_empty_counter.so
-#usr/lib/collectd/match_hashed.a
 #usr/lib/collectd/match_hashed.la
 usr/lib/collectd/match_hashed.so
-#usr/lib/collectd/match_regex.a
 #usr/lib/collectd/match_regex.la
 usr/lib/collectd/match_regex.so
-#usr/lib/collectd/match_timediff.a
 #usr/lib/collectd/match_timediff.la
 usr/lib/collectd/match_timediff.so
-#usr/lib/collectd/match_value.a
 #usr/lib/collectd/match_value.la
 usr/lib/collectd/match_value.so
-#usr/lib/collectd/memory.a
+#usr/lib/collectd/mcelog.la
+usr/lib/collectd/mcelog.so
+#usr/lib/collectd/md.la
+usr/lib/collectd/md.so
+#usr/lib/collectd/mdevents.la
+usr/lib/collectd/mdevents.so
 #usr/lib/collectd/memory.la
 usr/lib/collectd/memory.so
-#usr/lib/collectd/multimeter.a
-#usr/lib/collectd/multimeter.la
-usr/lib/collectd/multimeter.so
-#usr/lib/collectd/network.a
 #usr/lib/collectd/network.la
 usr/lib/collectd/network.so
-#usr/lib/collectd/nfs.a
 #usr/lib/collectd/nfs.la
 usr/lib/collectd/nfs.so
-#usr/lib/collectd/ntpd.a
+#usr/lib/collectd/notify_nagios.la
+usr/lib/collectd/notify_nagios.so
 #usr/lib/collectd/ntpd.la
 usr/lib/collectd/ntpd.so
-#usr/lib/collectd/olsrd.a
+#usr/lib/collectd/numa.la
+usr/lib/collectd/numa.so
+#usr/lib/collectd/nut.la
+usr/lib/collectd/nut.so
 #usr/lib/collectd/olsrd.la
 usr/lib/collectd/olsrd.so
-#usr/lib/collectd/openvpn.a
+#usr/lib/collectd/openldap.la
+usr/lib/collectd/openldap.so
 #usr/lib/collectd/openvpn.la
 usr/lib/collectd/openvpn.so
-#usr/lib/collectd/ping.a
+#usr/lib/collectd/pcie_errors.la
+usr/lib/collectd/pcie_errors.so
 #usr/lib/collectd/ping.la
 usr/lib/collectd/ping.so
-#usr/lib/collectd/powerdns.a
 #usr/lib/collectd/powerdns.la
 usr/lib/collectd/powerdns.so
-#usr/lib/collectd/processes.a
 #usr/lib/collectd/processes.la
 usr/lib/collectd/processes.so
-#usr/lib/collectd/protocols.a
 #usr/lib/collectd/protocols.la
 usr/lib/collectd/protocols.so
-#usr/lib/collectd/rrdcached.a
+#usr/lib/collectd/python.la
+usr/lib/collectd/python.so
 #usr/lib/collectd/rrdcached.la
 usr/lib/collectd/rrdcached.so
-#usr/lib/collectd/rrdtool.a
 #usr/lib/collectd/rrdtool.la
 usr/lib/collectd/rrdtool.so
-#usr/lib/collectd/sensors.a
 #usr/lib/collectd/sensors.la
 usr/lib/collectd/sensors.so
-#usr/lib/collectd/swap.a
+#usr/lib/collectd/snmp_agent.la
+usr/lib/collectd/snmp_agent.so
+#usr/lib/collectd/statsd.la
+usr/lib/collectd/statsd.so
 #usr/lib/collectd/swap.la
 usr/lib/collectd/swap.so
-#usr/lib/collectd/syslog.a
+#usr/lib/collectd/synproxy.la
+usr/lib/collectd/synproxy.so
 #usr/lib/collectd/syslog.la
 usr/lib/collectd/syslog.so
-#usr/lib/collectd/table.a
 #usr/lib/collectd/table.la
 usr/lib/collectd/table.so
-#usr/lib/collectd/tail.a
 #usr/lib/collectd/tail.la
 usr/lib/collectd/tail.so
-#usr/lib/collectd/target_notification.a
+#usr/lib/collectd/tail_csv.la
+usr/lib/collectd/tail_csv.so
 #usr/lib/collectd/target_notification.la
 usr/lib/collectd/target_notification.so
-#usr/lib/collectd/target_replace.a
 #usr/lib/collectd/target_replace.la
 usr/lib/collectd/target_replace.so
-#usr/lib/collectd/target_scale.a
 #usr/lib/collectd/target_scale.la
 usr/lib/collectd/target_scale.so
-#usr/lib/collectd/target_set.a
 #usr/lib/collectd/target_set.la
 usr/lib/collectd/target_set.so
-#usr/lib/collectd/tcpconns.a
+#usr/lib/collectd/target_v5upgrade.la
+usr/lib/collectd/target_v5upgrade.so
 #usr/lib/collectd/tcpconns.la
 usr/lib/collectd/tcpconns.so
-#usr/lib/collectd/teamspeak2.a
 #usr/lib/collectd/teamspeak2.la
 usr/lib/collectd/teamspeak2.so
-#usr/lib/collectd/ted.a
 #usr/lib/collectd/ted.la
 usr/lib/collectd/ted.so
-#usr/lib/collectd/thermal.a
 #usr/lib/collectd/thermal.la
 usr/lib/collectd/thermal.so
-#usr/lib/collectd/unixsock.a
+#usr/lib/collectd/threshold.la
+usr/lib/collectd/threshold.so
+#usr/lib/collectd/turbostat.la
+usr/lib/collectd/turbostat.so
+#usr/lib/collectd/ubi.la
+usr/lib/collectd/ubi.so
 #usr/lib/collectd/unixsock.la
 usr/lib/collectd/unixsock.so
-#usr/lib/collectd/uptime.a
 #usr/lib/collectd/uptime.la
 usr/lib/collectd/uptime.so
-#usr/lib/collectd/users.a
 #usr/lib/collectd/users.la
 usr/lib/collectd/users.so
-#usr/lib/collectd/uuid.a
 #usr/lib/collectd/uuid.la
 usr/lib/collectd/uuid.so
-#usr/lib/collectd/vmem.a
 #usr/lib/collectd/vmem.la
 usr/lib/collectd/vmem.so
-#usr/lib/collectd/wireless.a
 #usr/lib/collectd/wireless.la
 usr/lib/collectd/wireless.so
-#usr/lib/collectd/write_http.a
+#usr/lib/collectd/write_graphite.la
+usr/lib/collectd/write_graphite.so
 #usr/lib/collectd/write_http.la
 usr/lib/collectd/write_http.so
-#usr/lib/libcollectdclient.a
+#usr/lib/collectd/write_influxdb_udp.la
+usr/lib/collectd/write_influxdb_udp.so
+#usr/lib/collectd/write_log.la
+usr/lib/collectd/write_log.so
+#usr/lib/collectd/write_sensu.la
+usr/lib/collectd/write_sensu.so
+#usr/lib/collectd/write_syslog.la
+usr/lib/collectd/write_syslog.so
+#usr/lib/collectd/write_tsdb.la
+usr/lib/collectd/write_tsdb.so
+#usr/lib/collectd/zfs_arc.la
+usr/lib/collectd/zfs_arc.so
+#usr/lib/collectd/zookeeper.la
+usr/lib/collectd/zookeeper.so
 #usr/lib/libcollectdclient.la
 usr/lib/libcollectdclient.so
-usr/lib/libcollectdclient.so.0
-usr/lib/libcollectdclient.so.0.0.0
-#usr/lib/perl5/Collectd
-#usr/lib/perl5/Collectd.pm
-#usr/lib/perl5/Collectd/Plugins
-#usr/lib/perl5/Collectd/Plugins/OpenVZ.pm
-#usr/lib/perl5/Collectd/Unixsock.pm
-#usr/lib/perl5/xxxMACHINExxx-linux-thread-multi
-#usr/lib/perl5/xxxMACHINExxx-linux-thread-multi/auto
-#usr/lib/perl5/xxxMACHINExxx-linux-thread-multi/auto/Collectd
-#usr/lib/perl5/xxxMACHINExxx-linux-thread-multi/auto/Collectd/.packlist
-#usr/lib/perl5/xxxMACHINExxx-linux-thread-multi/perllocal.pod
+usr/lib/libcollectdclient.so.1
+usr/lib/libcollectdclient.so.1.1.0
+#usr/lib/perl5/site_perl/5.36.0/Collectd
+#usr/lib/perl5/site_perl/5.36.0/Collectd.pm
+#usr/lib/perl5/site_perl/5.36.0/Collectd/Plugins
+#usr/lib/perl5/site_perl/5.36.0/Collectd/Plugins/OpenVZ.pm
+#usr/lib/perl5/site_perl/5.36.0/Collectd/Unixsock.pm
+#usr/lib/perl5/site_perl/5.36.0/x86_64-linux-thread-multi/auto/Collectd
+#usr/lib/perl5/site_perl/5.36.0/x86_64-linux-thread-multi/auto/Collectd/.packlist
 #usr/lib/pkgconfig/libcollectdclient.pc
-#usr/man/man3/Collectd::Unixsock.3
 usr/sbin/collectd
 usr/sbin/collectdmon
 #usr/share/collectd
 #usr/share/collectd/postgresql_default.conf
 usr/share/collectd/types.db
 #usr/share/man/man1/collectd-nagios.1
+#usr/share/man/man1/collectd-tg.1
 #usr/share/man/man1/collectd.1
+#usr/share/man/man1/collectdctl.1
 #usr/share/man/man1/collectdmon.1
+#usr/share/man/man3/Collectd::Unixsock.3
 #usr/share/man/man5/collectd-email.5
 #usr/share/man/man5/collectd-exec.5
 #usr/share/man/man5/collectd-java.5
+#usr/share/man/man5/collectd-lua.5
 #usr/share/man/man5/collectd-perl.5
 #usr/share/man/man5/collectd-python.5
 #usr/share/man/man5/collectd-snmp.5
+#usr/share/man/man5/collectd-threshold.5
 #usr/share/man/man5/collectd-unixsock.5
 #usr/share/man/man5/collectd.conf.5
 #usr/share/man/man5/types.db.5
+var/ipfire/collectd-migrate-4-to-5.pl
 var/ipfire/ovpn/collectd.vpn
 #var/lib/collectd
 etc/rc.d/init.d/collectd
diff --git a/lfs/collectd b/lfs/collectd
index 0abd91cc4..f7e6ee206 100644
--- a/lfs/collectd
+++ b/lfs/collectd
@@ -25,7 +25,7 @@ 
 include Config
 
 PKG_NAME   = collectd
-VER        = 4.10.9
+VER        = 5.12.0
 
 THISAPP    = collectd-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
@@ -50,7 +50,7 @@  objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_BLAKE2 = 041dd39d29b70f6e69c36f7c86c751ad52f50e728d623539bcb7dddb980d00b2dc2d9bd6d757b33863cb2376cee90c4d06431827e1bb4d40b59dd0860b337901
+$(DL_FILE)_BLAKE2 = 9567c55b47c0ea5b7836c0d858c16a637c4a2054486a9d9ca6cd9951a92381bdf4f49d7dc0be0c9c9131802120d0af2e542a3997f01484c89ba135b3c46db795
 
 install : $(TARGET)
 
@@ -84,56 +84,30 @@  $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 	@$(PREBUILD)
 	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
 	$(UPDATE_AUTOMAKE)
-	cd $(DIR_APP) && find . -name "Makefile.*" | xargs sed -e "s/-Werror//g" -i
-	cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0001-src-utils_mount.h-Add-stdio.h.patch
-	cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0002-Don-t-notify-continuously-when-MySQL-slave-SQL-threa.patch
-	cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0003-curl_xml.c-avoid-using-uninitalized-variable-in-erro.patch
-	cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0004-interface.c-FreeBSD-10-support.patch
-	cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0005-Revert-curl_xml.c-avoid-using-uninitalized-variable-.patch
-	cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0006-network-set_thread_cbs-so-we-initialize-the-right-th.patch
-	cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0007-apache-plugin-Call-curl_global_init-from-the-init-fu.patch
-	cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0008-network-comment-libgcrypt-initalization-process.patch
-	cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0009-Call-curl_global_init-in-_init-of-plugins-using-curl.patch
-	cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0010-indent-wh_init-to-be-consistent-with-the-rest-of-the.patch
-	cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0011-Configparser-when-we-alocate-an-empty-list-we-also-n.patch
-	cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0012-don-t-assume-pkg-config-is-in-PATH.patch
-	cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0013-add-missing-backticks-which-broke-the-build.patch
-	cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0014-snmp-free-snmp_pdu-struct-allocated-by-snmp_pdu_crea.patch
-	cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0015-curl_xml-plugin-Fixed-tautological-pointer-compariso.patch
-	cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0016-Add-support-for-OpenVPN-2.3.0-status-files.patch
-	cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0017-openvpn-plugin-Don-t-signal-an-error-when-no-clients.patch
-	cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0018-openvpn-Remove-boguous-file-handler-check.patch
-	cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0019-openvpn-Ignore-not-fully-established-connections.patch
-	cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0020-openvpn-Make-read-functions-robust-like-in-8516f9abb.patch
-	cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0021-openvpn-Fix-copy-and-paste-error.patch
-	cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0022-openvpn-Change-data-type-from-COUNTER-to-DERIVE.patch
-	cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/collectd/collectd-4.10.9-cpufreq_skip_disabled_cores.patch
-	cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/silence-openvpn-errors.patch
-	cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd-4.10.9-xfs-compile-fix.patch
-	cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd-4.10-libiptc-build-fixes.patch
-	cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/collectd-4.10.9-remove-checks-for-SENSORS_API_VERSION-upper-limit.patch
-	cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/collectd-4.10-drop-linux-disk-module.patch
-	cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/collectd-4.10.9-fix-glibc-headers.patch
-
-	cd $(DIR_APP) && autoupdate -v configure.in
-	cd $(DIR_APP) && autoreconf -vfi
-	cd $(DIR_APP)/libltdl && autoreconf -vfi
-	cd $(DIR_APP) && ./configure --prefix=/usr --localstatedir=/var \
-		--disable-{apple_sensors,csv,ipvs,mbmon,memcached,mysql} \
-		--disable-{netlink,nginx,nut,perl,serial,snmp,tape,vserver,xmms} \
-		--disable-{perl,serial,snmp,tape,vserver,xmms} \
-		--enable-{apcups,battery,cpu{,freq},df,disk,dns,email,entropy,exec,hddtemp} \
-		--enable-{interface,iptables,irq,load,logfile,memory,multimeter} \
-		--enable-{network,nfs,ntpd,ping,processes,rrdtool,sensors,swap,syslog} \
-		--enable-{tcpconns,unixsock,users,wireless} \
-		--with-librrd=/usr/share/rrdtool-1.2.30 \
-		--with-fp-layout=nothing
-	cd $(DIR_APP) && make install #collectd-4 does not support parallel build
+	cd $(DIR_APP) && ./configure \
+			--prefix=/usr \
+			--localstatedir=/var \
+			--disable-{apple_sensors,battery,bind,csv,ipvs,mbmon} \
+			--disable-{memcached,multimeter,mysql,netlink,nginx} \
+			--disable-{perl,serial,snmp,tape,vserver,xmms} \
+			--enable-{apcups,cpu{,freq},df,disk,dns,email,entropy,exec,hddtemp} \
+			--enable-{interface,iptables,irq,load,logfile,memory,network} \
+			--enable-{nfs,ntpd,nut,ping,processes,rrdtool,sensors,swap,syslog} \
+			--enable-{tcpconns,unixsock,users,wireless} \
+			--with-librrd=/usr/lib \
+			--with-fp-layout=nothing \
+			--disable-werror \
+			--with-libgcrypt=/usr \
+			GCRYPT_LIBS=-lgcrypt
+	cd $(DIR_APP) && make $(MAKETUNING)
+	cd $(DIR_APP) && make install
 	mkdir /etc/collectd.d
 	echo "# Put custom configfiles in this folder" > /etc/collectd.d/info
 	cp -vf $(DIR_SRC)/config/collectd/collectd.* /etc/
 	mv /etc/collectd.vpn /var/ipfire/ovpn/collectd.vpn
 	chown nobody.nobody /var/ipfire/ovpn/collectd.vpn
+	# install the collectd 4.x to 5.x migration program
+	install -v -m 755 -o root $(DIR_APP)/contrib/migrate-4-5.px /var/ipfire/collectd-migrate-4-to-5.pl
 	ln -f -s ../var/ipfire/ovpn/collectd.vpn /etc/collectd.vpn
 	ln -f -s ../init.d/collectd /etc/rc.d/rc0.d/K50collectd
 	ln -f -s ../init.d/collectd /etc/rc.d/rc3.d/S29collectd