Bug 832225 - libdb-cxx-devel is missing dependency on libdb-cxx
Summary: libdb-cxx-devel is missing dependency on libdb-cxx
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: libdb
Version: rawhide
Hardware: Unspecified
OS: Linux
urgent
urgent
Target Milestone: ---
Assignee: Jindrich Novy
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-06-14 22:42 UTC by Mattias Ellert
Modified: 2013-07-02 23:56 UTC (History)
2 users (show)

Fixed In Version: libdb-5.3.15-5.fc18
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-07-03 10:16:51 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

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!


Note You need to log in before you can comment on or make changes to this bug.