bird redhat repo missing rpms for 1.6.3

Logan V. logan at protiumit.com
Thu Jul 13 04:05:26 CEST 2017


This is in reply to the issue mentioned in the thread from May[1]
where folks were having problems installing BIRD 1.6.3 from the repo
due to the ncurses 6 linking. I experienced the same problem recently
and ended up creating a COPR repository[2] to create BIRD 1.6.3 builds
that are installable on CentOS 6 and 7.

If you just want a working repo to install BIRD 1.6.3 on CentOS from,
you can stop reading here and go install from the linked COPR repo.
For the nuts and bolts of what is published and what was needed to
make this work, read further.

The CentOS 6 build references the BIRD 1.6.3 published src.rpm[3], and
the CentOS 7 build references the Fedora 26 src.rpm[4]. The CentOS 6
build is very straight forward, because BIRD publishes a src.rpm with
an upstart init script.. COPR sources this src.rpm directly, builds it
in their CI system, and publishes it to my repo[5].

Unfortunately the src.rpm that BIRD publishes does not produce a
usable build on CentOS 7 due to the broken init script and lack of a
systemd service unit. I have no idea if any of this has changed since
1.6.3, but as of 1.6.3, there is a line[6] which does not work using
systemd's init backwards compatibility on CentOS 7, since
"${NETWORKING}" and "${NETWORKING_IPV6}" are not set. I later found
that Fedora publishes a BIRD src.rpm along with a systemd service unit
that they use to create their builds on Fedora repos[7]. So instead of
using the BIRD src.rpm to build for CentOS 7, I used the Fedora 26
src.rpm instead which includes the necessary systemd unit file to
create a working CentOS 7 package[8].

For future BIRD releases, I will continue to maintain the COPR repo if
necessary so my ansible-bird role[9] will continue to work on EL6/7
systems. It will be a lot more convenient to maintain the COPR if I
can source EL6 and EL7 builds directly from the BIRD src.rpm, and it
looks like the only roadblock for that is BIRD will need to add a
systemd unit and integrate it to their spec file[10].

Logan

P.S. Thanks to all of the contributors for this excellent software!

[1] http://bird.network.cz/pipermail/bird-users/2017-May/011235.html
[2] https://copr.fedorainfracloud.org/coprs/logan2211/bird/
[3] http://rpm.knot-dns.cz/redhat/bird-1.6.3-1.src.rpm
[4] https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/b/bird-1.6.3-3.fc26.src.rpm
[5] https://copr.fedorainfracloud.org/coprs/logan2211/bird/build/578086/
[6] https://gitlab.labs.nic.cz/labs/bird/blob/v1.6.3/misc/bird.init#L30
[7] http://pkgs.fedoraproject.org/cgit/rpms/bird.git/tree/bird.service
[8] https://copr.fedorainfracloud.org/coprs/logan2211/bird/build/578083/
[9] https://github.com/logan2211/ansible-bird
[10] https://gitlab.labs.nic.cz/labs/bird/blob/v1.6.3/misc/bird.spec


More information about the Bird-users mailing list