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 get-orig-source:
23 uscan --force --verbose --rename
25 config.status: configure
26 dh_testdir
28 for file in config.guess config.sub; do \
29 mv $$file $$file.upstream; \
30 ln -s /usr/share/misc/$$file .; \
31 done
33 ./configure $(CROSS) \
34 --with-layout=debian \
35 --prefix=/usr \
36 --mandir=\$${prefix}/share/man \
37 --infodir=\$${prefix}/share/info \
38 --without-kohana \
39 --with-kohana_system=/usr/share/php/kohana2/system \
40 --with-httpd-conf=/etc/apache2/conf.d \
41 CFLAGS="$(CFLAGS)"
43 build: build-stamp
45 build-stamp: $(QUILT_STAMPFN) config.status
46 dh_testdir
48 # Check whether all patches have been applied.
49 ( cd debian/patches/; for patch in *; do \
50 if test "$$patch" != "series"; then \
51 grep "$$patch" series > /dev/null \
52 || ( echo "$$patch not enabled\!"; exit 1 ); \
53 fi; done )
55 $(MAKE) all
57 touch $@
59 clean: unpatch
60 dh_testdir
61 dh_testroot
62 rm -f build-stamp
64 for file in config.guess config.sub; do \
65 if [ -e $$file.upstream ]; then \
66 rm -f $$file; \
67 mv $$file.upstream $$file; \
68 fi \
69 done
71 [ ! -f Makefile ] || $(MAKE) distclean
73 dh_clean
74 debconf-updatepo
76 install: build
77 dh_testdir
78 dh_testroot
79 dh_prep
80 dh_installdirs
82 $(MAKE) DESTDIR=$(CURDIR)/debian/tmp \
83 INSTALL_OPTS="--owner=root --group=root" install install-config
85 # Ignore install.php (for future debugging don't delete it)
86 touch debian/tmp/usr/share/pnp4nagios/html/install.ignore
88 mkdir -p debian/tmp/usr/share/doc/pnp4nagios/examples/
90 # Move template config dir to /etc/pnp4nagios/templates
91 rmdir debian/tmp/usr/share/pnp4nagios/html/templates
92 mkdir debian/tmp/etc/pnp4nagios/templates
93 mv debian/tmp/usr/share/pnp4nagios/html/templates.special \
94 debian/tmp/usr/share/doc/pnp4nagios/examples/
95 mkdir debian/tmp/etc/pnp4nagios/templates.special
97 mkdir -p debian/tmp/usr/sbin/
98 mv debian/tmp/usr/bin/npcd \
99 debian/tmp/usr/sbin/
100 mv debian/tmp/etc/pnp4nagios/npcd.cfg-sample \
101 debian/tmp/etc/pnp4nagios/npcd.cfg
103 mv debian/tmp/etc/pnp4nagios/process_perfdata.cfg-sample \
104 debian/tmp/etc/pnp4nagios/process_perfdata.cfg
106 mv debian/tmp/etc/pnp4nagios/rra.cfg-sample \
107 debian/tmp/etc/pnp4nagios/rra.cfg
109 mv debian/tmp/etc/pnp4nagios/nagios.cfg-sample \
110 debian/tmp/usr/share/doc/pnp4nagios/examples/nagios.cfg
112 mv debian/tmp/etc/pnp4nagios/misccommands.cfg-sample \
113 debian/tmp/usr/share/doc/pnp4nagios/examples/misccommands.cfg
115 mkdir debian/tmp/usr/share/doc/pnp4nagios/examples/check_commands
116 mv debian/tmp/etc/pnp4nagios/check_commands/check_nwstat.cfg-sample \
117 debian/tmp/usr/share/doc/pnp4nagios/examples/check_commands/check_nwstat.cfg
119 mkdir debian/tmp/usr/share/doc/pnp4nagios/examples/pages
120 mv debian/tmp/etc/pnp4nagios/pages/web_traffic.cfg-sample \
121 debian/tmp/usr/share/doc/pnp4nagios/examples/pages/web_traffic.cfg
123 cp -av contrib/ssi debian/tmp/usr/share/doc/pnp4nagios/examples/
124 rm -fv debian/tmp/usr/share/doc/pnp4nagios/examples/ssi/*.in
126 # Remove external PHP classes/libraries: FPDF, FPDF-TPL, FPDI
127 rm -r debian/tmp/usr/share/pnp4nagios/html/application/vendor/fpdf
129 # Remove external JavaScript files: jQuery and jQuery-UI
130 rm debian/tmp/usr/share/pnp4nagios/html/media/js/jquery-min.js
131 rm debian/tmp/usr/share/pnp4nagios/html/media/js/jquery-ui.min.js
133 # Clean up some files
134 rmdir debian/tmp/usr/bin
135 mv debian/tmp/etc/pnp4nagios/check_commands/check_all_local_disks.cfg-sample \
136 debian/tmp/etc/pnp4nagios/check_commands/check_all_local_disks.cfg
137 rm debian/tmp/etc/pnp4nagios/check_commands/check_nrpe.cfg-sample
139 # Add Debian specific config and placeholder files
140 #touch debian/tmp/etc/pnp4nagios/pages/.placeholder
141 cp -av debian/nagios.cfg debian/tmp/etc/pnp4nagios/
142 cp -av debian/check_commands/* debian/tmp/etc/pnp4nagios/check_commands/
144 cp -av sample-config/httpd.conf debian/tmp/etc/pnp4nagios/apache.conf
146 # Add subdirs to /var/spool/pnp4nagios/ to prepare for different modes
147 mkdir debian/tmp/var/spool/pnp4nagios/nagios
148 mkdir debian/tmp/var/spool/pnp4nagios/npcd
150 # Delete not used and empty directories
151 #rmdir debian/tmp/usr/share/pnp4nagios/html/application/logs/
152 rmdir debian/tmp/usr/share/pnp4nagios/html/application/cache/
153 rmdir debian/tmp/usr/share/pnp4nagios/html/application/hooks/
154 #rmdir debian/tmp/usr/share/pnp4nagios/html/application/libraries/
156 dh_install --sourcedir=debian/tmp --fail-missing
158 # Build architecture-independent files here.
159 binary-indep: build install
160 dh_testdir
161 dh_testroot
162 dh_installchangelogs -i ChangeLog
163 dh_installdocs -A -i AUTHORS README debian/README.Debian
164 dh_installexamples -i
165 dh_installdebconf -i
166 dh_installinit -i
167 dh_installman -i
168 dh_link -i
169 dh_compress -i
170 dh_fixperms -i
171 dh_installdeb -i
172 dh_gencontrol -i
173 dh_md5sums -i
174 dh_builddeb -i
176 # Build architecture-dependent files here.
177 binary-arch: build install
178 dh_testdir
179 dh_testroot
180 dh_installchangelogs -a ChangeLog
181 dh_installdocs -A -a AUTHORS README debian/README.Debian
182 dh_installexamples -a
183 dh_installdebconf -a
184 dh_installinit -ppnp4nagios-bin --name=npcd
185 dh_installman -a man/npcd.8
186 dh_link -a
187 dh_strip -a
188 dh_compress -a
189 dh_fixperms -a
190 dh_installdeb -a
191 dh_shlibdeps -a
192 dh_gencontrol -a
193 dh_md5sums -a
194 dh_builddeb -a
196 binary: binary-indep binary-arch
197 .PHONY: build clean binary-indep binary-arch binary install