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/kohana/system \
40 CFLAGS="$(CFLAGS)"
42 build: build-stamp
44 build-stamp: $(QUILT_STAMPFN) config.status
45 dh_testdir
47 # Check whether all patches have been applied.
48 ( cd debian/patches/; for patch in *; do \
49 if test "$$patch" != "series"; then \
50 grep "$$patch" series > /dev/null \
51 || ( echo "$$patch not enabled\!"; exit 1 ); \
52 fi; done )
54 $(MAKE) all
56 touch $@
58 clean: unpatch
59 dh_testdir
60 dh_testroot
61 rm -f build-stamp
63 for file in config.guess config.sub; do \
64 if [ -e $$file.upstream ]; then \
65 rm -f $$file; \
66 mv $$file.upstream $$file; \
67 fi \
68 done
70 [ ! -f Makefile ] || $(MAKE) distclean
72 dh_clean
74 install: build
75 dh_testdir
76 dh_testroot
77 dh_prep
78 dh_installdirs
80 $(MAKE) DESTDIR=$(CURDIR)/debian/pnp4nagios \
81 INSTALL_OPTS="--owner=root --group=root" install install-config
83 # Ignore install.php (for future debugging don't delete it)
84 touch debian/pnp4nagios/usr/share/pnp4nagios/html/install.ignore
86 # Move template config dir to /etc/pnp4nagios/templates
87 rmdir debian/pnp4nagios/usr/share/pnp4nagios/html/templates
88 mkdir debian/pnp4nagios/etc/pnp4nagios/templates
89 mv debian/pnp4nagios/usr/share/pnp4nagios/html/templates.special \
90 debian/pnp4nagios/usr/share/doc/pnp4nagios/examples/
91 mkdir debian/pnp4nagios/etc/pnp4nagios/templates.special
93 mv debian/pnp4nagios/usr/bin/npcd \
94 debian/pnp4nagios/usr/sbin/
95 mv debian/pnp4nagios/etc/pnp4nagios/npcd.cfg-sample \
96 debian/pnp4nagios/etc/pnp4nagios/npcd.cfg
98 mv debian/pnp4nagios/etc/pnp4nagios/process_perfdata.cfg-sample \
99 debian/pnp4nagios/etc/pnp4nagios/process_perfdata.cfg
101 mv debian/pnp4nagios/etc/pnp4nagios/rra.cfg-sample \
102 debian/pnp4nagios/etc/pnp4nagios/rra.cfg
104 mv debian/pnp4nagios/etc/pnp4nagios/nagios.cfg-sample \
105 debian/pnp4nagios/usr/share/doc/pnp4nagios/examples/nagios.cfg
107 mv debian/pnp4nagios/etc/pnp4nagios/misccommands.cfg-sample \
108 debian/pnp4nagios/usr/share/doc/pnp4nagios/examples/misccommands.cfg
110 mkdir debian/pnp4nagios/usr/share/doc/pnp4nagios/examples/check_commands
111 mv debian/pnp4nagios/etc/pnp4nagios/check_commands/check_nwstat.cfg-sample \
112 debian/pnp4nagios/usr/share/doc/pnp4nagios/examples/check_commands/check_nwstat.cfg
114 mkdir debian/pnp4nagios/usr/share/doc/pnp4nagios/examples/pages
115 mv debian/pnp4nagios/etc/pnp4nagios/pages/web_traffic.cfg-sample \
116 debian/pnp4nagios/usr/share/doc/pnp4nagios/examples/pages/web_traffic.cfg
118 cp -av contrib/ssi debian/pnp4nagios/usr/share/doc/pnp4nagios/examples/
120 # Remove external PHP classes/libraries: FPDF, FPDF-TPL, FPDI
121 rm -r debian/pnp4nagios/usr/share/pnp4nagios/html/application/vendor/fpdf
122 # Link them into ".../vendor/"
123 dh_link /usr/share/php/fpdf /usr/share/pnp4nagios/html/application/vendor/fpdf
124 dh_link /usr/share/php/fpdi /usr/share/pnp4nagios/html/application/vendor/fpdi
126 # Remove external JavaScript files: jQuery and jQuery-UI
127 rm debian/pnp4nagios/usr/share/pnp4nagios/html/media/js/jquery-min.js
128 rm debian/pnp4nagios/usr/share/pnp4nagios/html/media/js/jquery-ui.min.js
129 # Link them
130 dh_link /usr/share/javascript/jquery/jquery.min.js /usr/share/pnp4nagios/html/media/js/jquery-min.js
131 dh_link /usr/share/javascript/jquery-ui/jquery-ui.js /usr/share/pnp4nagios/html/media/js/jquery-ui.min.js
133 # Clean up some files
134 rmdir debian/pnp4nagios/usr/bin
135 mv debian/pnp4nagios/etc/pnp4nagios/check_commands/check_all_local_disks.cfg-sample \
136 debian/pnp4nagios/etc/pnp4nagios/check_commands/check_all_local_disks.cfg
137 rm debian/pnp4nagios/etc/pnp4nagios/check_commands/check_nrpe.cfg-sample
139 # Add Debian specific config and placeholder files
140 #touch debian/pnp4nagios/etc/pnp4nagios/pages/.placeholder
141 cp -av debian/nagios.cfg debian/pnp4nagios/etc/pnp4nagios/
142 cp -av debian/check_commands/* debian/pnp4nagios/etc/pnp4nagios/check_commands/
144 cp -av sample-config/httpd.conf debian/pnp4nagios/etc/pnp4nagios/apache.conf
146 # Add subdirs to /var/spool/pnp4nagios/ to prepare for different modes
147 mkdir debian/pnp4nagios/var/spool/pnp4nagios/nagios
148 mkdir debian/pnp4nagios/var/spool/pnp4nagios/npcd
150 # Delete not used and empty directories
151 #rmdir debian/pnp4nagios/usr/share/pnp4nagios/html/application/logs/
152 rmdir debian/pnp4nagios/usr/share/pnp4nagios/html/application/cache/
153 rmdir debian/pnp4nagios/usr/share/pnp4nagios/html/application/hooks/
154 #rmdir debian/pnp4nagios/usr/share/pnp4nagios/html/application/libraries/
156 # Build architecture-independent files here.
157 binary-indep: build install
158 # We have nothing to do by default.
160 # Build architecture-dependent files here.
161 binary-arch: build install
162 dh_testdir
163 dh_testroot
164 dh_installchangelogs ChangeLog
165 dh_installdocs AUTHORS README
166 dh_installexamples
167 dh_installinit
168 dh_installman
169 dh_link
170 dh_strip
171 dh_compress
172 dh_fixperms
173 dh_installdeb
174 dh_shlibdeps
175 dh_gencontrol
176 dh_md5sums
177 dh_builddeb
179 binary: binary-indep binary-arch
180 .PHONY: build clean binary-indep binary-arch binary install