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