https://bugzilla.redhat.com/show_bug.cgi?id=1165628 --- Comment #4 from Petr Šabata <psabata@xxxxxxxxxx> --- (In reply to Colin Macdonald from comment #3) > Are these observations correct? > > 1. That output means perl(Carp), perl(constant), perl(strict) are run-time > deps (not build deps). Well, since the code is tested in %check phase, they're both. > 2. It looks like rpmbuild automatically knows about these three (from > output of "rpm -qRp"). That is why we don't need to manually list them as > "Requires". Correct. Once built, rpmbuild scans perl files listed in %files and generates list of provided and required modules. If you're curious, you can find the script rpmbuild uses in the perl-generators package. > 3. All Requires effectively become BR because of tests (which need to load > the module itself). Which is why we list them as BR (even though the > Makefile itself doesn't need them.) Correct, see (1) :) However, this isn't always the case. It depends on what code is tested and what is not. Some test suites are very thorough, some don't do much. `use'-like statements are compile-time dependencies and are always needed when the file is loaded via whatever method, even if the said statement is in a block which isn't executed. `require'-like statements are pure runtime dependencies. Our module here is very simple; all these are "used", therefore they will be loaded as soon as something touches lib/Tie/Cycle.pm. And when you run `tangerine t/', you see all three tests (obviously) do fiddle with it. -- You are receiving this mail because: You are on the CC list for the bug. You are always notified about changes to this product and component _______________________________________________ package-review mailing list package-review@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/package-review