I need to use NSCD, the Name Service Caching Daemon, to decrease load on our LDAP server, on my SLES10 systems. In my experience, the default nscd, supplied as part of GNU LibC, is garbage, and will break horribly every few hours. As a result, using a replacement, such as unscd or gnscd is mandatory.
There aren't packages for either of these in SLES10, so compiling up a package is required. However, there's a problem with AppArmor - in SLE10, every single app has had its AppArmor profile merged together into one big "apparmor-profiles" package, rather than letting each package provide its own profile - and unscd/gnscd don't work with the profiles in apparmor-profiles.
When making a Debian package, it's possible to specify a relationship called Replaces:, which says "I know I include the same file as this other package, but I can overwrite their file as long as their version matches this check". As a result, I could say something like "Replaces: apparmor-profiles (<= 2.0.1-20.20.16)" in my spec file, and I could cleanly replace any file from the apparmor-profiles package.
How would I do the same with RPM, short of recompiling my own apparmor-profiles package with the file removed, or forcing the package through the rpm command (which is asking for problems in the future)?