Bug 1572518

Summary: Expected dependency perl(utils) is not provided by nagios-plugins-perl anymore
Product: [Fedora] Fedora EPEL Reporter: Paschalis Korosoglou <pkoro>
Component: nagios-pluginsAssignee: Stephen John Smoogen <smooge>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: epel7CC: athmanem, b.heden, herrold, lemenkov, smooge, smooge, swilkerson
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-04-27 14:28:17 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Paschalis Korosoglou 2018-04-27 08:11:10 UTC
Description of problem:

I am facing a problem installing an RPM package on a CentOS 7 host due to an unresolved dependency.

The package has been created with rpmbuild (rpm-build-4.11.3-25.el7.x86_64) command on the same host (actually a fresh docker container from centos:7 image). During the build/packaging process (beyond explicitly defined requirements) rpmbuild picks up a few more (as it commonly does). Here is the relevant part from rpmbuild:

Processing files: nagios-scicomp-plugins-2.16-2.el7.centos.noarch
Provides: nagios-scicomp-plugins = 2.16-2.el7.centos
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: /bin/bash /bin/sh /usr/bin/env /usr/bin/perl perl(DBI) perl(Getopt::Long) perl(Getopt::Std) perl(Time::HiRes) perl(lib) perl(strict) perl(utils)

The last one (perl(utils)) is causing a problem while installing the RPM. This is the output from yum install:

====
# yum localinstall -y /root/rpmbuild/RPMS/noarch/nagios-scicomp-plugins-2.16-2.el7.centos.noarch.rpm
Loaded plugins: fastestmirror, ovl
Examining /root/rpmbuild/RPMS/noarch/nagios-scicomp-plugins-2.16-2.el7.centos.noarch.rpm: nagios-scicomp-plugins-2.16-2.el7.centos.noarch
Marking /root/rpmbuild/RPMS/noarch/nagios-scicomp-plugins-2.16-2.el7.centos.noarch.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package nagios-scicomp-plugins.noarch 0:2.16-2.el7.centos will be installed
--> Processing Dependency: nagios-plugins for package: nagios-scicomp-plugins-2.16-2.el7.centos.noarch
Loading mirror speeds from cached hostfile
 * base: ftp.ntua.gr
 * extras: ftp.ntua.gr
 * updates: ftp.ntua.gr
--> Processing Dependency: perl(DBI) for package: nagios-scicomp-plugins-2.16-2.el7.centos.noarch
--> Processing Dependency: perl(utils) for package: nagios-scicomp-plugins-2.16-2.el7.centos.noarch
--> Running transaction check
---> Package nagios-scicomp-plugins.noarch 0:2.16-2.el7.centos will be installed
--> Processing Dependency: nagios-plugins for package: nagios-scicomp-plugins-2.16-2.el7.centos.noarch
--> Processing Dependency: perl(utils) for package: nagios-scicomp-plugins-2.16-2.el7.centos.noarch
---> Package perl-DBI.x86_64 0:1.627-4.el7 will be installed
--> Processing Dependency: perl(RPC::PlServer) >= 0.2001 for package: perl-DBI-1.627-4.el7.x86_64
--> Processing Dependency: perl(RPC::PlClient) >= 0.2000 for package: perl-DBI-1.627-4.el7.x86_64
--> Processing Dependency: perl(Data::Dumper) for package: perl-DBI-1.627-4.el7.x86_64
--> Running transaction check
---> Package nagios-scicomp-plugins.noarch 0:2.16-2.el7.centos will be installed
--> Processing Dependency: nagios-plugins for package: nagios-scicomp-plugins-2.16-2.el7.centos.noarch
--> Processing Dependency: perl(utils) for package: nagios-scicomp-plugins-2.16-2.el7.centos.noarch
---> Package perl-Data-Dumper.x86_64 0:2.145-3.el7 will be installed
---> Package perl-PlRPC.noarch 0:0.2020-14.el7 will be installed
--> Processing Dependency: perl(Net::Daemon) >= 0.13 for package: perl-PlRPC-0.2020-14.el7.noarch
--> Processing Dependency: perl(Net::Daemon::Test) for package: perl-PlRPC-0.2020-14.el7.noarch
--> Processing Dependency: perl(Net::Daemon::Log) for package: perl-PlRPC-0.2020-14.el7.noarch
--> Processing Dependency: perl(Compress::Zlib) for package: perl-PlRPC-0.2020-14.el7.noarch
--> Running transaction check
---> Package nagios-scicomp-plugins.noarch 0:2.16-2.el7.centos will be installed
--> Processing Dependency: nagios-plugins for package: nagios-scicomp-plugins-2.16-2.el7.centos.noarch
--> Processing Dependency: perl(utils) for package: nagios-scicomp-plugins-2.16-2.el7.centos.noarch
---> Package perl-IO-Compress.noarch 0:2.061-2.el7 will be installed
--> Processing Dependency: perl(Compress::Raw::Zlib) >= 2.061 for package: perl-IO-Compress-2.061-2.el7.noarch
--> Processing Dependency: perl(Compress::Raw::Bzip2) >= 2.061 for package: perl-IO-Compress-2.061-2.el7.noarch
---> Package perl-Net-Daemon.noarch 0:0.48-5.el7 will be installed
--> Running transaction check
---> Package nagios-scicomp-plugins.noarch 0:2.16-2.el7.centos will be installed
--> Processing Dependency: nagios-plugins for package: nagios-scicomp-plugins-2.16-2.el7.centos.noarch
--> Processing Dependency: perl(utils) for package: nagios-scicomp-plugins-2.16-2.el7.centos.noarch
---> Package perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7 will be installed
---> Package perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7 will be installed
--> Finished Dependency Resolution
Error: Package: nagios-scicomp-plugins-2.16-2.el7.centos.noarch (/nagios-scicomp-plugins-2.16-2.el7.centos.noarch)
           Requires: nagios-plugins
Error: Package: nagios-scicomp-plugins-2.16-2.el7.centos.noarch (/nagios-scicomp-plugins-2.16-2.el7.centos.noarch)
           Requires: perl(utils)
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest
====

After some investigation it seems that perl(utils) was provided by package nagios-plugins-perl up until the previous version available within EPEL 7:
https://koji.fedoraproject.org/koji/rpminfo?rpmID=10237246

In the latest available version this is not provided anymore:
https://koji.fedoraproject.org/koji/rpminfo?rpmID=12160185

I have tracked the diff in the spec file of latest nagios-plugins where lines 74,75 have been added:

# Do not provide private Perl modules
%global __provides_exclude %{?__provides_exclude:%{__provides_exclude}|}^perl\\(utils\\)

From this point on I can only assume that either rpmbuild is causing the problem when automatically identifying dependencies or that nagios-plugins-perl should be providing the needed dependency. If it is the first case, I suppose rpmbuild needs to be rebuild upon a fresh package index/repo. If the latter, the changes above in the relevant spec file should be revisioned. 

Note that the above work as expected on CentOS/EPEL 6. 

Version-Release number of selected component (if applicable):

rpm-build-4.11.3-25.el7.x86_64
nagios-plugins-perl-2.2.1-9git5c7eb5b9.el7.x86_64

How reproducible:

While building custom nrpe plugins rpmbuild picks up a dependency that can no longer be resolved by yum. The dependency used to be provided through nagios-plugins-perl package but this is not the case any more. 

Actual results: yum installation error (see above)
Expected results: yum should automatically process and satisfy all dependencies scanned initially by rpmbuild.

Comment 1 Stephen John Smoogen 2018-04-27 14:28:17 UTC

*** This bug has been marked as a duplicate of bug 1572361 ***