File: rules

package info (click to toggle)
frr 10.5.1-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 76,352 kB
  • sloc: ansic: 687,049; python: 226,152; perl: 6,379; sh: 2,653; cpp: 1,883; makefile: 670; yacc: 397; lex: 363; lisp: 66; xml: 35; javascript: 8
file content (104 lines) | stat: -rwxr-xr-x 2,657 bytes parent folder | download | duplicates (2)
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#!/usr/bin/make -f

include /usr/share/dpkg/architecture.mk

export DEB_BUILD_MAINT_OPTIONS = hardening=+all

# package-specific build profiles
ifeq ($(filter pkg.frr.nortrlib,$(DEB_BUILD_PROFILES)),)
	CONF_RPKI=--enable-rpki
else
	CONF_RPKI=--disable-rpki
endif

ifeq ($(filter pkg.frr.nolua,$(DEB_BUILD_PROFILES)),)
	CONF_LUA=--enable-scripting
else
	CONF_LUA=--disable-scripting
endif

ifeq ($(filter pkg.frr.nopim6d,$(DEB_BUILD_PROFILES)),)
	CONF_PIM6=--enable-pim6d
else
	CONF_PIM6=--disable-pim6d
endif

export PYTHON=python3

%:
	dh ${@} -Bbuild --with=sphinxdoc

override_dh_auto_configure:
	$(shell dpkg-buildflags --export=sh); \
	export LIBS="$${LIBS} -latomic"; \
	dh_auto_configure -- \
		--sbindir=/usr/lib/frr \
		--with-vtysh-pager=/usr/bin/pager \
		--libdir=/usr/lib/$(DEB_HOST_MULTIARCH)/frr \
		--with-moduledir=/usr/lib/$(DEB_HOST_MULTIARCH)/frr/modules \
		LIBTOOLFLAGS="-rpath /usr/lib/$(DEB_HOST_MULTIARCH)/frr" \
		--disable-dependency-tracking \
		\
		$(CONF_RPKI) \
		$(CONF_LUA) \
		$(CONF_PIM6) \
		--with-libpam \
		--enable-doc \
		--enable-doc-html \
		--enable-snmp \
		--enable-fpm \
		--disable-protobuf \
		--disable-zeromq \
		--enable-ospfapi \
		--enable-bgp-vnc \
		--enable-multipath=256 \
		\
		--enable-user=frr \
		--enable-group=frr \
		--enable-vty-group=frrvty \
		--enable-configfile-mask=0640 \
		--enable-logfile-mask=0640

execute_after_dh_auto_install:
	sed -e '1c #!/usr/bin/python3' -i debian/tmp/usr/lib/frr/frr-reload.py
	sed -e '1c #!/usr/bin/python3' -i debian/tmp/usr/lib/frr/generate_support_bundle.py
	sed -e '1c #!/usr/bin/python3' -i debian/tmp/usr/lib/frr/frr_babeltrace.py
	sed -e '1c #!/usr/bin/python3' -i debian/tmp/usr/lib/frr/ospfclient.py

	# let dh_systemd do their thing automatically
	cp build/tools/frr.service debian/frr.service
	cp build/tools/frr@.service debian/frr@.service
	rm -f debian/tmp/usr/lib/frr/frr

	# install config files
	mkdir -p debian/tmp/etc
	cp -r tools/etc/* debian/tmp/etc/
	rm -f debian/tmp/etc/frr/daemons.conf

	# drop dev-only files
	find debian/tmp -name '*.la' -o -name '*.a' -o -name 'lib*.so' | xargs rm -f
	rm -rf debian/tmp/usr/include
	rm -f debian/tmp/usr/lib/*/frr/pkgconfig/frr.pc
	rm -f debian/tmp/usr/lib/frr/ssd

	# drop test-tools files
	rm -f debian/tmp/usr/lib/frr/fpm_listener

override_dh_installsystemd:
	dh_installsystemd -r

override_dh_makeshlibs:
	dh_makeshlibs -n

override_dh_missing:
	dh_missing --fail-missing

ifneq ($(filter nocheck,$(DEB_BUILD_PROFILES) $(DEB_BUILD_OPTIONS)),)
override_dh_auto_test:
	true
endif

execute_after_dh_auto_clean:
	rm -rf tests/.pytest_cache
	rm -f debian/frr.service
	rm -f debian/frr@.service