1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- #!/usr/bin/make -f
-
- export DEB_BUILD_MAINT_OPTIONS = hardening=+all reproducible=+fixfilepath
- export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
- export ASAN_OPTIONS=detect_leaks=0
-
- DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
- builddir = debian/build/flavor-
- FLAVORS = release asan
- CONFIG_asan = -DCMAKE_BUILD_TYPE=Debug -DSANITIZE=address -DENABLE_LTO=OFF
- CONFIG_release = -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_LTO=ON
-
- ENABLE_LUAJIT := -DENABLE_LUAJIT=ON -DLUA_ROOT=/luajit-build
-
- # Can be filled by a build system
- EXTRA_ARGS :=
- ENABLE_JEMALLOC := -DENABLE_JEMALLOC=ON
- ENABLE_HYPERSCAN := -DENABLE_HYPERSCAN=ON
-
- ifneq ($(filter $(DEB_HOST_ARCH),arm64),)
- ENABLE_JEMALLOC := -DENABLE_JEMALLOC=OFF
- ENABLE_HYPERSCAN := -DENABLE_HYPERSCAN=ON -DHYPERSCAN_ROOT_DIR=/vectorscan
- endif
-
- %:
- dh $@ --with systemd --parallel
-
- override_dh_auto_configure: $(patsubst %,configure_%,$(FLAVORS))
- configure_%:
- mkdir -p $(builddir)$*
- cd $(builddir)$* && cmake ../../../ -DCONFDIR=/etc/rspamd \
- -DMANDIR=/usr/share/man \
- -DRUNDIR=/run/rspamd \
- -DDBDIR=/var/lib/rspamd \
- -DLOGDIR=/var/log/rspamd \
- -DSHAREDIR=/usr/share/rspamd \
- -DLIBDIR=/usr/lib/rspamd \
- -DINCLUDEDIR=/usr/include \
- -DSYSTEMDDIR=/lib/systemd/system \
- -DCMAKE_INSTALL_PREFIX:PATH=/usr \
- -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON \
- -DDEBIAN_BUILD=1 \
- -DENABLE_PCRE2=ON \
- -DENABLE_LIBUNWIND=ON \
- -DWANT_SYSTEMD_UNITS=ON \
- -DENABLE_LIBCXX=AUTO \
- $(ENABLE_HYPERSCAN) \
- $(ENABLE_LUAJIT) \
- $(ENABLE_JEMALLOC) \
- $(CONFIG_$*) \
- $(EXTRA_ARGS)
-
- override_dh_auto_build: $(patsubst %,build_%,$(FLAVORS))
- build_%:
- dh_auto_build --sourcedirectory=$(builddir)$*
-
- override_dh_strip: $(patsubst %,strip_%,$(FLAVORS))
- strip_%:
- if [ "$*" = "asan" ]; then \
- dh_strip -prspamd-asan --dbg-package=rspamd-asan-dbg ; \
- else \
- dh_strip -prspamd --dbg-package=rspamd-dbg ; \
- fi
-
- override_dh_makeshlibs:
- dh_makeshlibs -Xrspamd-actrie
-
- override_dh_auto_install: $(patsubst %,install_%,$(FLAVORS))
- install_%:
- if [ "$*" = "asan" ]; then \
- cd $(builddir)$* && make install DESTDIR=../../../debian/rspamd-asan ; \
- cd ../../../debian/rspamd-asan && mkdir -p var/lib/rspamd \
- var/log/rspamd \
- etc/rspamd/local.d \
- etc/rspamd/override.d ; \
- else \
- cd $(builddir)$* && make install DESTDIR=../../../debian/rspamd ; \
- cd ../../../debian/rspamd && mkdir -p var/lib/rspamd \
- var/log/rspamd \
- etc/rspamd/local.d \
- etc/rspamd/override.d ; \
- fi
-
- override_dh_fixperms:
- dh_fixperms
- chmod 750 $(CURDIR)/debian/rspamd/var/lib/rspamd
- chmod 750 $(CURDIR)/debian/rspamd/var/log/rspamd
- chmod 750 $(CURDIR)/debian/rspamd-asan/var/lib/rspamd
- chmod 750 $(CURDIR)/debian/rspamd-asan/var/log/rspamd
|