diff --git a/package/frr/Config.in b/package/frr/Config.in index 0afd8c61a2..c26b160b2a 100644 --- a/package/frr/Config.in +++ b/package/frr/Config.in @@ -1,15 +1,19 @@ config BR2_PACKAGE_FRR bool "frr" - depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_HAS_THREADS # protobuf-c 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_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 +38,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 diff --git a/package/frr/frr.hash b/package/frr/frr.hash index 4a61084bae..81f8dfdae3 100644 --- a/package/frr/frr.hash +++ b/package/frr/frr.hash @@ -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 diff --git a/package/frr/frr.mk b/package/frr/frr.mk index 1b7d66fc68..7f26fd3c57 100644 --- a/package/frr/frr.mk +++ b/package/frr/frr.mk @@ -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 by frr's ./configure, so gcc's +# GPLv3 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, +# it is only intended for FRR's developments FRR_CONF_OPTS = --with-clippy=$(HOST_DIR)/bin/clippy \ --sysconfdir=/etc/frr \ --localstatedir=/var/run/frr \