Bug 832225

Summary: libdb-cxx-devel is missing dependency on libdb-cxx
Product: [Fedora] Fedora Reporter: Mattias Ellert <mattias.ellert>
Component: libdbAssignee: Jindrich Novy <jnovy>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: urgent Docs Contact:
Priority: urgent    
Version: rawhideCC: jnovy, pknirsch
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: libdb-5.3.15-5.fc18 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-07-03 10:16:51 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Mattias Ellert 2012-06-14 22:42:45 UTC
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):

libdb-cxx-devel-5.3.15-3.fc18

How reproducible:

Always

Steps to Reproduce:

Try building a package that build-requires libdb-cxx-devel in koji

Actual results:

Build fails

Expected results:

Build succeeds

Additional info:

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."

Comment 1 Mattias Ellert 2012-06-26 07:59:04 UTC
Can the maintainer please give this issue some priority.

Comment 2 Jindrich Novy 2012-07-03 07:31:36 UTC
Should be fixed in rawhide now.

Comment 3 Mattias Ellert 2012-07-03 08:26:01 UTC
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

#include "db.h"

The libdb-cxx-devel package (where the db_cxx.h should be) needs a requires on libdb-devel (where the db.h is).

Comment 4 Jindrich Novy 2012-07-03 10:16:51 UTC
Thanks for your comments. I applied the fixes. Please re-check again and eventually reopen if the fix is still insufficient.

Thanks!

Comment 5 Mattias Ellert 2012-07-03 12:53:58 UTC
Thank you - the packages now work as expected!