pmrep: support -F for csv/stdout
[pcp.git] / debian / rules
blobc0d6e1a97c45c6b9cbf762d5ccf6957b4d94ead2
1 #!/usr/bin/make -f
3 pcp = pcp
4 pcpcfg = pcp-conf
5 libpcp = libpcp3
6 libpcpdev = libpcp3-dev
7 libpcp_pmda = libpcp-pmda3
8 libpcp_pmdadev = libpcp-pmda3-dev
9 libpcp_pmda_perl = libpcp-pmda-perl
10 libpcp_import_perl = libpcp-import-perl
11 pcp_logsummary_perl = libpcp-logsummary-perl
12 libpcp_gui = libpcp-gui2
13 libpcp_guidev = libpcp-gui2-dev
14 libpcp_mmv = libpcp-mmv1
15 libpcp_mmvdev = libpcp-mmv1-dev
16 libpcp_mmv_perl = libpcp-mmv-perl
17 libpcp_trace = libpcp-trace2
18 libpcp_tracedev = libpcp-trace2-dev
19 libpcp_import = libpcp-import1
20 libpcp_importdev = libpcp-import1-dev
21 pcp_import_sar = pcp-import-sar2pcp
22 pcp_import_ganglia = pcp-import-ganglia2pcp
23 pcp_import_mrtg = pcp-import-mrtg2pcp
24 pcp_import_sheet = pcp-import-sheet2pcp
25 pcp_import_iostat = pcp-import-iostat2pcp
26 pcp_import_collectl = pcp-import-collectl2pcp
27 pcp_export_graphite = pcp-export-pcp2graphite
28 pcp_export_zabbix = pcp-export-zabbix-agent
29 pcp_pmda_infiniband = pcp-pmda-infiniband
30 pcp_testsuite = pcp-testsuite
31 pcp_manager = pcp-manager
32 pcp_webapi = pcp-webapi
33 pcp_python = python-pcp
34 pcpgui = pcp-gui
35 pcpdoc = pcp-doc
37 dirpcp = debian/$(pcp)
38 dirpcpcfg = debian/$(pcpcfg)
39 dirlibpcp = debian/$(libpcp)
40 dirlibpcpdev = debian/$(libpcpdev)
41 dirlibpcp_pmda = debian/$(libpcp_pmda)
42 dirlibpcp_pmdadev = debian/$(libpcp_pmdadev)
43 dirlibpcp_pmda_perl = debian/$(libpcp_pmda_perl)
44 dirlibpcp_import_perl = debian/$(libpcp_import_perl)
45 dirpcp_logsummary_perl = debian/$(pcp_logsummary_perl)
46 dirlibpcp_gui = debian/$(libpcp_gui)
47 dirlibpcp_guidev = debian/$(libpcp_guidev)
48 dirlibpcp_mmv = debian/$(libpcp_mmv)
49 dirlibpcp_mmvdev = debian/$(libpcp_mmvdev)
50 dirlibpcp_mmv_perl = debian/$(libpcp_mmv_perl)
51 dirlibpcp_trace = debian/$(libpcp_trace)
52 dirlibpcp_tracedev = debian/$(libpcp_tracedev)
53 dirlibpcp_import = debian/$(libpcp_import)
54 dirlibpcp_importdev = debian/$(libpcp_importdev)
55 dirpcp_import_sar = debian/$(pcp_import_sar)
56 dirpcp_import_ganglia = debian/$(pcp_import_ganglia)
57 dirpcp_import_mrtg = debian/$(pcp_import_mrtg)
58 dirpcp_import_sheet = debian/$(pcp_import_sheet)
59 dirpcp_import_iostat = debian/$(pcp_import_iostat)
60 dirpcp_import_collectl = debian/$(pcp_import_collectl)
61 dirpcp_export_graphite = debian/$(pcp_export_graphite)
62 dirpcp_export_zabbix = debian/$(pcp_export_zabbix)
63 dirpcp_pmda_infiniband = debian/$(pcp_pmda_infiniband)
64 dirpcp_testsuite = debian/$(pcp_testsuite)
65 dirpcp_manager = debian/$(pcp_manager)
66 dirpcp_webapi = debian/$(pcp_webapi)
67 dirpcp_python = debian/$(pcp_python)
68 dirgui = debian/$(pcpgui)
69 dirdoc = debian/$(pcpdoc)
70 allperldir = $(dirlibpcp_pmda_perl) $(dirlibpcp_import_perl) \
71 $(dirpcp_logsummary_perl) $(dirlibpcp_mmv_perl)
72 alldir = $(dirpcp) $(dirpcpcfg) \
73 $(dirlibpcp) $(dirlibpcpdev) \
74 $(dirlibpcp_pmda) $(dirlibpcp_pmdadev) \
75 $(dirlibpcp_trace) $(dirlibpcp_tracedev) \
76 $(dirlibpcp_gui) $(dirlibpcp_guidev) \
77 $(dirlibpcp_import) $(dirlibpcp_importdev) \
78 $(dirlibpcp_mmv) $(dirlibpcp_mmvdev) \
79 $(dirpcp_import_sar) $(dirpcp_import_mrtg) \
80 $(dirpcp_import_ganglia) \
81 $(dirpcp_import_sheet) $(dirpcp_import_iostat) \
82 $(dirpcp_import_collectl) $(dirpcp_testsuite) \
83 $(dirpcp_pmda_infiniband) $(allperldir) \
84 $(dirpcp_manager) $(dirpcp_webapi) \
85 $(dirpcp_python)
87 zip = export GZIP=-9qn
88 pkgpcp = $(zip) NO_CHOWN=true DIST_ROOT=`pwd`/$(dirpcp);
89 pkgpcpgui = $(zip) DIST_ROOT=`pwd`/$(dirgui);
90 pkgpcpdoc = $(zip) DIST_ROOT=`pwd`/$(dirdoc);
91 pkgpcpcfg = $(zip) DIST_ROOT=`pwd`/$(dirpcpcfg);
92 pkglibpcp = $(zip) DIST_ROOT=`pwd`/$(dirlibpcp);
93 pkglibpcp_gui = $(zip) DIST_ROOT=`pwd`/$(dirlibpcp_gui);
94 pkglibpcp_mmv = $(zip) DIST_ROOT=`pwd`/$(dirlibpcp_mmv);
95 pkglibpcp_pmda = $(zip) DIST_ROOT=`pwd`/$(dirlibpcp_pmda);
96 pkglibpcp_trace = $(zip) DIST_ROOT=`pwd`/$(dirlibpcp_trace);
97 pkglibpcp_import = $(zip) DIST_ROOT=`pwd`/$(dirlibpcp_import);
98 pkglibpcp_mmv_perl = $(zip) DIST_ROOT=`pwd`/$(dirlibpcp_mmv_perl);
99 pkglibpcp_pmda_perl = $(zip) DIST_ROOT=`pwd`/$(dirlibpcp_pmda_perl);
100 pkglibpcp_import_perl = $(zip) DIST_ROOT=`pwd`/$(dirlibpcp_import_perl);
101 pkgpcp_logsummary_perl = $(zip) DIST_ROOT=`pwd`/$(dirpcp_logsummary_perl);
102 pkgpcp_import_sar = $(zip) DIST_ROOT=`pwd`/$(dirpcp_import_sar);
103 pkgpcp_import_ganglia = $(zip) DIST_ROOT=`pwd`/$(dirpcp_import_ganglia);
104 pkgpcp_import_mrtg = $(zip) DIST_ROOT=`pwd`/$(dirpcp_import_mrtg);
105 pkgpcp_import_sheet = $(zip) DIST_ROOT=`pwd`/$(dirpcp_import_sheet);
106 pkgpcp_import_iostat = $(zip) DIST_ROOT=`pwd`/$(dirpcp_import_iostat);
107 pkgpcp_import_collectl = $(zip) DIST_ROOT=`pwd`/$(dirpcp_import_collectl);
108 pkgpcp_export_graphite = $(zip) DIST_ROOT=`pwd`/$(dirpcp_export_graphite);
109 pkgpcp_export_zabbix = $(zip) DIST_ROOT=`pwd`/$(dirpcp_export_zabbix);
110 pkgpcp_pmda_infiniband = $(zip) DIST_ROOT=`pwd`/$(dirpcp_pmda_infiniband);
111 pkgpcp_testsuite = $(zip) DIST_ROOT=`pwd`/$(dirpcp_testsuite);
112 pkgpcp_manager = $(zip) NO_CHOWN=true DIST_ROOT=`pwd`/$(dirpcp_manager);
113 pkgpcp_webapi = $(zip) NO_CHOWN=true DIST_ROOT=`pwd`/$(dirpcp_webapi);
114 pkgpcp_python = $(zip) DIST_ROOT=`pwd`/$(dirpcp_python);
116 configure_tools = export DEBUG=-DNDEBUG;
117 # Note: configure options come from $(configure_paths) here, _plus_
118 # any passed in from the environment via $(configure_opts)
119 # ... Makepkgs uses the latter mechanism to refine the configure
120 # options
122 configure_paths = --prefix=/usr --libexecdir=/usr/lib --sysconfdir=/etc --localstatedir=/var --with-rcdir=/etc/init.d --with-sysconfigdir=/etc/default --without-systemd --without-python3
124 checkdir = test -f debian/rules
125 uninstall = cat debian/*.install | sed -e "s,^,debian/$(pcp)/," | xargs rm -f
126 uninstallpy = cat python-pcp.list | sed -e "s,^,debian/$(pcp)/," | xargs rm -fr
127 uninstallpydir = ls -d debian/$(pcp)/usr/lib*/python* | xargs rm -fr
128 uninstalltest = cat debian/$(pcp_testsuite).dirs | sed -e "s,^,debian/$(pcp)/," | xargs rm -fr
129 uninstalldirs = rmdir debian/$(pcp)/usr/include/pcp debian/$(pcp)/usr/include debian/$(pcp)/usr/share/man/man3
130 uninstallib = cat debian/$(pcp_pmda_infiniband).dirs | sed -e "s,^,debian/$(pcp)/," | xargs rm -fr
131 uninstallgui = cat debian/$(pcpgui).dirs | sed -e "s,^,debian/$(pcp)/," | xargs rm -fr
132 uninstallweb = find debian/$(pcp) -iname \*pmweb\* | xargs rm -fr
133 uninstallmgr = find debian/$(pcp) -name \*pmmgr\* | xargs rm -fr
134 unrpathperl = find $(allperldir) -name \*.so | xargs chrpath -d
136 build: build-arch build-indep
137 build-arch: build-stamp
138 build-indep: build-stamp
139 build-stamp: config
140 @echo "== dpkg-buildpackage: build" 1>&2
141 $(MAKE) default
142 touch build-stamp
144 config: .census
145 .census:
146 @echo "== dpkg-buildpackage: configure" 1>&2
147 $(checkdir)
148 autoconf
149 dh_autotools-dev_updateconfig
150 $(configure_tools) ./configure $(configure_paths) $(configure_opts)
151 touch .census
153 clean:
154 @echo "== dpkg-buildpackage: clean" 1>&2
155 $(checkdir)
156 -rm -f build-stamp .census
157 $(MAKE) realclean
158 -rm -rf $(alldir)
159 -rm -f debian/*substvars debian/files* debian/*.debhelper
160 dh_autotools-dev_restoreconfig
161 dh_clean
163 binary-indep:
165 binary-arch: checkroot build-stamp
166 @echo "== dpkg-buildpackage: binary-arch" 1>&2
167 $(checkdir)
168 -rm -rf $(alldir)
169 $(pkgpcp) $(MAKE) -C . install
170 $(pkgpcp_testsuite) $(MAKE) -C qa install
171 $(pkgpcp_manager) $(MAKE) -C src/pmmgr install
172 $(pkgpcp_webapi) $(MAKE) -C src/pmwebapi install
173 $(pkglibpcp_mmv_perl) $(MAKE) -C src/perl/MMV install_perl
174 $(pkglibpcp_pmda_perl) $(MAKE) -C src/perl/PMDA install_perl
175 $(pkglibpcp_import_perl) $(MAKE) -C src/perl/LogImport install_perl
176 $(pkgpcp_logsummary_perl) $(MAKE) -C src/perl/LogSummary install_perl
177 $(pkgpcp_import_sar) $(MAKE) -C src/sar2pcp install
178 $(pkgpcp_import_ganglia) $(MAKE) -C src/ganglia2pcp install
179 $(pkgpcp_import_mrtg) $(MAKE) -C src/mrtg2pcp install
180 $(pkgpcp_import_sheet) $(MAKE) -C src/sheet2pcp install
181 $(pkgpcp_import_iostat) $(MAKE) -C src/iostat2pcp install
182 $(pkgpcp_import_collectl) $(MAKE) -C src/collectl2pcp install
183 $(pkgpcp_export_graphite) $(MAKE) -C src/pcp2graphite install
184 $(pkgpcp_export_zabbix) $(MAKE) -C src/zabbix-agent install
185 #$(pkgpcp_pmda_infiniband) $(MAKE) -C src/pmdas/infiniband install
186 # need the make clean when more than one version of Python installed
187 # to ensure make install after the first version works
188 for V in $(shell pyversions -vr); do \
189 $(pkgpcp_python) $(MAKE) PYTHON=python$$V -C src/python install; \
190 $(MAKE) -C src/python clean; \
191 done
193 dh_installdocs
194 dh_installchangelogs
195 dh_link
196 dh_strip
197 dh_compress
198 dh_fixperms -X/tmp
199 dh_installdirs
200 dh_install --sourcedir=debian/$(pcp)
201 @$(uninstall)
202 @$(uninstallib)
203 @$(uninstallgui)
204 @$(uninstalldirs)
205 @$(uninstalltest)
206 @$(uninstallmgr)
207 @$(uninstallweb)
208 @$(uninstallpydir)
209 @$(uninstallpy)
210 @$(unrpathperl)
211 dh_makeshlibs -N $(libpcp)
212 dh_makeshlibs --package $(libpcp)
213 dh_makeshlibs -N $(libpcp_pmda)
214 dh_makeshlibs --package $(libpcp_pmda)
215 dh_makeshlibs -N $(libpcp_trace)
216 dh_makeshlibs --package $(libpcp_trace)
217 dh_makeshlibs -N $(libpcp_import)
218 dh_makeshlibs --package $(libpcp_import)
219 dh_makeshlibs -N $(libpcp_gui)
220 dh_makeshlibs --package $(libpcp_gui)
221 dh_makeshlibs -N $(libpcp_mmv)
222 dh_makeshlibs --package $(libpcp_mmv)
223 dh_python2 --package $(pcp_python)
224 dh_perl -p $(libpcp_mmv_perl)
225 dh_perl -p $(libpcp_pmda_perl)
226 dh_perl -p $(libpcp_import_perl)
227 dh_perl -p $(pcp_logsummary_perl)
228 dh_perl -p $(pcp_import_sar)
229 dh_perl -p $(pcp_import_ganglia)
230 dh_perl -p $(pcp_import_mrtg)
231 dh_perl -p $(pcp_import_sheet)
232 dh_perl -p $(pcp_import_iostat)
233 dh_installdeb
234 dh_shlibdeps 2>/dev/null # qmake doesn't allow a library list
235 dh_gencontrol 2>/dev/null # squash the python:Versions warning
236 dh_md5sums
238 dh_builddeb
240 binary: binary-indep binary-arch
242 checkroot:
243 test 0 -eq `id -u`
245 .PHONY: binary binary-arch binary-indep clean checkroot