Bug 745177

Summary: rpm-4.9.0-9.fc15.i686 has missing requires of db4-utils
Product: [Fedora] Fedora Reporter: Timothy Sink <tim>
Component: rpmAssignee: Panu Matilainen <pmatilai>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 15CC: ffesti, jnovy, pmatilai
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-10-12 07:41:56 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Timothy Sink 2011-10-11 14:50:24 UTC
Description of problem:
The problem seems to be that rpm is linked to db4-utils when I removed
that and am using libdb.5.1.

Version-Release number of selected component (if applicable):


How reproducible:
I updated cyrus-sasldb to work with sendmail and cyrus-imap to work with the
sasldb all linked to libdb.5.1 and "rpm -e --nodeps db4-utils" to resolve
compatiblity issues with that upgrade.

Steps to Reproduce:
1. stable fedora 14 pre-upgraded to 15
2. follow https://bugzilla.redhat.com/show_bug.cgi?id=712943
3. follow https://bugzilla.redhat.com/show_bug.cgi?id=729767
4. yum update -y
  
Actual results:
# yum -y update
Updating:
 389-ds-base                                i686                          
1.2.9.10-2.fc15                           updates                           1.3
M
 389-ds-base-libs                           i686                          
1.2.9.10-2.fc15                           updates                           363
k
 rpm                                        i686                          
4.9.1.2-1.fc15                            updates                           987
k
 rpm-build-libs                             i686                          
4.9.1.2-1.fc15                            updates                            91
k
 rpm-libs                                   i686                          
4.9.1.2-1.fc15                            updates                           245
k
 rpm-python                                 i686                          
4.9.1.2-1.fc15                            updates                            60
k


ERROR with rpm_check_debug vs depsolve:
db4-utils is needed by rpm-4.9.1.2-1.fc15.i686
db4-utils is needed by 389-ds-base-1.2.9.10-2.fc15.i686
Please report this error in http://yum.baseurl.org/report
** Found 3 pre-existing rpmdb problem(s), 'yum check' output follows:
389-ds-base-1.2.9.6-1.fc15.i686 has missing requires of db4-utils
libpanelappletmm-2.26.0-2.fc12.i686 has missing requires of
libpanel-applet-2.so
rpm-4.9.0-9.fc15.i686 has missing requires of db4-utils



Expected results:


Additional info:
I have been working around updating by
# yum -y update --exclude=389-ds-base* --exclude=libpanelappletmm*
--exclude=rpm*
But would be nice to get updates.

Comment 1 Panu Matilainen 2011-10-12 07:41:56 UTC
You can't just rpm -e --nodeps something because it gets in the way and expect things to keep working. I know the db4 vs libdb packaging is problematic, but that does not make this an rpm bug.

Comment 2 Timothy Sink 2011-10-12 13:48:17 UTC
In the case that a dependency package was removed and not replaced with a newer version then that wouldn't be a bug I agree. But since the 5.1 utilities are there and rpm doesn't recognize that then wouldn't that be a bug? Perhaps a lacking feature at least.

Comment 3 Panu Matilainen 2011-10-13 08:57:36 UTC
rpm is linked to db4 still, and the utils need to match that. Otherwise you could very well end up with an rpmdb that rpm itself cannot use if you touch the rpmdb with db-utils of different version. The strict version dependency is there for a reason.

Comment 4 Timothy Sink 2011-10-13 14:08:28 UTC
The problem is that sendmail required libdb.5.x and cyrus-sasl was changed to use libdb.5.x and cyrus-imap was also changed to use libdb.5.x and libdb-utils.5.x to fix the email. Unfortunately the Berkley database developers didn't make db4-utils and libdb-utils install differently and so there was a package conflict. db4-utils had to be removed on my system to make way for the 5.x version even though db4 is still installed. RPM and (389 who is starting the porting process https://bugzilla.redhat.com/show_bug.cgi?id=745168) are the only two packages left on my f15 system that still seem to be compiled against db4. I do realize that this is a big issue and probably isn't as easy as a configure option at compile time, or changing the #include <db.h> to #include <libdb/db.h>. I'm just putting it out there what my home system is doing. I'm still using f14 as a production server with all the head-aches that pre-upgrade to f15 has caused. I may just skip f15 for production all together and do a clean f16 install when that comes out.