I have a custom built RPM, created on a RedHat 5.1 system with RPM
version 4.4.2. This RPM installs some executables as well as some
shared libraries, such as libapr-1.so.0, that are not installed on our
embedded (i.e. small CF for local storage) RedHat 5.1 system but are
required by those executables.
The problem I am having is that dependency checking fails during
verification for the shared libraries provided by my RPM unless a
previous version of my RPM is already installed. I would prefer to
leave dependency checking enabled and do not want to maintain the
dependencies on my own. The question is: how do I force RPM
verification to recognize the shared libraries provided by that RPM so
that is doesn't (incorrectly) complain about unsatisfied dependencies.
Note that this failed dependency check does not prevent installation, it
just causes "rpm --verify --package blah-1.7.8.9-1.i386.rpm" to fail.
The reason for wanting verification to work correctly is to avoid failed
installations that could result in a complex and error-prone rollback
procedure. The rollback could be complex because this identical RPM is
installed on multiple processor boards during an upgrade. Additionally,
the installation is script driven over the network to these multiple
processor boards. By first running verification on all the boards, our
script is able to abort the full install on these systems if
verification fails on any one of them.
Below is some query output from the RPM and then an example of the
failed verification showing which libraries are causing the "unsatisfied
dependency".
Thanks for any help,
Andy
======================================
sbc0 root 2->rpm -q --provides -p blah-1.7.8.9-1.i386.rpm
libapr-1.so.0
libaprutil-1.so.0
libbfscsc.so
libbftticsc.so
libbitcsc.so
libbnscsc.so
libeslcsc.so
libgefcmn-nvram.so
libgefcmn-temp.so
libgefcmn-timers.so
libgefcmn-watchdog.so
libhlappcsc.so
libiomp5.so
libippcore.so.6.0
libipps.so.6.0
libippvm.so.6.0
libjpcsc.so
liblog4cxx.so.10
libpecsc.so
libprcsc.so
librccsc.so
libsbpcsc.so
libtcucsc.so
libticsc.so
libvipcsc.so
libvme.so
libxerces-c.so.28
blah = 1:1.7.8.9-1
sbc0 root 3->rpm -q --requires -p blah-1.7.8.9-1.i386.rpm
/bin/bash
/bin/sh
/bin/sh
libapr-1.so.0
libaprutil-1.so.0
libc.so.6
libc.so.6(GLIBC_2.0)
libc.so.6(GLIBC_2.1)
libc.so.6(GLIBC_2.1.3)
libc.so.6(GLIBC_2.2)
libc.so.6(GLIBC_2.3)
libc.so.6(GLIBC_2.3.2)
libc.so.6(GLIBC_2.3.4)
libc.so.6(GLIBC_2.4)
libdl.so.2
libdl.so.2(GLIBC_2.0)
libdl.so.2(GLIBC_2.1)
libgcc_s.so.1
libgcc_s.so.1(GCC_3.0)
libgcc_s.so.1(GLIBC_2.0)
libgefcmn-nvram.so
libgefcmn-timers.so
libiomp5.so
libippcore.so.6.0
libipps.so.6.0
libippvm.so.6.0
liblog4cxx.so.10
libm.so.6
libm.so.6(GLIBC_2.0)
libnsl.so.1
libpthread.so.0
libpthread.so.0(GLIBC_2.0)
libpthread.so.0(GLIBC_2.1)
libpthread.so.0(GLIBC_2.3.2)
libpthread.so.0(GLIBC_2.3.3)
libpthread.so.0(GLIBC_2.3.4)
librt.so.1
librt.so.1(GLIBC_2.2)
librt.so.1(GLIBC_2.3.4)
libstdc++.so.6
libstdc++.so.6(CXXABI_1.3)
libstdc++.so.6(CXXABI_1.3.1)
libstdc++.so.6(GLIBCXX_3.4)
libutil.so.1
libvme.so
libxerces-c.so.28
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH)
sbc0 root 4->rpm --verify --package --nofiles blah-1.7.8.9-1.i386.rpm
Unsatisfied dependencies for blah-1.7.8.9-1.i386: libapr-1.so.0,
libaprutil-1.so.0, libiomp5.so, libippcore.so.6.0, libipps.so.6.0,
libippvm.so.6.0, liblog4cxx.so.10, libxerces-c.so.28
_______________________________________________
Rpm-list mailing list
Rpm-list@xxxxxxxxxxxxx
http://lists.rpm.org/mailman/listinfo/rpm-list