File: rules

package info (click to toggle)
libreswan 4.10-2%2Bdeb12u1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 68,788 kB
  • sloc: ansic: 114,477; sh: 27,411; xml: 12,342; python: 10,400; makefile: 1,658; javascript: 1,358; perl: 584; sed: 534; yacc: 392; awk: 171
file content (66 lines) | stat: -rwxr-xr-x 2,657 bytes parent folder | download
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
#!/usr/bin/make -f

include /usr/share/dpkg/default.mk

%:
	dh $@

# this should track the definition of USERCOMPILE in mk/config.mk:104
# but without -fstack-protector-all for arches that lack stack-protector
ifneq (,$(filter $(DEB_HOST_ARCH), hppa alpha ia64))
export USERCOMPILE = -fno-strict-aliasing -fPIE -DPIE
endif

ifeq ($(DEB_HOST_ARCH_OS),linux)
  ENABLE_SELINUX = USE_LABELED_IPSEC=true USE_LINUX_AUDIT=true
  ENABLE_LIBCAP_NG = USE_LIBCAP_NG=true
else
  ENABLE_SELINUX = USE_LABELED_IPSEC=false USE_LINUX_AUDIT=false
  ENABLE_LIBCAP_NG = USE_LIBCAP_NG=false
endif

PKG_CONFIG ?= pkg-config

NSS_CFLAGS := $(shell $(PKG_CONFIG) --cflags nss)
NSS_LDFLAGS := $(shell $(PKG_CONFIG) --libs nss)

CV25519_AVAILABILITY=$(shell if printf '#include <secoidt.h>\nint main() { return SEC_OID_CURVE25519; }' | $(CC) $(NSS_CFLAGS) -x c - -o /dev/null 2> /dev/null; then echo true; else echo false; fi)
NSS_KDF_AVAILABILITY=$(shell if printf '#include <pkcs11t.h>\n#include <pkcs11n.h>\nint main() { return sizeof(CK_NSS_IKE_PRF_DERIVE_PARAMS) > sizeof(CK_NSS_IKE1_APP_B_PRF_DERIVE_PARAMS); }' | $(CC) $(NSS_CFLAGS) -x c - -o /dev/null 2> /dev/null; then echo true; else echo false; fi)
IPSEC_PROFILE_AVAILABILITY=$(shell if printf '#include <certt.h>\nint main() { return certificateUsageIPsec; }' | $(CC) $(NSS_CFLAGS) -x c - -o /dev/null 2> /dev/null; then echo true; else echo false; fi)
NSS_AVA_MISSING=$(shell if printf '#include <cert.h>\nint main() { return CERT_CompareAVA(NULL,NULL); }' | $(CC) $(NSS_CFLAGS) -x c - $(NSS_LDFLAGS) -o /dev/null ; then echo false; else echo true; fi)

DEBIAN_LIBRESWAN_BUILD_FLAGS = \
		ARCH=$(DEB_HOST_ARCH) \
		OBJDIR=OBJ.$(DEB_HOST_ARCH_OS).$(DEB_HOST_ARCH) \
		IPSECVERSION=$(DEB_VERSION_UPSTREAM) \
		PREFIX=/usr \
		FINALLIBEXECDIR=/usr/libexec/ipsec \
		FINALMANDIR=/usr/share/man \
		FINALNSSDIR=/var/lib/ipsec/nss \
		USE_LDAP=true \
		USE_LIBCURL=true \
		USE_AUTHPAM=true \
		$(ENABLE_LIBCAP_NG) \
		$(ENABLE_SELINUX) \
		USE_DH31=$(CV25519_AVAILABILITY) \
		USE_NSS_KDF=$(NSS_KDF_AVAILABILITY) \
		USE_NSS_IPSEC_PROFILE=$(IPSEC_PROFILE_AVAILABILITY) \
		USE_NSS_AVA_COPY=$(NSS_AVA_MISSING) \
		USE_DNSSEC=true \
		DEFAULT_DNSSEC_ROOTKEY_FILE=/usr/share/dns/root.key

override_dh_auto_build:
	dh_auto_build -- programs \
		$(DEBIAN_LIBRESWAN_BUILD_FLAGS)

override_dh_auto_install-arch:
	# Add here commands to install the package into debian/libreswan
	$(MAKE) install \
		$(DEBIAN_LIBRESWAN_BUILD_FLAGS) \
		DESTDIR=$(CURDIR)/debian/libreswan
	find $(CURDIR)/debian/libreswan -iname '*~' -ls -delete

override_dh_auto_test:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
	debian/tests/cryptocheck
endif