Missing dependencies after building with RPM 4.11.1
Florian Festi
ffesti at redhat.com
Thu Jun 18 14:52:46 UTC 2015
On 06/15/2015 02:49 PM, Michael Rudd wrote:
> We are currently moving from RHEL6 to RHEL7 so we are moving from rpm
> 4.8.0 to version 4.11.1. I’ve downloaded the rpm for 4.11.1 and rebuilt
> it in our own development environment. It is now installed on our build
> server and we are using it to build all of our RPMs.
>
>
>
> What I’ve noticed is I am missing 2 sets of dependencies. The first is
> when I build perl CPAN packages. For example when I build on my old
> 4.8.0 build server I get this:
>
>
>
> [>)]$ rpm -qp --provides perl-HTTP-Daemon-SSL-1.04-0.51580.noarch.rpm
>
> perl(HTTP::Daemon::ClientConn::SSL)
>
> perl(HTTP::Daemon::SSL)
>
> perl(HTTP::Daemon::SSL::DummyDaemon)
>
> perl-HTTP-Daemon-SSL = 1.04-0.51580
>
>
>
> However on the 4.11.1 build server I get:
>
> [>]$ rpm -qp --provides perl-HTTP-Daemon-SSL-1.04-0.51580.noarch.rpm
>
> perl-HTTP-Daemon-SSL = 1.04-0.51580
>
>
>
> I’m missing the auto-dependencies for all the perl .pm files. On this
> one I’ve run the /usr/lib/rpm/perl.prov against the .pm files and the
> output is as expected. I’ve also run our own proprietary deps script and
> it outputs as well. It just looks like those files aren’t being run.
> I’ve renamed them all and run the build and nothing errors out. So it
> appears to be ignoring them.
>
>
>
> The 2^nd situation is on libraries. Take the ‘rpm’ package I have built.
> The dependencies I get are:
>
> [>]$rpm -qp --provides
> rpm-libs-4.11.1-16.el7prerel0.51580.x86_64.rpm
>
> rpm-libs = 4.11.1-16.el7prerel0.51580
>
> rpm-libs(x86-64) = 4.11.1-16.el7prerel0.51580
>
>
>
> This is missing all of the dependencies for libraries.
>
> librpm.so.3()(64bit)
>
> librpmio.so.3()(64bit)
>
>
>
> I’ve looked at this ad-nauseum for 3 days and can’t seem to make any
> headway. I’ve included my “rpm –showrc” output that may have information
> that points you to what I’m missing. Any help, answers, debug
> techniques, or general tomfoolery is appreciated in advance.
Looks like you are missing the file attribute files which are normally
located in /usr/lib/rpm/fileattrs/. They decide what type files have and
what generator script to run on them.
Also note that some of the scriptlets that are used in RHEL are in the
redhat-rpm-config package (or even some other packages)
E.g. on my local Fedora box:
rpm -qf /usr/lib/rpm/* | sort -ugstreamer1-1.4.5-1.fc21.x86_64
javapackages-tools-4.1.0-8.fc21.noarch
kde-settings-21-3.fc21.noarch
perl-generators-1.03-1.fc21.noarch
python3-cups-1.9.70-3.fc21.x86_64
redhat-rpm-config-27-1.fc21.noarch
rpm-4.12.0.1-6.fc21.x86_64
rpm-build-4.12.0.1-6.fc21.x86_64
selinux-policy-3.13.1-105.13.fc21.noarch
rpm -qf /usr/lib/rpm/fileattrs/* | sort -u
gstreamer1-1.4.5-1.fc21.x86_64
javapackages-tools-4.1.0-8.fc21.noarch
kde-settings-21-3.fc21.noarch
perl-generators-1.03-1.fc21.noarch
python3-cups-1.9.70-3.fc21.x86_64
redhat-rpm-config-27-1.fc21.noarch
rpm-build-4.12.0.1-6.fc21.x86_64
Florian
--
Red Hat GmbH, http://www.de.redhat.com/ Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Michael Cunningham, Michael
O'Neill, Charles Peters
More information about the Rpm-list
mailing list