'Network User' is now 'Normal User'
[citadel.git] / citadel / debian / rules
index 95d0aa2e86e78193bdf25549d9d700ca9167d4ee..431f8985a6c4c289a468dc2b65d0862513b0b307 100755 (executable)
@@ -11,49 +11,81 @@ export DH_OPTIONS
 
 DEB_DESTDIR = $(CURDIR)/debian/tmp
 
-CFLAGS = -Wall -g
-
+CFLAGS = -Wall -g -Werror=format-security 
 
+COMPILER=
 EXTRA_ARGS=
 PROFILE_ARGS=
-#to enable debugging: export DEB_BUILD_OPTIONS="debug profiling threadoff"
+#to enable debugging: export DEB_BUILD_OPTIONS="debug profiling threadoff rss gcov clang cares"
+ifneq (,$(findstring clang,$(DEB_BUILD_OPTIONS)))
+        COMPILER="clang" 
+endif
 ifneq (,$(findstring profiling,$(DEB_BUILD_OPTIONS)))
        PROFILE_ARGS= --with-gprof
 endif
+
 ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
-       CFLAGS += -O0 -ggdb -rdynamic -D_GNU_SOURCE -MD -MP -D TECH_PREVIEW
+       CFLAGS += -O0 -ggdb -rdynamic -D_GNU_SOURCE -MD -MP -D TECH_PREVIEW -Wcast-align
        LDFLAGS+=-Wl,--no-undefined -Wl,--as-needed
        EXTRA_ARGS = --with-backtrace
+       ifneq (,$(findstring event,$(DEB_BUILD_OPTIONS)))
+               EXTRA_ARGS = --with-backtrace --with-experimental_eventsmtp
+       endif
 else
+       LDFLAGS+=-Wl,--no-undefined -Wl,--as-needed
        CFLAGS += -O2
 endif
 
+ifneq (,$(findstring backtrace,$(DEB_BUILD_OPTIONS)))
+       CFLAGS+= -rdynamic -D_GNU_SOURCE -MD -MP
+       LDFLAGS+=-Wl,--no-undefined -Wl,--as-needed
+       EXTRA_ARGS += --with-backtrace
+endif
+
 ifneq (,$(findstring threadoff,$(DEB_BUILD_OPTIONS)))
        THREAD_ARGS=--without-threaded-client
+       CFLAGS += -D WITH_THREADLOG
 else
        THREAD_ARGS=
 endif
 
+
+ifneq (,$(findstring rss,$(DEB_BUILD_OPTIONS)))
+       CFLAGS += -D DEBUG_RSS
+endif
+
+ifneq (,$(findstring cares,$(DEB_BUILD_OPTIONS)))
+       CFLAGS += -D DEBUG_CARES
+endif
+
+ifneq (,$(findstring iodbg,$(DEB_BUILD_OPTIONS)))
+       CFLAGS += -D BIGBAD_IODBG -D LDAP_INITIALIZE
+endif
+
+ifneq (,$(findstring gcov,$(DEB_BUILD_OPTIONS)))
+       CFLAGS += -fprofile-arcs -ftest-coverage
+       LDFLAGS += -fprofile-arcs -ftest-coverage
+endif
+
 configure: configure-stamp
 configure-stamp:
        dh_testdir
 
-       CFLAGS="$(CFLAGS)" ./configure \
-               --with-prefix=/var/lib/citadel \
-               --with-datadir=/var/lib/citadel \
-               --with-staticdatadir=/usr/share/citadel-server \
-               --with-spooldir=/var/spool/citadel \
-               --with-sysconfdir=/etc/citadel \
-               --with-rundir=/var/run/citadel \
+       export CC=$(COMPILER); export LDFLAGS="$(LDFLAGS)"; export CFLAGS="$(CFLAGS)"; ./configure \
+               --prefix=/var/lib/citadel/ \
+               --with-datadir=/var/lib/citadel/ \
+               --with-helpdir=/usr/share/citadel-server/ \
+               --with-staticdatadir=/etc/citadel/ \
+               --with-spooldir=/var/spool/citadel/ \
+               --with-sysconfdir=/etc/citadel/ \
+               --with-rundir=/var/run/citadel/ \
                --with-docdir=/usr/share/doc/citadel-doc/ \
                --with-ssldir=/etc/ssl/citadel/ \
                --with-utility-bindir=/usr/lib/citadel-server/ \
+               --with-autosysconfdir=/var/lib/citadel/data/ \
+                --with-localedir=/usr/share/ \
                --with-pam \
                --with-db \
-               --with-zlib \
-               --with-ldap \
-               --with-libical \
-               --with-libsieve \
                --enable-debug $(EXTRA_ARGS) $(PROFILE_ARGS) $(THREAD_ARGS)
 
        touch configure-stamp
@@ -77,13 +109,13 @@ clean:
        dh_testroot
        rm -f build-arch-stamp build-indep-stamp configure-stamp
 
-       [ ! -f Makefile ] || $(MAKE) distclean
 
        dh_clean 
        rm -f config.status config.log
+#[ ! -f Makefile ] || $(MAKE) distclean
 
 install: install-indep install-arch
-install-indep:
+install-indep: build-indep
        dh_testdir
        dh_testroot
        dh_clean -k -i 
@@ -93,12 +125,13 @@ install-indep:
 
        dh_install -i --sourcedir=debian/tmp
 
-install-arch:
+install-arch: build-arch
        dh_testdir
        dh_testroot
        dh_clean -k -s 
        dh_installdirs -s
 
+       $(MAKE) install-locale DESTDIR=$(DEB_DESTDIR)
        $(MAKE) DESTDIR=$(DEB_DESTDIR) install-exec-new install-data-new
 
        install -D -p -m0755 database_cleanup.sh \
@@ -120,7 +153,8 @@ binary-common:
        dh_installdebconf       
        dh_installinit --name=citadel
        dh_installman
-       dh_strip
+       dh_strip --dbg-package=citadel-dbg
+       dh_link
        dh_compress 
        dh_fixperms
        dh_makeshlibs