1 #!/usr/bin/make -f
2 # debian/rules for PNP4Nagios
3 #
4 # Written by Sven Velt <sven@velt.de> and Sebastian Harl <tokkee@debian.org>.
6 include /usr/share/quilt/quilt.make
8 # Uncomment this to turn on verbose mode.
9 #export DH_VERBOSE=1
11 # These are used for cross-compiling and for saving the configure script
12 # from having to guess our platform (since we know it already)
13 DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
14 DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
16 ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
17 CROSS= --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
18 else
19 CROSS= --build $(DEB_BUILD_GNU_TYPE)
20 endif
22 CPPFLAGS = $(shell dpkg-buildflags --get CPPFLAGS)
23 CFLAGS = $(shell dpkg-buildflags --get CFLAGS)
25 get-orig-source:
26 uscan --force --verbose --rename
28 config.status: configure
29 dh_testdir
31 for file in config.guess config.sub; do \
32 mv $$file $$file.upstream; \
33 ln -s /usr/share/misc/$$file .; \
34 done
36 ./configure $(CROSS) \
37 --with-layout=debian \
38 --mandir=/usr/share/man \
39 --infodir=/usr/share/info \
40 --without-kohana \
41 --with-kohana_system=/usr/share/php/kohana2/system \
42 --with-httpd-conf=/etc/apache2/conf.d \
43 CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)"
45 build: build-arch build-indep
47 build-arch: build-stamp
49 build-indep: build-stamp
51 build-stamp: $(QUILT_STAMPFN) config.status
52 dh_testdir
54 # Check whether all patches have been applied.
55 ( cd debian/patches/; for patch in *; do \
56 if test "$$patch" != "series"; then \
57 grep "$$patch" series > /dev/null \
58 || ( echo "$$patch not enabled\!"; exit 1 ); \
59 fi; done )
61 $(MAKE) all
63 touch $@
65 clean: unpatch
66 dh_testdir
67 dh_testroot
68 rm -f build-stamp
70 for file in config.guess config.sub; do \
71 if [ -e $$file.upstream ]; then \
72 rm -f $$file; \
73 mv $$file.upstream $$file; \
74 fi \
75 done
77 [ ! -f Makefile ] || $(MAKE) distclean
79 dh_clean
80 rm -f scripts/rrd_modify.pl
81 debconf-updatepo
83 install: build
84 dh_testdir
85 dh_testroot
86 dh_prep
87 dh_installdirs
89 $(MAKE) DESTDIR=$(CURDIR)/debian/tmp \
90 INSTALL_OPTS="--owner=root --group=root" install install-config
92 # Ignore install.php (for future debugging don't delete it)
93 touch debian/tmp/usr/share/pnp4nagios/html/install.ignore
95 mkdir -p debian/tmp/usr/share/doc/pnp4nagios/examples/
97 # Move template config dir to /etc/pnp4nagios/templates
98 rmdir debian/tmp/usr/share/pnp4nagios/html/templates
99 mkdir debian/tmp/etc/pnp4nagios/templates
100 mv debian/tmp/usr/share/pnp4nagios/html/templates.special \
101 debian/tmp/usr/share/doc/pnp4nagios/examples/
102 mkdir debian/tmp/etc/pnp4nagios/templates.special
104 mkdir -p debian/tmp/usr/sbin/
105 mv debian/tmp/usr/bin/npcd \
106 debian/tmp/usr/sbin/
108 mv debian/tmp/etc/pnp4nagios/rra.cfg-sample \
109 debian/tmp/etc/pnp4nagios/rra.cfg
111 mv debian/tmp/etc/pnp4nagios/nagios.cfg-sample \
112 debian/tmp/usr/share/doc/pnp4nagios/examples/nagios.cfg
114 mv debian/tmp/etc/pnp4nagios/misccommands.cfg-sample \
115 debian/tmp/usr/share/doc/pnp4nagios/examples/misccommands.cfg
117 mkdir debian/tmp/usr/share/doc/pnp4nagios/examples/check_commands
118 mv debian/tmp/etc/pnp4nagios/check_commands/check_nwstat.cfg-sample \
119 debian/tmp/usr/share/doc/pnp4nagios/examples/check_commands/check_nwstat.cfg
121 mkdir debian/tmp/usr/share/doc/pnp4nagios/examples/pages
122 mv debian/tmp/etc/pnp4nagios/pages/web_traffic.cfg-sample \
123 debian/tmp/usr/share/doc/pnp4nagios/examples/pages/web_traffic.cfg
125 cp -av contrib/ssi debian/tmp/usr/share/doc/pnp4nagios/examples/
126 rm -fv debian/tmp/usr/share/doc/pnp4nagios/examples/ssi/*.in
128 # Icinga module sample configuration
129 cp debian/icinga-module.cfg debian/tmp/usr/share/doc/pnp4nagios/examples/
131 # Remove external PHP classes/libraries: FPDF, FPDF-TPL, FPDI
132 rm -r debian/tmp/usr/share/pnp4nagios/html/application/vendor/fpdf
134 # Remove external JavaScript files: jQuery and jQuery-UI
135 rm debian/tmp/usr/share/pnp4nagios/html/media/js/jquery-min.js
136 rm debian/tmp/usr/share/pnp4nagios/html/media/js/jquery-ui.min.js
138 # Clean up some files
139 rmdir debian/tmp/usr/bin
140 mv debian/tmp/etc/pnp4nagios/check_commands/check_all_local_disks.cfg-sample \
141 debian/tmp/etc/pnp4nagios/check_commands/check_all_local_disks.cfg
142 rm debian/tmp/etc/pnp4nagios/check_commands/check_nrpe.cfg-sample
144 # Add Debian specific config and placeholder files
145 #touch debian/tmp/etc/pnp4nagios/pages/.placeholder
146 cp -av debian/nagios.cfg debian/tmp/etc/pnp4nagios/
147 cp -av debian/check_commands/* debian/tmp/etc/pnp4nagios/check_commands/
149 cp -av sample-config/httpd.conf debian/tmp/etc/pnp4nagios/apache.conf
151 # Remove unnecessary config files (duplicates)
152 rm -f debian/tmp/etc/pnp4nagios/config_local.php
153 rm -f debian/tmp/etc/pnp4nagios/config.php.0.6*
155 # Add subdirs to /var/spool/pnp4nagios/ to prepare for different modes
156 mkdir debian/tmp/var/spool/pnp4nagios/nagios
157 mkdir debian/tmp/var/spool/pnp4nagios/npcd
159 # Delete not used and empty directories
160 #rmdir debian/tmp/usr/share/pnp4nagios/html/application/logs/
161 rmdir debian/tmp/usr/share/pnp4nagios/html/application/cache/
162 rmdir debian/tmp/usr/share/pnp4nagios/html/application/hooks/
163 #rmdir debian/tmp/usr/share/pnp4nagios/html/application/libraries/
165 mkdir debian/tmp/etc/pnp4nagios/templates.d
166 cp debian/README.templates.d debian/tmp/etc/pnp4nagios/templates.d/README
168 dh_install --sourcedir=debian/tmp --fail-missing
170 # Build architecture-independent files here.
171 binary-indep: build install
172 dh_testdir
173 dh_testroot
174 dh_installchangelogs -i ChangeLog
175 dh_installdocs -A -i AUTHORS README debian/README.Debian
176 dh_installexamples -i
177 dh_installdebconf -i
178 dh_installinit -i
179 dh_installman -i
180 dh_link -i
181 dh_compress -i
182 dh_fixperms -i
183 dh_installdeb -i
184 dh_gencontrol -i
185 dh_md5sums -i
186 dh_builddeb -i
188 # Build architecture-dependent files here.
189 binary-arch: build install
190 dh_testdir
191 dh_testroot
192 dh_installchangelogs -a ChangeLog
193 dh_installdocs -A -a AUTHORS README debian/README.Debian
194 dh_installexamples -a
195 dh_installdebconf -a
196 dh_installinit -ppnp4nagios-bin --name=npcd
197 dh_installinit -ppnp4nagios-bin --name=pnp_gearman_worker
198 dh_installman -a
199 dh_link -a
200 dh_strip -a
201 dh_compress -a
202 dh_fixperms -a
203 dh_installdeb -a
204 dh_shlibdeps -a
205 dh_gencontrol -a
206 dh_md5sums -a
207 dh_builddeb -a
209 binary: binary-indep binary-arch
210 .PHONY: build clean binary-indep binary-arch binary install