notmuch/debian/rules
Daniel Kahn Gillmor cd733b079f debian: enable build hardening features
Debian's build hardening toolchain options produce binary artifacts
that are more resistant to compromise.  The most visible change for
notmuch today is likely to be the addition of the "bindnow" linker
flag, which contributes to making the "Global Offset Table" fully
read-only.

See https://wiki.debian.org/Hardening for more details.

Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2019-06-11 07:24:20 -03:00

38 lines
1.2 KiB
Makefile
Executable file

#!/usr/bin/make -f
python3_all = py3versions -s | xargs -n1 | xargs -t -I {} env {}
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
%:
dh $@ --with python2,python3,elpa
override_dh_auto_configure:
BASHCMD=/bin/bash ./configure --prefix=/usr \
--libdir=/usr/lib/$$(dpkg-architecture -q DEB_TARGET_MULTIARCH) \
--includedir=/usr/include \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--sysconfdir=/etc \
--zshcompletiondir=/usr/share/zsh/vendor-completions \
--localstatedir=/var
override_dh_auto_build:
dh_auto_build -- V=1
dh_auto_build --sourcedirectory bindings/python
cd bindings/python && $(python3_all) setup.py build
$(MAKE) -C contrib/notmuch-mutt
override_dh_auto_clean:
dh_auto_clean
dh_auto_clean --sourcedirectory bindings/python
cd bindings/python && $(python3_all) setup.py clean -a
dh_auto_clean --sourcedirectory bindings/ruby
$(MAKE) -C contrib/notmuch-mutt clean
override_dh_auto_install:
dh_auto_install
dh_auto_install --sourcedirectory bindings/python
cd bindings/python && $(python3_all) setup.py install --install-layout=deb --root=$(CURDIR)/debian/tmp
$(MAKE) -C contrib/notmuch-mutt DESTDIR=$(CURDIR)/debian/tmp install
dh_auto_install --sourcedirectory bindings/ruby