File debian.rules of Package zarafa
#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
#
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.
#
# Modified to make a template file for a multi-binary package with separated
# build-arch and build-indep targets by Bill Allombert 2001
# Uncomment this to turn on verbose mode.
export DH_VERBOSE=1
# This has to be exported to make some magic below work.
export DH_OPTIONS
# These are used for cross-compiling and for saving the configure script
# from having to guess our platform (since we know it already)
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
WADIR=$(CURDIR)/debian/zarafa-webaccess
MUCDIR=$(CURDIR)/debian/zarafa-webaccess-muc
INSTDIR=$(CURDIR)/debian/tmp
SMARTYVER=2.6.14
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CONFFLAG = ""
else
CONFFLAG = "--enable-release"
endif
tversion := $(shell tar --version | head -1 | cut -f4 -d\ | head -c 4)
ifeq "$(tversion)" "1.14"
tstrip := --strip-path
else
tstrip := --strip-components
endif
configure: config.status
config.status:
dh_testdir
dpkg-parsechangelog | grep Version | sed -e 's/^Version: [0-9]*\.[0-9]*\.[0-9]*\.\([0-9]*\)/\1/g' > $(CURDIR)/revision
$(CURDIR)/bootstrap.sh
./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \
--with-distro=debian --prefix=/usr --localstatedir=/var \
--sysconfdir=/etc --mandir=\$${prefix}/share/man \
--infodir=\$${prefix}/share/info \
--with-systemunitdir=/lib/systemd/system \
--with-userscript-prefix=/etc/zarafa/userscripts \
--with-quotatemplate-prefix=/etc/zarafa/quotamail \
--disable-static --enable-tcmalloc TCMALLOC_CFLAGS=" " \
TCMALLOC_LIBS="-ltcmalloc_minimal" --enable-epoll \
--enable-unicode --enable-python --enable-swig $(CONFFLAG) \
--enable-icu
# first entry point of dpkg-buildpackage
clean:
dh_testdir
dh_testroot
rm -f build-arch-stamp build-indep-stamp #CONFIGURE-STAMP#
# Add here commands to clean up after the build process.
-$(MAKE) distclean
dh_clean
# second entry point of dpkg-buildpackage
build: build-arch build-indep
build-arch: build-arch-stamp
build-arch-stamp: config.status
# Add here commands to compile the arch part of the package.
# compile zarafa
$(MAKE) -j4 V=1
touch build-arch-stamp
build-indep: build-indep-stamp
build-indep-stamp: config.status
# Add here commands to compile the indep part of the package.
touch build-indep-stamp
# no install entry point
install-indep:
dh_testdir
dh_testroot
dh_clean -k -i
# Add here commands to install the indep part of the package into
# debian/<package>-doc.
#INSTALLDOC#
# because of the dh_clean and zarafa-archiver-extra being arch independant, we need to install these files again
$(MAKE) DESTDIR=$(INSTDIR) install -C swig/python/zarafa
$(MAKE) DESTDIR=$(INSTDIR) install -C po
$(MAKE) DESTDIR=$(INSTDIR) install-man1 -C doc
$(MAKE) DESTDIR=$(INSTDIR) install-man8 -C doc
# and remove non za-sync files
rm -f $(INSTDIR)/usr/share/man/man1/zarafa*
# install web access
$(MAKE) DESTDIR=$(WADIR) install-ajax-webaccess
rm -rf $(WADIR)/var/lib/zarafa-webaccess/plugins/spreed/test $(WADIR)/var/lib/zarafa-webaccess/plugins/spreed.*
# let's not package these
rm -rf $(WADIR)/var/lib/zarafa-webaccess/plugins/smime
rm -rf $(WADIR)/var/lib/zarafa-webaccess/plugins/alfresco
rm -rf $(WADIR)/var/lib/zarafa-webaccess/plugins/zma
# copy webaccess content to debian/tmp as well
cp -avr $(WADIR)/etc/ $(INSTDIR)/etc/
# add apache config
mkdir -p $(WADIR)/etc/apache2/sites-available $(INSTDIR)/etc/apache2/sites-available $(INSTDIR)/usr/share/zarafa-webaccess $(INSTDIR)/var/lib/zarafa-webaccess
cp -av $(WADIR)/usr/share/zarafa-webaccess/zarafa-webaccess.conf $(WADIR)/etc/apache2/sites-available/zarafa-webaccess.conf
cp -av $(WADIR)/usr/share/zarafa-webaccess/zarafa-webaccess.conf $(INSTDIR)/etc/apache2/sites-available/zarafa-webaccess.conf
cp -avr $(WADIR)/usr/share/zarafa-webaccess/* $(INSTDIR)/usr/share/zarafa-webaccess/
cp -avr $(WADIR)/var/lib/zarafa-webaccess/* $(INSTDIR)/var/lib/zarafa-webaccess/
dh_install -i --sourcedir=debian/tmp
install-arch:
dh_testdir
dh_testroot
dh_clean -k -s
# Add here commands to install the arch part of the package into
# debian/tmp.
$(MAKE) DESTDIR=$(INSTDIR) install
# since this is not linked to an initscript anymore, install the file ourselves.
mkdir -p $(INSTDIR)/etc/default
install -o root -g root -m 644 debian/zarafa-common.zarafa.default $(INSTDIR)/etc/default/zarafa
# link userscripts in /usr/share/zarafa/userscripts
mkdir -p $(INSTDIR)/usr/share/zarafa/userscripts
for file in `find $(INSTDIR)/etc/zarafa/userscripts -maxdepth 1 -type f`; do \
mv -v $$file $(INSTDIR)/usr/share/zarafa/userscripts; \
ln -sfv /usr/share/zarafa/userscripts/`basename $$file` $$file; \
done
# move example-config files
for package in spooler gateway monitor dagent ical search archiver; do \
mkdir -p $(INSTDIR)/usr/share/doc/zarafa-$$package/example-config; \
mv -v $(INSTDIR)/usr/share/doc/zarafa/example-config/$$package.cfg $(INSTDIR)/usr/share/doc/zarafa-$$package/example-config; \
done
mv -v $(INSTDIR)/usr/share/doc/zarafa/example-config/autorespond $(INSTDIR)/usr/share/doc/zarafa-dagent/example-config
mkdir -p $(INSTDIR)/usr/share/doc/zarafa-multiserver/example-config
# generate openssl link
CADIR="$(INSTDIR)/etc/zarafa/report-ca"; \
if [ -d "$$CADIR" ]; then for c in $$CADIR/*; do \
ln -sfv `basename $$c` $$CADIR/`openssl x509 -in $$c -noout -hash`.0; \
done; fi
# remove compiled python files
find $(INSTDIR) -name \*.pyc -delete
# add php:Depends
echo php:Depends=phpapi-$(shell php-config5 --phpapi) > debian/php5-mapi.substvars
# Build architecture independent packages using the common target.
binary-indep: install-indep
dh_testdir -i
dh_testroot -i
dh_installdirs -i
# dh_movefiles -i
# installs NEWS files
dh_installchangelogs -i
dh_installdocs -i
dh_installinit
dh_compress -i
dh_fixperms
dh_python2 --no-guessing-versions --no-package=zarafa-webaccess
dh_installdeb -i
dh_gencontrol -i
dh_md5sums -i
dh_builddeb -i
# Build architecture dependant packages using the common target.
binary-arch-real: install-arch
dh_testdir
dh_testroot
# install empty paths not present in 'make install' from <packagename>.dirs file, in actual package directory, not in tmp.
dh_installdirs
dh_install --sourcedir=debian/tmp
dh_installchangelogs
cp -pv $(CURDIR)/installer/licenseagreement/AGPL-3 $(CURDIR)/debian/copyright
dh_installdocs
# dh_installexamples
# dh_installmenu
# dh_installdebconf
# dh_installlogrotate
# dh_installemacsen
# dh_installpam
# dh_installmime
cp -pv ${CURDIR}/installer/linux/zarafa-dagent.init.debi ${CURDIR}/debian/zarafa-dagent.zarafa-dagent.init
cp -pv ${CURDIR}/installer/linux/zarafa-gateway.init.debi ${CURDIR}/debian/zarafa-gateway.zarafa-gateway.init
cp -pv ${CURDIR}/installer/linux/zarafa-ical.init.debi ${CURDIR}/debian/zarafa-ical.zarafa-ical.init
cp -pv ${CURDIR}/installer/linux/zarafa-monitor.init.debi ${CURDIR}/debian/zarafa-monitor.zarafa-monitor.init
cp -pv ${CURDIR}/installer/linux/zarafa-presence.init.debi ${CURDIR}/debian/zarafa-presence.zarafa-presence.init
# cccccombo breaker
cp -pv ${CURDIR}/installer/linux/zarafa-search.init.debi ${CURDIR}/debian/zarafa-search-plus.zarafa-search.init
cp -pv ${CURDIR}/installer/linux/zarafa-server.init.debi ${CURDIR}/debian/zarafa-server.zarafa-server.init
cp -pv ${CURDIR}/installer/linux/zarafa-spooler.init.debi ${CURDIR}/debian/zarafa-spooler.zarafa-spooler.init
dh_installinit -R --name zarafa-dagent
dh_installinit -R --name zarafa-gateway
dh_installinit -R --name zarafa-ical
dh_installinit -R --name zarafa-monitor
dh_installinit -R --name zarafa-presence
dh_installinit -R --name zarafa-search
dh_installinit -R --name zarafa-server
# dh_installcron
# dh_installinfo
# dh_installman
dh_link
dh_strip --dbg-package=zarafa-dbg
dh_compress -X.py -X.pl -Xusr/share/doc/zarafa/zarafa7-upgrade
dh_fixperms
# dh_perl
# dh_python
# dh_pysupport
dh_python2 --no-guessing-versions
dh_makeshlibs
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
# last entry point of dpkg-buildpackage
# but the ubuntu buildsystem may call 'binary-arch' insteadof 'binary' target as entry point
binary-arch: binary
binary:
# make sure these do not run concurrent
$(MAKE) -f debian/rules DH_OPTIONS=-a binary-arch-real
$(MAKE) -f debian/rules DH_OPTIONS=-i binary-indep
.PHONY: build clean binary-indep binary-arch binary install install-indep install-arch