slang: revert parallelized build
[ipfire-2.x.git] / lfs / collectd
1 ###############################################################################
2 #                                                                             #
3 # IPFire.org - A linux based firewall                                         #
4 # Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
5 #                                                                             #
6 # This program is free software: you can redistribute it and/or modify        #
7 # it under the terms of the GNU General Public License as published by        #
8 # the Free Software Foundation, either version 3 of the License, or           #
9 # (at your option) any later version.                                         #
10 #                                                                             #
11 # This program is distributed in the hope that it will be useful,             #
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of              #
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
14 # GNU General Public License for more details.                                #
15 #                                                                             #
16 # You should have received a copy of the GNU General Public License           #
17 # along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
18 #                                                                             #
19 ###############################################################################
20
21 ###############################################################################
22 # Definitions
23 ###############################################################################
24
25 include Config
26
27 PKG_NAME   = collectd
28 VER        = 4.10.9
29
30 THISAPP    = collectd-$(VER)
31 DL_FILE    = $(THISAPP).tar.bz2
32 DL_FROM    = $(URL_IPFIRE)
33 DIR_APP    = $(DIR_SRC)/$(THISAPP)
34 TARGET     = $(DIR_INFO)/$(THISAPP)
35 PROG       = collectd
36
37 DEPS       = ""
38
39 CFLAGS    += -Wno-error=deprecated-declarations
40
41 ###############################################################################
42 # Top-level Rules
43 ###############################################################################
44
45 objects = $(DL_FILE)
46
47 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
48
49 $(DL_FILE)_MD5 = 980dd3387508f9ad209df04a6f7a126c
50
51 install : $(TARGET)
52
53 check : $(patsubst %,$(DIR_CHK)/%,$(objects))
54
55 download :$(patsubst %,$(DIR_DL)/%,$(objects))
56
57 md5 : $(subst %,%_MD5,$(objects))
58
59 dist:
60         $(PAK)
61
62 ###############################################################################
63 # Downloading, checking, md5sum
64 ###############################################################################
65
66 $(patsubst %,$(DIR_CHK)/%,$(objects)) :
67         @$(CHECK)
68
69 $(patsubst %,$(DIR_DL)/%,$(objects)) :
70         @$(LOAD)
71
72 $(subst %,%_MD5,$(objects)) :
73         @$(MD5)
74
75 ###############################################################################
76 # Installation Details
77 ###############################################################################
78
79 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
80         @$(PREBUILD)
81         @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
82         $(UPDATE_AUTOMAKE)
83         cd $(DIR_APP) && find . -name "Makefile.*" | xargs sed -e "s/-Werror//g" -i
84         cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0001-src-utils_mount.h-Add-stdio.h.patch
85         cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0002-Don-t-notify-continuously-when-MySQL-slave-SQL-threa.patch
86         cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0003-curl_xml.c-avoid-using-uninitalized-variable-in-erro.patch
87         cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0004-interface.c-FreeBSD-10-support.patch
88         cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0005-Revert-curl_xml.c-avoid-using-uninitalized-variable-.patch
89         cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0006-network-set_thread_cbs-so-we-initialize-the-right-th.patch
90         cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0007-apache-plugin-Call-curl_global_init-from-the-init-fu.patch
91         cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0008-network-comment-libgcrypt-initalization-process.patch
92         cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0009-Call-curl_global_init-in-_init-of-plugins-using-curl.patch
93         cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0010-indent-wh_init-to-be-consistent-with-the-rest-of-the.patch
94         cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0011-Configparser-when-we-alocate-an-empty-list-we-also-n.patch
95         cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0012-don-t-assume-pkg-config-is-in-PATH.patch
96         cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0013-add-missing-backticks-which-broke-the-build.patch
97         cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0014-snmp-free-snmp_pdu-struct-allocated-by-snmp_pdu_crea.patch
98         cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0015-curl_xml-plugin-Fixed-tautological-pointer-compariso.patch
99         cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0016-Add-support-for-OpenVPN-2.3.0-status-files.patch
100         cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0017-openvpn-plugin-Don-t-signal-an-error-when-no-clients.patch
101         cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0018-openvpn-Remove-boguous-file-handler-check.patch
102         cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0019-openvpn-Ignore-not-fully-established-connections.patch
103         cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0020-openvpn-Make-read-functions-robust-like-in-8516f9abb.patch
104         cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0021-openvpn-Fix-copy-and-paste-error.patch
105         cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/0022-openvpn-Change-data-type-from-COUNTER-to-DERIVE.patch
106         cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd/silence-openvpn-errors.patch
107         cd $(DIR_APP) && patch -p1 -i $(DIR_SRC)/src/patches/collectd-4.10.9-xfs-compile-fix.patch
108         cd $(DIR_APP) && autoreconf -vfi
109         cd $(DIR_APP)/libltdl && autoreconf -vfi
110         cd $(DIR_APP) && ./configure --prefix=/usr --localstatedir=/var \
111                 --disable-{apple_sensors,csv,ipvs,mbmon,memcached,mysql} \
112                 --disable-{netlink,nginx,nut,perl,serial,snmp,tape,vserver,xmms} \
113                 --disable-{perl,serial,snmp,tape,vserver,xmms} \
114                 --enable-{apcups,battery,cpu{,freq},df,disk,dns,email,entropy,exec,hddtemp} \
115                 --enable-{interface,iptables,irq,load,logfile,memory,multimeter} \
116                 --enable-{network,nfs,ntpd,ping,processes,rrdtool,sensors,swap,syslog} \
117                 --enable-{tcpconns,unixsock,users,wireless} \
118                 --with-librrd=/usr/share/rrdtool-1.2.30
119         cd $(DIR_APP) && make install #collectd-4 does not support parallel build
120         cp -vf $(DIR_SRC)/config/collectd/collectd.* /etc/
121         mv /etc/collectd.vpn /var/ipfire/ovpn/collectd.vpn
122         chown nobody.nobody /var/ipfire/ovpn/collectd.vpn
123         ln -f -s ../var/ipfire/ovpn/collectd.vpn /etc/collectd.vpn
124         ln -f -s ../init.d/collectd /etc/rc.d/rc0.d/K50collectd 
125         ln -f -s ../init.d/collectd /etc/rc.d/rc3.d/S29collectd
126         ln -f -s ../init.d/collectd /etc/rc.d/rc6.d/K50collectd 
127         @rm -rf $(DIR_APP)
128         @$(POSTBUILD)