Both libvirt and the netcf library it links to use libnl for doing
things with netlink sockets. libnl comes in a couple of different and
API-incompatible flavors, namely libnl-1.1 and libnl-3. For a long time
Fedora had just libnl-1.1, and libvirt only supported libnl-1.1
Awhile back Fedora gained support for using libnl-3 instead of
libnl-1.1, and did so in a way that allows both libraries (both runtime
and -devel) to still exist on the system at the same time, and programs
can pick which one they want to use.
Even more recently libvirt and netcf got patches to support building
with libnl-3 rather than libnl-1.1 (preferring libnl-3 if both are
available).
Since development (and even bugfixes) of libnl-1.1 is basically dead, I
want to switch over the F18 and later builds of libvirt to use libnl-3,
but this will take careful timing (and some restrictions in the libvirt
specfile) because attempting to run a libnl3-linked libvirt with a
netcf.so that was linked with libnl-1.1 (or vice versa) results in a segv.
Other than the basic use of a Requires: line in the libvirt specfile to
make the newly-libnl3-enabled build of libvirt require a
similarly-enabled build of netcf, does anyone have any recommendations
on making this transition as painless as possible (and as soon as
possible - I obviously want to do this before F18 is released).