Compiling compat-db 4.1.25 on FC1 and then trying to install it causes apt/yum to remove pam because pam has a db4 = 4.1.25 dependency. Version-Release number of selected component (if applicable): 4.1.25-2.1 Steps to Reproduce: 1. Grab compat-db from FC2. 2. mach -r fc1 build compat-db.spec 3. mach -r fc1 apt-get install compat-db Recommendation: Insert a Provides: db4 = 4.1.25 inside of compat-db.spec to make pam happy. Maybe I should file against pam for putting db4 = 4.1.25, Redhat 9 did not have a problem compiling compat-db 4.1.25-2.1 because pam required the library libdb-4.0.so and not the package itself. Anyway, something fishy is happening, but the Provides: hack works in the interim.
Pam should do Requires: libddb-4.1.so rather than Requires: db4 = 4.1.25 so that the requirement can be satisfied by either db4 or compat-db. Adding an additional Provides: to compat-db is likely to confuse the issue further.
Hmm... the question is how the format of the db files change. See this comment in pam.spec: # We internalize libdb to get a non-threaded copy, but we should at least try # to coexist with the system's copy of libdb, which will be used to make the # files for use by pam_userdb (either by db_load or Perl's DB_File module). It means that the only reason of the Requires in the pam package is compatibility of the database files created. What db versions are file compatible?
As pam doesn't really require libdb to be functional there is now rather Conflict: db4 >= 4.4.0 in the devel pam.