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)
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
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.
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.
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.