Description of problem: rpm -ivh --test ../RPMS/java-1.4.2-sun-1.4.2.06-1jpp.i586.rpm Password: error: Failed dependencies: libjava.so(SUNWprivate_1.1) is needed by java-1.4.2-sun-1.4.2.06-1jpp.i586 libjvm.so(SUNWprivate_1.1) is needed by java-1.4.2-sun-1.4.2.06-1jpp.i586 libnet.so(SUNWprivate_1.1) is needed by java-1.4.2-sun-1.4.2.06-1jpp.i586 libverify.so(SUNWprivate_1.1) is needed by java-1.4.2-sun-1.4.2.06-1jpp.i586 Version-Release number of selected component (if applicable): redhat-rpm-config-8.0.32-1 How reproducible: Always Steps to Reproduce: 1. Build java-1.4.2-sun from jpackage nosrc.rpm from jpackage 2. rpm -ivh java-1.4.2-sun-{1,devel}*rpm cf find /var/tmp/java-1.4.2-sun-1.4.2.06-1jpp-buildroot/ | /usr/lib/rpm/redhat/find-requires find /var/tmp/java-1.4.2-sun-1.4.2.06-1jpp-buildroot/ | /usr/lib/rpm/find-requires Actual results: Failure Expected results: Success Additional info:
Created attachment 107459 [details] Following patch based pn /usr/lib/rpm/find-requires works as desired
find-requires/find-provides are very deprecated - rpm uses its own internal mechanism for this, and while overriding it is possible, it causes badness like this. Not sure if there is any action to take...?
There are cases where disabling it is a valid and desirable choice, and IIRC with the various JDK's we had some issues as we have very little control over the contents of them. In particular we get this type of thing with the sun JDK as opposed to libname with the find-provides/requires: Without internal: /export/jdk142-update/ws/fcs/control/build/linux-i586/lib/i386/libjava.so(GCC.INTERNAL) /export/jdk142-update/ws/fcs/control/build/linux-i586/lib/i386/libjava.so(SUNWprivate_1.1) /export/jdk142-update/ws/fcs/control/build/linux-i586/lib/i386/libjawt.so(GCC.INTERNAL) /export/jdk142-update/ws/fcs/control/build/linux-i586/lib/i386/libjcov.so(GCC.INTERNAL) /export/jdk142-update/ws/fcs/control/build/linux-i586/lib/i386/libjdwp.so(GCC.INTERNAL) /export/jdk142-update/ws/fcs/control/build/linux-i586/lib/i386/libjpeg.so(GCC.INTERNAL) /export/jdk142-update/ws/fcs/control/build/linux-i586/lib/i386/libjpeg.so(SUNWprivate_1.1) /export/jdk142-update/ws/fcs/control/build/linux-i586/lib/i386/libjsound.so(GCC.INTERNAL) /export/jdk142-update/ws/fcs/control/build/linux-i586/lib/i386/libmlib_image.so(GCC.INTERNAL) /export/jdk142-update/ws/fcs/control/build/linux-i586/lib/i386/libnet.so(GCC.INTERNAL) /export/jdk142-update/ws/fcs/control/build/linux-i586/lib/i386/libnet.so(SUNWprivate_1.1) /export/jdk142-update/ws/fcs/control/build/linux-i586/lib/i386/libnio.so(GCC.INTERNAL) /export/jdk142-update/ws/fcs/control/build/linux-i586/lib/i386/libnio.so(SUNWprivate_1.1) /export/jdk142-update/ws/fcs/control/build/linux-i586/lib/i386/librmi.so(GCC.INTERNAL) /export/jdk142-update/ws/fcs/control/build/linux-i586/lib/i386/libverify.so(GCC.INTERNAL) /export/jdk142-update/ws/fcs/control/build/linux-i586/lib/i386/libverify.so(SUNWprivate_1.1) /export/jdk142-update/ws/fcs/control/build/linux-i586/lib/i386/libzip.so(GCC.INTERNAL) /export/jdk142-update/ws/fcs/control/build/linux-i586/lib/i386/libzip.so(SUNWprivate_1.1) /export/jdk142-update/ws/fcs/control/build/linux-i586/lib/i386/native_threads/libhpi.so(GCC.INTERNAL) /export/jdk142-update/ws/fcs/control/build/linux-i586/lib/i386/native_threads/libhpi.so(SUNWprivate_1.1) True but the *rpm* find-requires doesn't cause the problem, the redhat-rpm-config one does. If you don't want to take a patch backported from rpm itself can we just remove the redhat defined find-requires/provides so that if internal disabled we always use the rpm one so consistent behaviour is seen.
I'm fine with removing find-requires/find-provides from redhat-rpm-config if someone merges the changes into upstream rpm. Right now it looks like our find-requires has a few changes that rpm may or may not.
Sure, file a new bug with specific changes, etc.
Any updates on this? I hit this with FC4 and the java-1.4.2-sun-src-1.4.2.09, but not with the java-1.5.0-sun-src-1.5.0.05.