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
