@@ -4,12 +4,17 @@ config BR2_PACKAGE_FRR
depends on !BR2_STATIC_LIBS # libyang
depends on BR2_USE_MMU # fork()
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # json-c, libyang
+ depends on BR2_INSTALL_LIBSTDCPP # protobuf-c
+ depends on BR2_TOOLCHAIN_HAS_THREADS # protobuf-c
+ depends on BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS # protobuf-c
+ depends on BR2_HOST_GCC_AT_LEAST_7 # protobuf-c
select BR2_PACKAGE_BASH
select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # bash
select BR2_PACKAGE_LIBXCRYPT if BR2_TOOLCHAIN_USES_GLIBC
select BR2_PACKAGE_LIBYANG
select BR2_PACKAGE_READLINE
select BR2_PACKAGE_JSON_C
+ select BR2_PACKAGE_PROTOBUF_C
help
The FRRouting Protocol Suite.
@@ -34,7 +39,9 @@ config BR2_PACKAGE_FRR_NHRPD
endif
-comment "frr needs a toolchain w/ threads, dynamic library"
+comment "frr needs a toolchain w/ threads, dynamic library, C++, host gcc >= 7"
+ depends on BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on BR2_USE_MMU
- depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
+ depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \
+ !BR2_INSTALL_LIBSTDCPP || !BR2_HOST_GCC_AT_LEAST_7
@@ -1,3 +1,11 @@
# Locally calculated
-sha256 7ae9d8bafc65bb5d0f21061ac61dbc6cf93b2b05a5dae9e5eec72ed42388551e frr-8.5.4.tar.gz
-sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING
+sha256 6eb254c72dca867fefffd5ded80a6c2d5ce8df223ce93263302db4b8bfbb19c4 frr-9.1.1.tar.gz
+sha256 7bf053957d6c38e39a06a112c60ff35b228d3bd03edbe8c9a03508b051128d16 COPYING
+sha256 f9e0c21faf738da586281c0beaad3cd56204c19085a10fe05e4d3d7f8b5863d2 doc/licenses/BSD-2-Clause
+sha256 aca297b8fd3a43e3bb200f1e2e043c0db6c897325f5ff7f23f7530302a6bf713 doc/licenses/BSD-3-Clause
+sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 doc/licenses/GPL-2.0
+sha256 6d80da3224cbdcf016ea554e00fc9cd933bd1a3417cb5e5b7abf59f6d126761d doc/licenses/ISC
+sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 doc/licenses/LGPL-2.1
+sha256 2a1124bf8bc60f1f59b67e15e3d261b5d60fcd9674a3eace0a5502fd4287d528 doc/licenses/LicenseRef-Skiplist-BSD-0-Clause
+sha256 074415b57c6ba1780483d89e55f40dec3ded96c28aaf47d63c486683ba553e7c doc/licenses/MIT
+sha256 b5065838cbac452dfc855ba6e6e031481ad2c68406f70d21ead9321374653e6c doc/licenses/Unlicense
@@ -4,15 +4,28 @@
#
################################################################################
-FRR_VERSION = 8.5.4
+FRR_VERSION = 9.1.1
FRR_SITE = $(call github,FRRouting,frr,frr-$(FRR_VERSION))
-FRR_LICENSE = GPL-2.0
-FRR_LICENSE_FILES = COPYING
+FRR_LICENSE = GPL-2.0+
+FRR_LICENSE_FILES = \
+ COPYING \
+ doc/licenses/BSD-2-Clause \
+ doc/licenses/BSD-3-Clause \
+ doc/licenses/GPL-2.0 \
+ doc/licenses/ISC \
+ doc/licenses/LGPL-2.1 \
+ doc/licenses/LicenseRef-Skiplist-BSD-0-Clause \
+ doc/licenses/MIT \
+ doc/licenses/Unlicense
+# tools/gcc-plugins/frr-format.[ch] is not enabled at ./configure time, so gcc's GPL3
+# for this plugin does not apply
+# doc/licenses/GPL-3.0
FRR_CPE_ID_VENDOR = linuxfoundation
FRR_CPE_ID_PRODUCT = free_range_routing
FRR_AUTORECONF = YES
FRR_DEPENDENCIES = host-frr readline json-c libyang \
+ protobuf-c \
$(if $(BR2_PACKAGE_C_ARES),c-ares) \
$(if $(BR2_PACKAGE_LIBXCRYPT),libxcrypt)
@@ -22,6 +35,8 @@ FRR_CONF_ENV = \
ac_cv_lib_cunit_CU_initialize_registry=no \
CFLAGS="$(TARGET_CFLAGS) -DFRR_XREF_NO_NOTE"
+# Do not enable -fplugin=frr-format for production, see doc/developer/workflow.rst
+# for more information ; it is only intended for FRR's developments
FRR_CONF_OPTS = --with-clippy=$(HOST_DIR)/bin/clippy \
--sysconfdir=/etc/frr \
--localstatedir=/var/run/frr \
Update to the latest 9.x version. Protobuf becomes mandatory. Thanks to the suggestions from Thomas Petazzoni: since we have added a dependency on BR2_PACKAGE_PROTOBUF_C, we should "import" into FRR's Config.in the protobuf_c's depends and align the comment accordingly too. COPYING hash updated: The COPYING file has evoled toward more details: the respective licenses are listed except the GPLv3 one since it is only required when FRR is compiled with the GCC plugin that extends the printf's type checks. This plugin shall not be enabled for production code. See FRR's workflow.rst document for more information. Signed-off-by: Vincent Jardin <vjardin@free.fr> Suggested-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> --- package/frr/Config.in | 11 +++++++++-- package/frr/frr.hash | 12 ++++++++++-- package/frr/frr.mk | 21 ++++++++++++++++++--- 3 files changed, 37 insertions(+), 7 deletions(-)