1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192
|
#!/usr/bin/make -f
# debian/rules makefile for icinga
# export DH_VERBOSE=1
b := $(shell pwd)/debian
export DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
# -Wall disabled until source is fixed to not print tons of warnings with it. :)
#CFLAGS = -Wall -g
CFLAGS = -g
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0
else
CFLAGS += -O2
endif
SHELL = /bin/sh -e
CONFIGURE = CFLAGS='$(CFLAGS)' ./configure --prefix=/usr \
--mandir=/usr/share/man \
--bindir=/usr/sbin \
--sbindir=/usr/lib/cgi-bin/icinga \
--datarootdir=/usr/share/icinga/htdocs \
--sysconfdir=/etc/icinga \
--infodir=/usr/share/info \
--libexecdir=/usr/lib/nagios/plugins \
--localstatedir=/var/lib/icinga \
--enable-event-broker \
--enable-embedded-perl \
--with-icinga-user=nagios \
--with-icinga-group=nagios \
--with-command-user=nagios \
--with-command-group=nagios \
--with-init-dir=/etc/init.d \
--with-lockfile=/var/run/icinga/icinga.pid \
--with-mail=/usr/bin/mail \
--with-perlcache \
--build=$(DEB_BUILD_GNU_TYPE) \
--host=$(DEB_HOST_GNU_TYPE) \
--with-htmurl=/icinga \
--with-cgiurl=/cgi-bin/icinga \
--enable-idoutils
clean: clean-patched unpatch
clean-patched:
dh_testdir -a
dh_testroot -a
if test -f Makefile; then make distclean; fi
rm -f patch-stamp install-stamp configure-stamp build-stamp fix-configs-stamp
rm -rf debian-configs
-rm contrib/perlxsi.c
find -type d -name autom4te.cache -print0 | xargs -0 -r rm -rf \;
-rm -f platform.h auto-include.h
find -type d -name build -print0 | xargs -0 -r rm -rf \;
find \( -name config.sub -o -name config.guess \) -print0 | xargs -0 -r rm -f \;
dh_clean
debconf-updatepo
fix-configs: fix-configs-stamp
fix-configs-stamp: configure-stamp
mkdir -p debian-configs
sed -e '/Sample CGI/ s/\([0-9]\.[0-9]\.[0-9]\)//' \
-e '/Last Modified/,+1 d' \
sample-config/cgi.cfg > debian-configs/cgi.cfg
sed -e '/Sample Main Config/ s/\([0-9]\.[0-9]\.[0-9]\)//' \
-e '/Last Modified/ d' \
sample-config/icinga.cfg > debian-configs/icinga.cfg
sed -e '/SAMPLE COMMAND DEFINITIONS/ s/\([0-9]\.[0-9]\.[0-9]\)//' \
-e '/Last Modified/,+1 d' \
-e '/^#$$/ d' sample-config/template-object/commands.cfg > debian-configs/commands.cfg
sed -i \
-e "s/^\(db_host=\).*/\1_DBC_DBSERVER_/" \
-e "s/^\(db_servertype=\).*/\1_DBC_DBTYPE_/" \
-e "s/^\(db_port=\).*/\1_DBC_DBPORT_/" \
-e "s/^\(db_name=\).*/\1_DBC_DBNAME_/" \
-e "s/^\(db_user=\).*/\1_DBC_DBUSER_/" \
-e "s/^\(db_pass=\).*/\1_DBC_DBPASS_/" module/idoutils/config/ido2db.cfg-sample
configure: configure-stamp
configure-stamp:
dh_testdir -a
@echo "Doing $@"
if test -f Makefile; then make clean; fi
ln -sf /usr/share/misc/config.sub .
ln -sf /usr/share/misc/config.guess .
rm -f config.cache
$(CONFIGURE)
touch configure-stamp
build: build-stamp
build-stamp: patch-stamp configure-stamp
dh_testdir -a
@echo "Doing $@"
$(MAKE) all
make -C contrib
touch build-stamp
patch: patch-stamp
patch-stamp:
@echo "Doing $@"
dpatch --with-cpp apply-all
dpatch --with-cpp cat-all >patch-stamp
unpatch:
@echo "Doing $@"
dpatch --with-cpp deapply-all
rm -rf patch-stamp debian/patched
install: install-stamp
install-stamp: build-stamp fix-configs-stamp
@echo "Doing $@"
dh_testdir -a
dh_testroot -a
dh_installdirs -a -i
make install-unstripped DESTDIR=$b/tmp INSTALL_OPTS=""
make install-idoutils DESTDIR=$b/icinga-idoutils INSTALL_OPTS=""
make install-api DESTDIR=$b/icinga-phpapi INSTALL_OPTS=""
#We have to rename the sample files
#mv $b/icinga-idoutils/etc/icinga/ido2db.cfg-sample $b/icinga-idoutils/etc/icinga/ido2db.cfg
mv $b/icinga-idoutils/etc/icinga/idomod.cfg-sample $b/icinga-idoutils/etc/icinga/idomod.cfg
mv $b/icinga-idoutils/usr/sbin/idomod.o $b/icinga-idoutils/usr/lib/icinga/
cp module/idoutils/db/mysql/mysql.sql $b/icinga-idoutils/usr/share/dbconfig-common/data/icinga-idoutils/install/mysql
cp module/idoutils/db/pgsql/pgsql.sql $b/icinga-idoutils/usr/share/dbconfig-common/data/icinga-idoutils/install/pgsql
mkdir -p $b/icinga-idoutils/usr/share/dbconfig-common/data/icinga-idoutils/upgrade/mysql/1.0.2
cp module/idoutils/db/mysql/mysql-upgrade-1.0.2-fix-object-relations.sql $b/icinga-idoutils/usr/share/dbconfig-common/data/icinga-idoutils/upgrade/mysql/1.0.2/02_mysql-upgrade-1.0.2-fix-object-relations.sql
cp module/idoutils/db/mysql/mysql-upgrade-1.0.2.sql $b/icinga-idoutils/usr/share/dbconfig-common/data/icinga-idoutils/upgrade/mysql/1.0.2/01_mysql-upgrade-1.0.2.sql
# set up /var/cache/icinga for access by www-data
chgrp www-data ${b}/icinga-common/var/cache/icinga
chmod g+s ${b}/icinga-common/var/cache/icinga
chown root:www-data ${b}/icinga-common/var/lib/icinga/rw
chmod 700 ${b}/icinga-common/var/lib/icinga/rw
dh_install -i
# we use the versions in debian
rm ${b}/tmp/usr/share/icinga/htdocs/js/mootools.js
rm ${b}/tmp/usr/share/icinga/htdocs/js/prototype.js
rm ${b}/tmp/usr/share/icinga/htdocs/js/scriptaculous.js
dh_link -i
dh_lintian
dh_installdocs -i
dh_installman -a -picinga
dh_installexamples
dh_installlogrotate
dh_installchangelogs -i
dh_installinit --name icinga -- defaults 30 18
dh_installinit -picinga-idoutils --name ido2db -- defaults 35 20
chmod 755 ${b}/icinga-common/var/lib/icinga
# the real version is in -cgi
rm ${b}/icinga-common/etc/icinga/cgi.cfg
binary: binary-arch binary-indep
binary-arch: install-stamp
@echo "Doing $@"
dh_testdir -a
dh_testroot -a
dh_installchangelogs -a
dh_installdocs -a
dh_installdebconf -a
dh_install -a
rm -rf ${b}/icinga/usr/share/doc/
rm -rf ${b}/icinga-core/usr/share/doc/
dh_link -a
mkdir -p ${b}/icinga-dbg/usr/bin/
mv contrib/mini_epn ${b}/icinga-dbg/usr/bin/mini_epn_icinga
chmod 600 ${b}/icinga-common/etc/icinga/resource.cfg
# fix permissions of p1
chmod 755 ${b}/icinga-core/usr/lib/icinga/p1.pl
dh_strip -a --dbg-package=icinga-dbg
dh_compress -a
dh_fixperms -a -X/var/cache/icinga
dh_makeshlibs -a -V
dh_installdeb -a
dh_perl -a
dh_shlibdeps -a
dh_gencontrol -a
dh_md5sums -a
dh_builddeb -a
binary-indep: install-stamp
dh_link -i
dh_compress -i
dh_fixperms -i -Xicinga/resource.cfg
dh_installdebconf -i
dh_perl -i
dh_installdeb -i
dh_gencontrol -i
dh_md5sums -i
dh_builddeb -i
.PHONY: binary-indep binary-arch build configure binary install patch unpatch
|