Michal Kubecek píše v Po 16. 05. 2016 v 14:48 +0200:
I'm trying to submit an upgrade of Firebird RDBMS
to version 3.0 and
encountered an issue with other packages depending on its libraries,
Firebird 2.5 provided two libraries with the same API: libfbclient
libfbembed. The libfbclient library allows to connect to a firebird
server (local or remote) via TCP while libfbembed allows a direct
to a database stored in a local file (also called embedded server
LibreOffice and some other software use the "embedded server" library
store data in a local database file as a smarter alternative to e.g.
sqlite. In openSUSE, we have three devel packages: firebird-devel
common files, including all header files) libfbclient2-devel
(libfbclient.so and fbclient.pc) and libfbembed-devel (libfbembed.so
With version 3.0, both access modes are now provided by a single
library, libfbclient. I added Provides and Obsoletes for both
libfbclient2-devel (the "2" was an old mistake) and libfbembed-devel
that doesn't really help. First, a package linking against -lfbembed
won't be really satisfied by libfbclient-devel package. Second, this
doesn't resolve build dependency on pkgconfig(fbembed) which
uses (and an explicit "Provides: pkgconfig(fbembed)" won't help even
One idea is to provide a fbembed.pc file with Libs and Cflags copied
from fbclient.pc so that any package using pkgconfig would still
But that doesn't seem to be a clean solution.
It would be nice if one could say "require either libfbclient-devel
or libfbembed-devel" but I
don't think it's possible.
Any other ideas? Or is it something that needs to be sorted out in
packages depending on libfbembed?
This is something that should be sorted out by the packages using
Really you can do nasty stuff like symlink all the stuff and create new
fake .pc file. But it would still work only in SUSE/openSUSE.
What we should do is put new firebird to staging project and report
bugs against all the packages that are failing and release firebird at
the point it actually works with the stuff that we found.