xref: /OK3568_Linux_fs/buildroot/package/frr/frr.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1################################################################################
2#
3# frr
4#
5################################################################################
6
7FRR_VERSION = 7.5.1
8FRR_SITE = $(call github,FRRouting,frr,frr-$(FRR_VERSION))
9FRR_LICENSE = GPL-2.0
10FRR_LICENSE_FILES = COPYING
11FRR_CPE_ID_VENDOR = linuxfoundation
12FRR_CPE_ID_PRODUCT = free_range_routing
13FRR_AUTORECONF = YES
14
15FRR_DEPENDENCIES = host-frr readline json-c \
16	libyang libnl c-ares
17
18HOST_FRR_DEPENDENCIES = host-flex host-bison host-python3
19
20FRR_CONF_OPTS = --with-clippy=$(HOST_DIR)/bin/clippy \
21	--sysconfdir=/etc/frr \
22	--localstatedir=/var/run/frr \
23	--with-moduledir=/usr/lib/frr/modules \
24	--enable-configfile-mask=0640 \
25	--enable-logfile-mask=0640 \
26	--enable-multipath=256 \
27	--disable-ospfclient \
28	--enable-shell-access \
29	--enable-user=frr \
30	--enable-group=frr \
31	--enable-vty-group=frrvty \
32	--disable-capabilities \
33	--enable-fpm
34
35HOST_FRR_CONF_OPTS = --enable-clippy-only
36
37ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
38FRR_CONF_ENV += LIBS=-latomic
39endif
40
41define HOST_FRR_INSTALL_CMDS
42	$(INSTALL) -D -m 0755 $(@D)/lib/clippy $(HOST_DIR)/bin/clippy
43endef
44
45define FRR_INSTALL_CONFIG_FILES
46	$(foreach f,daemons daemons.conf frr.conf vtysh.conf support_bundle_commands.conf,\
47		$(INSTALL) -D -m 0640 $(@D)/tools/etc/frr/$(f) \
48			$(TARGET_DIR)/etc/frr/$(f)
49	)
50	$(RM) $(TARGET_DIR)/etc/frr/*.sample
51endef
52FRR_POST_INSTALL_TARGET_HOOKS += FRR_INSTALL_CONFIG_FILES
53
54define FRR_PERMISSIONS
55	/etc/frr/daemons f 640 frr frr - - - - -
56	/etc/frr/daemons.conf f 640 frr frr - - - - -
57	/etc/frr/frr.conf f 640 frr frr - - - - -
58	/etc/frr/vtysh.conf f 640 frr frrvty - - - - -
59	/etc/frr/support_bundle_commands.conf f 640 frr frr
60endef
61
62define FRR_USERS
63	frr -1 frr -1 * /var/run/frr - frrvty FRR user priv
64endef
65
66define FRR_INSTALL_INIT_SYSV
67	$(INSTALL) -D -m 755 $(FRR_PKGDIR)/S50frr \
68		$(TARGET_DIR)/etc/init.d/S50frr
69endef
70
71$(eval $(autotools-package))
72$(eval $(host-autotools-package))
73