Red Hat Bugzilla – Bug 832225
libdb-cxx-devel is missing dependency on libdb-cxx
Last modified: 2013-07-02 19:56:12 EDT
Description of problem:
Installing libdb-cxx-devel results in installing a symlink /usr/lib64/libdb_cxx.so that points to a non-existing file. The target of the symlink, /usr/lib/libdb_cxx-5.3.so, is present in the libdb-cxx package.
The guidelines say: "Devel packages are an example of a package that must require their base packages using a fully versioned dependency." If this guideline is followed the libdb-cxx-devel would require libdb-cxx and installing the libdb-cxx-devel would not result in a dangling symlink.
The /usr/include/db_cxx.h is the header file for the libdb_cxx library, and doesn't make sense without it. It should be part of the libdb-cxx-devel package rather than the libdb-devel package.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
Try building a package that build-requires libdb-cxx-devel in koji
For Fedora 15-17 there is no libdb-cxx package. Instead the libdb-cxx-devel package itself contains the runtime library. So in this case there is no dangling symlink when installing the libdb-cxx-devel package. However, in this case, since the runtime library is in the devel package, the devel package is needed at runtime which is another guidelines violation.
The guidelines say: "Specifically, -devel packages must be used to contain files which are intended solely for development or needed only at build-time."
Can the maintainer please give this issue some priority.
Should be fixed in rawhide now.
Thank you for working on this. The new package is much better - but still not OK.
The libdb-cxx-devel package now depends on libdb-cxx, so installing libdb-cxx-devel no longer results in a dangling symlink. Very good.
However, to build using the libdb-cxx you also need the db_cxx.h header file. The new package still puts /usr/include/db_cxx.h and /usr/include/libdb/db_cxx.h in libdb-devel instead of in libdb-cxx-devel. Also since the db_cxx.h header contains a line
The libdb-cxx-devel package (where the db_cxx.h should be) needs a requires on libdb-devel (where the db.h is).
Thanks for your comments. I applied the fixes. Please re-check again and eventually reopen if the fix is still insufficient.
Thank you - the packages now work as expected!