]> git.proxmox.com Git - mirror_frr.git/blob - debian/rules
bgpd: IPv6 session flapping with MP_REACH_NLRI and 0.0.0.0 in NEXT_HOP attribute
[mirror_frr.git] / debian / rules
1 #!/usr/bin/make -f
2
3 # standard Debian options & profiles
4
5 export DEB_BUILD_MAINT_OPTIONS = hardening=+all
6
7 ifneq (,$(filter terse,$(DEB_BUILD_OPTIONS)))
8 MAKE_SILENT="V=0"
9 export DH_VERBOSE=0
10 else
11 MAKE_SILENT="V=1"
12 export DH_VERBOSE=1
13 export DH_OPTIONS=-v
14 endif
15
16 # package-specific build profiles
17
18 ifeq ($(filter pkg.frr.nortrlib,$(DEB_BUILD_PROFILES)),)
19 CONF_RPKI=--enable-rpki
20 else
21 CONF_RPKI=--disable-rpki
22 endif
23
24 ifeq ($(filter pkg.frr.nosystemd,$(DEB_BUILD_PROFILES)),)
25 DH_WITH_SYSTEMD=systemd,
26 CONF_SYSTEMD=--enable-systemd=yes
27 else
28 DH_WITH_SYSTEMD=
29 CONF_SYSTEMD=--enable-systemd=no
30 endif
31
32 export PYTHON=python3
33
34 %:
35 dh $@ --with=$(DH_WITH_SYSTEMD)autoreconf --parallel
36
37 override_dh_auto_configure:
38 $(shell dpkg-buildflags --export=sh); \
39 dh_auto_configure -- \
40 --enable-exampledir=/usr/share/doc/frr/examples/ \
41 --localstatedir=/var/run/frr \
42 --sbindir=/usr/lib/frr \
43 --sysconfdir=/etc/frr \
44 --with-vtysh-pager=/usr/bin/pager \
45 --libdir=/usr/lib/$(DEB_HOST_MULTIARCH)/frr \
46 --with-moduledir=/usr/lib/$(DEB_HOST_MULTIARCH)/frr/modules \
47 LIBTOOLFLAGS="-rpath /usr/lib/$(DEB_HOST_MULTIARCH)/frr" \
48 --disable-dependency-tracking \
49 \
50 $(CONF_SYSTEMD) \
51 $(CONF_RPKI) \
52 --with-libpam \
53 --enable-doc \
54 --enable-doc-html \
55 --enable-snmp \
56 --enable-fpm \
57 --disable-protobuf \
58 --disable-zeromq \
59 --enable-ospfapi \
60 --enable-bgp-vnc \
61 --enable-multipath=256 \
62 \
63 --enable-user=frr \
64 --enable-group=frr \
65 --enable-vty-group=frrvty \
66 --enable-configfile-mask=0640 \
67 --enable-logfile-mask=0640 \
68 # end
69
70 override_dh_auto_install:
71 dh_auto_install
72
73 sed -e '1c #!/usr/bin/python3' -i debian/tmp/usr/lib/frr/frr-reload.py
74
75 # let dh_systemd_* and dh_installinit do their thing automatically
76 ifeq ($(filter pkg.frr.nosystemd,$(DEB_BUILD_PROFILES)),)
77 cp tools/frr.service debian/frr.service
78 endif
79 cp tools/frrinit.sh debian/frr.init
80 -rm -f debian/tmp/usr/lib/frr/frr
81
82 # install config files
83 mkdir -p debian/tmp/etc
84 cp -r tools/etc/* debian/tmp/etc/
85 -rm debian/tmp/etc/frr/daemons.conf
86
87 sed -e 's#^!log file #!log file /var/log/frr/#' -i debian/tmp/usr/share/doc/frr/examples/*sample*
88
89 # drop dev-only files
90 find debian/tmp -name '*.la' -o -name '*.a' -o -name 'lib*.so' | xargs rm -f
91 rm -rf debian/tmp/usr/include
92 -rm debian/tmp/usr/lib/frr/ssd
93
94 # use installed js libraries
95 -rm -f debian/tmp/usr/share/doc/frr/html/_static/jquery.js
96 ln -s /usr/share/javascript/jquery/jquery.js debian/tmp/usr/share/doc/frr/html/_static/jquery.js
97 -rm -f debian/tmp/usr/share/doc/frr/html/_static/underscore.js
98 ln -s /usr/share/javascript/underscore/underscore.js debian/tmp/usr/share/doc/frr/html/_static/underscore.js
99
100 override_dh_auto_build:
101 dh_auto_build -- $(MAKE_SILENT)
102
103 override_dh_installinit:
104 dh_installinit -r
105
106 override_dh_installsystemd:
107 dh_installsystemd -r
108
109 override_dh_makeshlibs:
110 dh_makeshlibs -n
111
112 override_dh_missing:
113 dh_missing --fail-missing
114
115 override_dh_auto_clean:
116 # we generally do NOT want a full distclean since that wipes both
117 # debian/changelog and config.version
118 if test -f Makefile; then make redistclean; fi
119 -rm -f debian/frr.init
120 -rm -f debian/frr.service