]> git.proxmox.com Git - mirror_frr.git/blob - debian/rules
Merge pull request #11770 from donaldsharp/static_mpls_label_change
[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.lua,$(DEB_BUILD_PROFILES)),)
25 CONF_LUA=--disable-scripting
26 else
27 CONF_LUA=--enable-scripting
28 endif
29
30 ifeq ($(filter pkg.frr.pim6d,$(DEB_BUILD_PROFILES)),)
31 CONF_PIM6=--disable-pim6d
32 else
33 CONF_PIM6=--enable-pim6d
34 endif
35
36 export PYTHON=python3
37
38 %:
39 dh $@
40
41 override_dh_auto_configure:
42 $(shell dpkg-buildflags --export=sh); \
43 dh_auto_configure -- \
44 --localstatedir=/var/run/frr \
45 --sbindir=/usr/lib/frr \
46 --sysconfdir=/etc/frr \
47 --with-vtysh-pager=/usr/bin/pager \
48 --libdir=/usr/lib/$(DEB_HOST_MULTIARCH)/frr \
49 --with-moduledir=/usr/lib/$(DEB_HOST_MULTIARCH)/frr/modules \
50 LIBTOOLFLAGS="-rpath /usr/lib/$(DEB_HOST_MULTIARCH)/frr" \
51 --disable-dependency-tracking \
52 \
53 $(CONF_RPKI) \
54 $(CONF_LUA) \
55 $(CONF_PIM6) \
56 --with-libpam \
57 --enable-doc \
58 --enable-doc-html \
59 --enable-snmp \
60 --enable-fpm \
61 --disable-protobuf \
62 --disable-zeromq \
63 --enable-ospfapi \
64 --enable-bgp-vnc \
65 --enable-multipath=256 \
66 \
67 --enable-user=frr \
68 --enable-group=frr \
69 --enable-vty-group=frrvty \
70 --enable-configfile-mask=0640 \
71 --enable-logfile-mask=0640 \
72 # end
73
74 override_dh_auto_install:
75 dh_auto_install
76
77 sed -e '1c #!/usr/bin/python3' -i debian/tmp/usr/lib/frr/frr-reload.py
78 sed -e '1c #!/usr/bin/python3' -i debian/tmp/usr/lib/frr/generate_support_bundle.py
79
80 # let dh_systemd_* and dh_installinit do their thing automatically
81 cp tools/frr.service debian/frr.service
82 cp tools/frr@.service debian/frr@.service
83 cp tools/frrinit.sh debian/frr.init
84 -rm -f debian/tmp/usr/lib/frr/frr
85
86 # install config files
87 mkdir -p debian/tmp/etc
88 cp -r tools/etc/* debian/tmp/etc/
89 -rm debian/tmp/etc/frr/daemons.conf
90
91 # drop dev-only files
92 find debian/tmp -name '*.la' -o -name '*.a' -o -name 'lib*.so' | xargs rm -f
93 rm -rf debian/tmp/usr/include
94 -rm debian/tmp/usr/lib/frr/ssd
95
96 # use installed js libraries
97 -rm -f debian/tmp/usr/share/doc/frr/html/_static/jquery.js
98 ln -s /usr/share/javascript/jquery/jquery.js debian/tmp/usr/share/doc/frr/html/_static/jquery.js
99 -rm -f debian/tmp/usr/share/doc/frr/html/_static/underscore.js
100 ln -s /usr/share/javascript/underscore/underscore.js debian/tmp/usr/share/doc/frr/html/_static/underscore.js
101
102 override_dh_auto_build:
103 dh_auto_build -- $(MAKE_SILENT)
104
105 override_dh_installinit:
106 dh_installinit -r
107
108 override_dh_installsystemd:
109 dh_installsystemd -r
110
111 override_dh_makeshlibs:
112 dh_makeshlibs -n
113
114 override_dh_missing:
115 dh_missing --fail-missing
116
117 override_dh_auto_clean:
118 # we generally do NOT want a full distclean since that wipes both
119 # debian/changelog and config.version
120 if test -f Makefile; then make redistclean; fi
121 -rm -f debian/frr.init
122 -rm -f debian/frr.service
123 -rm -f debian/frr@.service