]>
Commit | Line | Data |
---|---|---|
4d916382 DS |
1 | #!/usr/bin/make -f |
2 | ||
7dc9a305 MW |
3 | # FRRouting Configuration options |
4 | ###################################### | |
5 | # | |
6 | # WANT_xxxx --> Set to 1 for enable, 0 for disable | |
7 | # The following are the defaults. They can be overridden by setting a | |
8 | # env variable to a different value | |
9782a8db | 9 | |
8369dd11 DL |
10 | # -Werror - don't enable this unless you're doing a dev package build |
11 | WANT_WERROR ?= 0 | |
12 | ||
9782a8db | 13 | WANT_OSPFAPI ?= 1 |
f1aaa729 | 14 | WANT_BGP_VNC ?= 1 |
9782a8db | 15 | WANT_CUMULUS_MODE ?= 0 |
16 | WANT_MULTIPATH ?= 1 | |
17 | WANT_SNMP ?= 0 | |
100c355e | 18 | WANT_RPKI ?= 0 |
9782a8db | 19 | |
100c355e MW |
20 | # NOTES: |
21 | # | |
22 | # If you use WANT_RPKI, then there is a new dependency for librtr0 package | |
23 | # and a build dependency of the librtr-dev package. | |
24 | # While the librtr0 is added to the depenencies automatically, the build | |
25 | # dependency can't be changed dynamically and building will fail if the | |
26 | # librtr-dev isn't installed during package build | |
27 | # Tested versions of both packages can be found at | |
28 | # https://ci1.netdef.org/browse/RPKI-RTRLIB/latestSuccessful/artifact | |
29 | # | |
7dc9a305 | 30 | # If multipath is enabled (WANT_MULTIPATH=1), then set number of multipaths here |
100c355e | 31 | # Please be aware that 0 is NOT disabled, but treated as unlimited |
9782a8db | 32 | |
33 | MULTIPATH ?= 256 | |
34 | ||
35 | # Set the following to the value required (or leave alone for the default below) | |
7dc9a305 | 36 | # WANT_FRR_USER is used for the username and groupname of the FRR user account |
9782a8db | 37 | |
38 | WANT_FRR_USER ?= frr | |
39 | WANT_FRR_VTY_GROUP ?= frrvty | |
40 | ||
351c5664 | 41 | # Don't build PDF docs by default |
f9df93fe | 42 | # add build deps: texlive-latex-base, texlive-generic-recommended |
351c5664 QY |
43 | GENERATE_PDF ?= 0 |
44 | ||
7dc9a305 MW |
45 | # |
46 | #################################### | |
47 | ||
4d916382 | 48 | export DH_VERBOSE=1 |
4c2db6ed | 49 | export DEB_BUILD_MAINT_OPTIONS = hardening=+all |
d0af8528 | 50 | export DH_OPTIONS=-v |
4d916382 DS |
51 | |
52 | ifeq ($(WANT_SNMP), 1) | |
53 | USE_SNMP=--enable-snmp | |
54 | $(warning "DEBIAN: SNMP enabled, sorry for your inconvenience") | |
55 | else | |
9782a8db | 56 | USE_SNMP=--disable-snmp |
4d916382 DS |
57 | $(warning "DEBIAN: SNMP disabled, see README.Debian") |
58 | endif | |
59 | ||
9782a8db | 60 | ifeq ($(WANT_OSPFAPI), 1) |
7dc9a305 MW |
61 | USE_OSPFAPI=--enable-ospfapi=yes |
62 | else | |
63 | USE_OSPFAPI=--enable-ospfapi=no | |
64 | endif | |
65 | ||
9782a8db | 66 | ifeq ($(WANT_BGP_VNC), 1) |
7dc9a305 MW |
67 | USE_BGP_VNC=--enable-bgp-vnc=yes |
68 | else | |
69 | USE_BGP_VNC=--enable-bgp-vnc=no | |
70 | endif | |
71 | ||
9782a8db | 72 | USE_FRR_USER=--enable-user=$(WANT_FRR_USER) |
73 | USE_FRR_GROUP=--enable-group=$(WANT_FRR_USER) | |
74 | USE_FRR_VTY_GROUP=--enable-vty-group=$(WANT_FRR_VTY_GROUP) | |
7dc9a305 | 75 | |
9782a8db | 76 | ifeq ($(WANT_MULTIPATH), 1) |
77 | USE_MULTIPATH=--enable-multipath=$(MULTIPATH) | |
7dc9a305 MW |
78 | else |
79 | USE_MULTIPATH=--disable-multipath | |
80 | endif | |
81 | ||
a2ec1de2 | 82 | ifeq ($(WANT_CUMULUS_MODE), 1) |
7dc9a305 MW |
83 | USE_CUMULUS=--enable-cumulus=yes |
84 | else | |
85 | USE_CUMULUS=--enable-cumulus=no | |
86 | endif | |
87 | ||
100c355e MW |
88 | ifeq ($(WANT_RPKI), 1) |
89 | USE_RPKI=--enable-rpki | |
90 | else | |
91 | USE_RPKI=--disable-rpki | |
92 | endif | |
93 | ||
8369dd11 DL |
94 | ifeq ($(WANT_WERROR), 1) |
95 | USE_WERROR=--enable-werror | |
7134904b | 96 | else |
8369dd11 | 97 | USE_WERROR=--disable-werror |
7134904b RZ |
98 | endif |
99 | ||
35dab95b DS |
100 | ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) |
101 | DEBIAN_JOBS := $(subst parallel=,,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) | |
102 | endif | |
103 | ||
104 | ifdef DEBIAN_JOBS | |
105 | MAKEFLAGS += -j$(DEBIAN_JOBS) | |
106 | endif | |
107 | ||
adcc6fb3 DL |
108 | ifeq ($(filter pkg.frr.nosystemd,$(DEB_BUILD_PROFILES)),) |
109 | DH_WITH_SYSTEMD=systemd, | |
110 | USE_SYSTEMD=--enable-systemd=yes | |
89073ff1 | 111 | else |
adcc6fb3 DL |
112 | DH_WITH_SYSTEMD= |
113 | USE_SYSTEMD=--enable-systemd=no | |
100c355e MW |
114 | endif |
115 | ||
adcc6fb3 DL |
116 | %: |
117 | dh $@ --with=$(DH_WITH_SYSTEMD)autoreconf --parallel --dbg-package=frr-dbg --list-missing | |
118 | ||
4d916382 | 119 | override_dh_auto_configure: |
d0af8528 | 120 | if ! [ -e config.status ]; then \ |
4d916382 | 121 | dh_auto_configure -- \ |
d8e4c438 DS |
122 | --enable-exampledir=/usr/share/doc/frr/examples/ \ |
123 | --localstatedir=/var/run/frr \ | |
124 | --sbindir=/usr/lib/frr \ | |
125 | --sysconfdir=/etc/frr \ | |
f1db66bf | 126 | $(USE_SNMP) \ |
7dc9a305 MW |
127 | $(USE_OSPFAPI) \ |
128 | $(USE_MULTIPATH) \ | |
23b53dca | 129 | --enable-fpm \ |
7dc9a305 MW |
130 | $(USE_FRR_USER) $(USE_FRR_GROUP) \ |
131 | $(USE_FRR_VTY_GROUP) \ | |
f1db66bf DS |
132 | --enable-configfile-mask=0640 \ |
133 | --enable-logfile-mask=0640 \ | |
8369dd11 | 134 | $(USE_WERROR) \ |
6fb16c6b | 135 | --with-libpam \ |
adcc6fb3 | 136 | $(USE_SYSTEMD) \ |
7dc9a305 | 137 | $(USE_CUMULUS) \ |
8369dd11 | 138 | --disable-dependency-tracking \ |
4c2db6ed | 139 | $(USE_BGP_VNC) \ |
100c355e | 140 | $(USE_RPKI) \ |
4c2db6ed | 141 | $(shell dpkg-buildflags --export=configure); \ |
d0af8528 | 142 | fi |
4d916382 | 143 | |
4d916382 DS |
144 | override_dh_auto_install: |
145 | dh_auto_install | |
f1db66bf | 146 | |
c650c681 | 147 | # installed in frr-pythontools |
148 | rm debian/tmp/usr/lib/frr/frr-reload.py | |
149 | ||
adcc6fb3 DL |
150 | # let dh_systemd_* and dh_installinit do their thing automatically |
151 | ifeq ($(filter pkg.frr.nosystemd,$(DEB_BUILD_PROFILES)),) | |
152 | cp tools/frr.service debian/frr.service | |
153 | else | |
154 | cp tools/frr debian/frr.init | |
155 | endif | |
f1db66bf | 156 | |
4d916382 | 157 | # install config files |
d8e4c438 DS |
158 | mkdir -p debian/tmp/etc/frr/ |
159 | perl -pi -e 's#^!log file #!log file /var/log/frr/#' debian/tmp/usr/share/doc/frr/examples/*sample* | |
f1db66bf | 160 | |
a188f52b DL |
161 | # we don't need .la files |
162 | rm debian/tmp/usr/lib/*.la | |
163 | rm debian/tmp/usr/lib/frr/modules/*.la |