Bug 1382865

Summary: manually specified Requires: perl(foo) are not printed by rpmbuild
Product: [Fedora] Fedora Reporter: Dominik 'Rathann' Mierzejewski <dominik>
Component: rpmAssignee: Packaging Maintenance Team <packaging-team-maint>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: fedora, ffesti, ignatenko, jplesnik, kardos.lubos, novyjindrich, packaging-team-maint, pknirsch, ppisar
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-02-14 12:27:38 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:
Attachments:
Description Flags
example package showing the bug none

Description Dominik 'Rathann' Mierzejewski 2016-10-07 22:58:53 UTC
Created attachment 1208272 [details]
example package showing the bug

Description of problem:
Manually specified Requires: perl(foo) from the specfile do not make it into final package Requires:.

Version-Release number of selected component (if applicable):
1.10-1.fc25

How reproducible:
Always.

Steps to Reproduce:
1. Try building the attached package.
2. Check the Requires of the resulting package.

Actual results:
Requires: /usr/bin/perl perl(Data::Dumper) perl(File::Copy) perl(File::Path) perl(Getopt::Long) perl(IO::Handle) perl(IO::Select) perl(IO::Socket) perl(POSIX) perl(Socket) perl(strict)

Expected results:
Requires: /usr/bin/perl perl(Bit::Vector) perl(Carp::Clan) perl(Data::Dumper) perl(Date::Calc) perl(File::Copy) perl(File::Path) perl(Getopt::Long) perl(IO::Handle) perl(IO::Select) perl(IO::Socket) perl(IPTables::ChainMgr) perl(IPTables::Parse) perl(NetAddr::IP) perl(POSIX) perl(Socket) perl(Storable) perl(strict) perl(Unix::Syslog)

Comment 1 Jens Lody 2016-10-09 08:58:48 UTC
I tested the srpm with fedora-review (mock) for Rawhide and F25 and can not reproduce the bug:
jens@laptop:~/reviews/f25/foo/results$  rpm -qp --requires foo-1.0-1.fc25.noarch.rpm 
/usr/bin/perl
perl(Bit::Vector)
perl(Carp::Clan)
perl(Data::Dumper)
perl(Date::Calc)
perl(File::Copy)
perl(File::Path)
perl(Getopt::Long)
perl(IO::Handle)
perl(IO::Select)
perl(IO::Socket)
perl(IPTables::ChainMgr)
perl(IPTables::Parse)
perl(NetAddr::IP)
perl(POSIX)
perl(Socket)
perl(Storable)
perl(Unix::Syslog)
perl(strict)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1

Comment 2 Dominik 'Rathann' Mierzejewski 2016-10-09 18:19:29 UTC
You're right, this is actually a "cosmetic" issue, because the manually added dependencies do end up in the final RPM but they're not printed in rpmbuild output on the terminal. Sorry for the confusion.

Comment 3 Jitka Plesnikova 2016-10-10 07:31:53 UTC
perl-generators provides only dependencies find in Perl binaries and modules.
It does not process dependencies listed in spec file, it should be handle by rpmbuild.

Comment 4 Florian Festi 2017-02-14 12:27:38 UTC
Sorry, the output of the dependency generators is just not the right place to look for the complete list of Requires (or Provides). RPM already has the perfect way to check those: rpm -q --requires. Closing.