24 Commits

Author SHA1 Message Date
Thomas Perale 80cfdcb86b package/bird: fix build failure with bfd
The 'bird' package with only the `BR2_PACKAGE_BIRD_BFD=y` protocol
enabled fails to build with the following error

```
bison  -Dparse.lac=full -Dparse.error=verbose -dv -pcf_ -b obj/conf/cf-parse obj/conf/cf-parse.y
proto/bfd/config.Y:204.27-33: error: symbol 'ADDRESS' is used, but is not defined as a token and has no rules
  204 |  | bfd_show_sessions_args ADDRESS net_or_ipa { net_copy(&($$->address...
      |                           ^~~~~~~
```

The `ADDRESS` token is defined only when certain protocols (e.g. OSPF,
RIP, RPKI, or BGP) are enabled. As a result, builds including any of
these protocols do not encounter the issue.

The issue can be reproduced with the commands:

    cat >.config <<EOF
    BR2_aarch64=y
    BR2_TOOLCHAIN_EXTERNAL=y
    BR2_PACKAGE_BIRD=y
    BR2_PACKAGE_BIRD_BFD=y
    # BR2_PACKAGE_BIRD_BGP is not set
    EOF
    make olddefconfig
    make bird

This patch backports upstream commits that define the `ADDRESS` token
for the BFD protocol.

Fixes:
https://autobuild.buildroot.org/results/68c5dd84585a7018ad57ea3e7134748c08858ef7/

Signed-off-by: Thomas Perale <thomas.perale@mind.be>
[Julien: add commands to reproduce the issue]
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-05-06 22:03:28 +02:00
Romain Naour 99bfbef093 package: remove BR2_nios2 symbol
Remaining "nios2" strings come from existing patches that
are not removed with along with BR2_nios2 symbol.

Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-01-15 21:30:36 +01:00
Waldemar Brodkorb 9173306d24 package/bird: update to 2.15.1
See here for a changelog:
https://gitlab.nic.cz/labs/bird/-/blob/master/NEWS

An uClibc-ng based system needs _GNU_SOURCE in the CFLAGS to
provide getrandom().

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-08-12 22:15:17 +02:00
itzwam eb940ab43d package/bird: bump to version 2.0.12
Bugfix release, with "Important bugfixes".  For details, see the
announcement:

https://bird.network.cz/pipermail/bird-users/2023-January/016560.html

Signed-off-by: Itz 'toinux' Wam <itz.wam@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-06-04 12:47:21 +02:00
Fabrice Fontaine 8024bae870 package/bird: bump to version 2.0.11
https://bird.network.cz/pipermail/bird-users/2022-December/016431.html

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-12-23 10:57:12 +01:00
Arnout Vandecappelle (Essensium/Mind) 0e017b4c7b package/bird: bump to 2.0.10
While we're at it, update URL to https instead of ftp.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2022-07-26 22:04:21 +02:00
Fabrice Fontaine 1d3d2d2741 package/bird: fix build with autoconf >= 2.70
Fix the following build failure raised since bump of autoconf to version
2.71 in commit ecd54b65c1:

checking for glob.h... no
configure: error: glob.h not found.

configure:5207: checking for glob.h
configure:5230: /data/buildroot-autobuilder/instance-0/output-1/host/bin/mips64el-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os -g0  -pthread -fno-strict-aliasing -fno-strict-overflow -flto -Wall -Wextra -Wstrict-prototypes -Wno-parentheses -Wno-pointer-sign -Wno-missing-field-initializers -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -pthread -flto=4 -g conftest.c  >&5
/data/buildroot-autobuilder/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/mips64el-buildroot-linux-uclibc/8.4.0/../../../../mips64el-buildroot-linux-uclibc/bin/ld: /tmp/ccDboxph.ltrans0.ltrans.o:(.debug_info+0x2a): undefined reference to `conftest.c.0943dc99'
/data/buildroot-autobuilder/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/mips64el-buildroot-linux-uclibc/8.4.0/../../../../mips64el-buildroot-linux-uclibc/bin/ld: /tmp/ccDboxph.ltrans0.ltrans.o:(.debug_info+0x2f): undefined reference to `conftest.c.0943dc99'

This is the same problem that we tried to fix in
03c148c8de by adding AUTORECONF = YES.

The analysis made back then is probably not entirely correct - the issue
only seems to occur with GCC8, not with any earlier or later version,
which hints at a compiler bug. Since the error involves some
LTO-generated functions, the trigger is probably the -flto=4.

Whatever the exact issue is, it is avoided if we make sure that our
CFLAGS replace the default ones instead of being added to them.
Currently, they are added because the configure script doesn't properly
detect that CFLAGS was set.

Add a patch (sent upstream months ago, but it didn't appear in the
release that has been done since then) that makes sure CFLAGS is
properly detected.

Fixes:
 - http://autobuild.buildroot.org/results/d7aab7df196e0f6d6389b87ff29da7c2971e6b6d

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-07-25 21:24:35 +02:00
Fabrice Fontaine 03c148c8de package/bird: needs autoreconf
Since the bump to version 2.0.8 in commit
f5906644b4, bird uses a home-grown "GNU Autoconf
2.69e" instead of standard autoconf 2.69 to generate the configure
script. This fork seems to generate incorrect code: it uses

ac_test_CFLAGS=${CFLAGS+y}

to remember if CFLAGS was saved, while standard autoconf uses

ac_test_CFLAGS=${CFLAGS+set}

The configure.ac code itself, however, uses

if test "$ac_test_CFLAGS" != set ; then

to check if CFLAGS was overridden.

Thus, Buildroot's CFLAGS are not taken into account and this leads to
the following build failure:

checking for glob.h... no
configure: error: glob.h not found.

This build failure is raised because -g0 and -g are both passed to gcc:

configure:5207: checking for glob.h
configure:5230: /data/buildroot-autobuilder/instance-0/output-1/host/bin/mips64el-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os -g0  -pthread -fno-strict-aliasing -fno-strict-overflow -flto -Wall -Wextra -Wstrict-prototypes -Wno-parentheses -Wno-pointer-sign -Wno-missing-field-initializers -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -pthread -flto=4 -g conftest.c  >&5
/data/buildroot-autobuilder/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/mips64el-buildroot-linux-uclibc/8.4.0/../../../../mips64el-buildroot-linux-uclibc/bin/ld: /tmp/ccDboxph.ltrans0.ltrans.o:(.debug_info+0x2a): undefined reference to `conftest.c.0943dc99'
/data/buildroot-autobuilder/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/mips64el-buildroot-linux-uclibc/8.4.0/../../../../mips64el-buildroot-linux-uclibc/bin/ld: /tmp/ccDboxph.ltrans0.ltrans.o:(.debug_info+0x2f): undefined reference to `conftest.c.0943dc99'

-g0 is passed by buildroot and -g is passed by bird if
$ac_test_CFLAGS" != set (since version 2.0.7 and
https://gitlab.nic.cz/labs/bird/-/commit/cc95b4594ac924b40325a4f1adcae5312179db40)

To fix this, we can simply run autoreconf and generate a correct
configure script.

Fixes:
 - http://autobuild.buildroot.org/results/1d2acc9f6b8830adc8b62d6b2e55837abae561a9

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-08-02 16:00:43 +02:00
Fabrice Fontaine f5906644b4 package/bird: bump to version 2.0.8
- Drop patches (already in version)
- Update indentation in hash file (two spaces)

https://gitlab.nic.cz/labs/bird/-/blob/v2.0.8/NEWS

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-07-21 09:25:51 +02:00
Fabrice Fontaine 9070a7355b package/bird: add rpki support
rpki support optionally depends on libssh

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-07-21 09:25:48 +02:00
Fabrice Fontaine 459d725db0 package/bird: add SELinux module
Support for bird is added by the services/bird module in the SELinux
refpolicy.

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-07-21 00:02:22 +02:00
Fabrice Fontaine b68047e324 package/bird: add BIRD_CPE_ID_VENDOR
cpe:2.3:a:nic:bird is a valid CPE identifier for this package:

  https://nvd.nist.gov/products/cpe/search/results?namingFormat=2.3&keyword=cpe%3A2.3%3Aa%3Anic%3Abird

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-05-19 08:12:54 +02:00
Fabrice Fontaine 2c48225ccb package/bird: fix build with gcc 10
Fixes:
 - http://autobuild.buildroot.org/results/3e01f490d76be03f21a0680eb162a0c0267fc1b9

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-08-15 16:14:28 +02:00
Fabrice Fontaine 2e67462388 package/bird: disable on nios2
Build fails with truncation errors:

LD -pthread -o bird obj/conf/cf-parse.tab.o obj/conf/cf-lex.o obj/conf/conf.o obj/filter/filter.o obj/filter/data.o obj/filter/f-util.o obj/filter/tree.o obj/filter/trie.o obj/filter/inst-gen.o obj/lib/bitops.o obj/lib/checksum.o obj/lib/event.o obj/lib/flowspec.o obj/lib/idm.o obj/lib/ip.o obj/lib/lists.o obj/lib/mac.o obj/lib/md5.o obj/lib/mempool.o obj/lib/net.o obj/lib/patmatch.o obj/lib/printf.o obj/lib/resource.o obj/lib/sha1.o obj/lib/sha256.o obj/lib/sha512.o obj/lib/slab.o obj/lib/slists.o obj/lib/strtoul.o obj/lib/tbf.o obj/lib/timer.o obj/lib/xmalloc.o obj/nest/a-path.o obj/nest/a-set.o obj/nest/cli.o obj/nest/cmds.o obj/nest/iface.o obj/nest/locks.o obj/nest/neighbor.o obj/nest/password.o obj/nest/proto.o obj/nest/rt-attr.o obj/nest/rt-dev.o obj/nest/rt-fib.o obj/nest/rt-show.o obj/nest/rt-table.o obj/proto/bgp/attrs.o obj/proto/bgp/bgp.o obj/proto/bgp/packets.o obj/sysdep/linux/netlink.o obj/sysdep/unix/io.o obj/sysdep/unix/krt.o obj/sysdep/unix/log.o obj/sysdep/
 unix/main.o obj/sysdep/unix/random.o
/usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-2/output/host/opt/ext-toolchain/bin/../lib/gcc/nios2-buildroot-linux-gnu/7.4.0/../../../../nios2-buildroot-linux-gnu/bin/ld: FDE encoding in /usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-2/output/host/opt/ext-toolchain/bin/../lib/gcc/nios2-buildroot-linux-gnu/7.4.0/libgcc.a(_divdi3.o)(.eh_frame) prevents .eh_frame_hdr table being created
/usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-2/output/host/opt/ext-toolchain/bin/../lib/gcc/nios2-buildroot-linux-gnu/7.4.0/../../../../nios2-buildroot-linux-gnu/bin/ld: FDE encoding in /usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-2/output/host/opt/ext-toolchain/bin/../lib/gcc/nios2-buildroot-linux-gnu/7.4.0/libgcc.a(_moddi3.o)(.eh_frame) prevents .eh_frame_hdr table being created
/usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-2/output/host/opt/ext-toolchain/bin/../lib/gcc/nios2-buildroot-linux-gnu/7.4.0/../../../../nios2-buildroot-linux-gnu/bin/ld: FDE encoding in /usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-2/output/host/opt/ext-toolchain/bin/../lib/gcc/nios2-buildroot-linux-gnu/7.4.0/libgcc.a(_udivdi3.o)(.eh_frame) prevents .eh_frame_hdr table being created
/usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-2/output/host/opt/ext-toolchain/bin/../lib/gcc/nios2-buildroot-linux-gnu/7.4.0/../../../../nios2-buildroot-linux-gnu/bin/ld: FDE encoding in /usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-2/output/host/opt/ext-toolchain/bin/../lib/gcc/nios2-buildroot-linux-gnu/7.4.0/libgcc.a(_umoddi3.o)(.eh_frame) prevents .eh_frame_hdr table being created
/usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-2/output/host/opt/ext-toolchain/bin/../lib/gcc/nios2-buildroot-linux-gnu/7.4.0/../../../../nios2-buildroot-linux-gnu/bin/ld: obj/filter/filter.o: in function `f_rta_cow.constprop.12':
filter.c:(.text+0x9c): relocation truncated to fit: R_NIOS2_TLS_LE16 against `filter_state'
/usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-2/output/host/opt/ext-toolchain/bin/../lib/gcc/nios2-buildroot-linux-gnu/7.4.0/../../../../nios2-buildroot-linux-gnu/bin/ld: filter.c:(.text+0xe4): relocation truncated to fit: R_NIOS2_TLS_LE16 against `filter_state'

Fixes:
 - http://autobuild.buildroot.org/results/d3971f9e1305c3c4388dbf48763f5a54ba223307

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[yann.morin.1998@free.fr: fix trailing space]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2019-11-10 20:37:35 +01:00
Fabrice Fontaine 11520e3cc5 package/bird: fix build without babel, bgp, ospf, radv, rip or static
Fixes:
 - http://autobuild.buildroot.org/results/0b00948eed9bb8405b70f3f9112ecce99b365f35

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-10-26 12:37:17 +02:00
Adrien Gallouët a06cd129f8 package/bird: bump to version 2.0.7
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-10-16 21:31:59 +02:00
Adrien Gallouët 722b977af9 package/bird: make RIP optional
In commit 529fef57f6 ("package/bird: add
optional protocols") we added options to conditionally enable
different protocol support. However, disabling the RIP support was not
working, so it remained forcefully enabled, and there was no
BR2_PACKAGE_BIRD_RIP option.

However, since the bump to 2.0.6 in commit
b9f43ade0f, this issue has been fixed,
so we can introduce the BR2_PACKAGE_BIRD_RIP option, and make it
really optional.

Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-09-28 23:34:26 +02:00
Adrien Gallouët b9f43ade0f package/bird: bump to version 2.0.6
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2019-09-21 21:05:25 +02:00
Fabrice Fontaine 3fcf71429e package/bird: BFD needs NPTL
Fixes:
 - http://autobuild.buildroot.org/results/ab9ab2cca2c191ae9a8f0ecb2aa2536a3f020301

uClibc linuxthreads does not provide pthread_spin_lock().

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2019-05-01 21:28:47 +02:00
Fabrice Fontaine 141dce5242 package/bird: BFD protocol needs threads
Fixes:
 - http://autobuild.buildroot.org/results/e1f879cb34f9cfbbd14b75f63d25897c5bee53cd

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-03-27 20:13:14 +01:00
Adrien Gallouët 529fef57f6 package/bird: add optional protocols
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
[Thomas:
 - use proper variable names in .mk file
 - add comment in Config.in]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-03-26 19:22:21 +01:00
Adrien Gallouët d0cfe6c8d0 package/bird: bump to version 2.0.4
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-03-12 22:06:54 +01:00
Adrien Gallouët 73f0c6c899 package/bird: bump version to 2.0.3
Patch 0001 is no longer needed as it has been ported to this version.
Also, the README changes but the licence is still GPL-2.0+

Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-02-04 16:58:17 +01:00
Adrien Gallouët f3f296a53e bird: new package
The BIRD project aims to develop a dynamic IP routing daemon with full
support of all modern routing protocols, easy to use configuration
interface and powerful route filtering language

Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
[Thomas:
 - Do not make ncurses/readline mandatory dependencies, since they are
   not. They are only needed when building the BIRD client. Added a
   Config.in sub-option to enable/disable the client. As part of this,
   added ncurses/readline to <pkg>_DEPENDENCIES.
 - Add a patch to fix the installation when the BIRD client is
   disabled, the patch has been submitted upstream.
 - Added host-flex and host-bison to <pkg>_DEPENDENCIES since
   flex/bison are used during the build process.
 - Add BR2_USE_MMU dependency, the code uses fork()
 - Fix alphabetic ordering in DEVELOPERS file.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-10-09 14:46:45 +02:00