Please do not reply directly to this email. All additional comments should be made in the comments box of this bug. https://bugzilla.redhat.com/show_bug.cgi?id=810223 --- Comment #4 from Paul Howarth <paul@xxxxxxxxxxxx> 2012-04-06 05:17:36 EDT --- (In reply to comment #3) > (In reply to comment #2) > > However, a problem with having a Requires: removed based on %perl_bootstrap is > > that the resulting package is actually different from a non-bootstrap build, > > Yes. One need to rebuild the package again once bootstrap is complete. Absolutely. All packages that use %perl_bootstrap should be rebuilt post-bootstrap in case previously-skipped tests cause FTBFS problems. > > which is why I prefer to just exclude build requirements and not runtime ones. > > I understand, but in this case my solution reflects the relation between the > two packages much better. HTML-Parser does not need HTTP-Headers, it can run > without them. But the opposite is not true. Following upstream nature > dependencies is better. I agree in principle with this. I try to find a sensible place to break cycles. My suggested fix only excludes HTML::Parser as a build requirement, not as a runtime dependency in the built package (which would be picked up automatically by rpm). It's no worse really than simply skipping the tests altogether, which a few packages do when bootstrapping. The resulting binary packages are identical with or without %perl_bootstrap. On the other hand, your change in the perl-HTML-Parser package results in a different binary package when built using %perl_bootstrap, i.e. it has no dependency on perl(HTTP::Headers). So to be sure of not introducing FTBFS errors as a result of this, it would be necessary to rebuild not only perl-HTML-Parser post-bootstrap, but every package whose build pulls in perl-HTML-Parser, in case the addition of perl-HTTP-Message in the buildroot makes a difference. > > It also makes it difficult to detect the broken cycle using a script without > > actually rebuilding all packages with the bootstrap macro set, which is a much > > bigger job than processing the metadata to find the runtime dependencies. > > Of course. You need to rebuild the packages to get proper dependencies. By only removing build requirements and not runtime dependencies during the bootstrap process, I believe all bootstrap-built packages should already have proper dependencies. > Otherwise you just guess. Even it's not always possible to just drop > build-requires and keep the run-requires. Otherwise you will end up with built > binary package with unsatisfied run-dependencies, so you could not use it while > building reverse dependencies. I haven't come across a case where that necessarily applies yet, but I understand how it could be possible. > I'm reluctant to follow the easier but error-prone way you selected. > > I can put your change into perl-HTTP-Message if it makes you happy because it > just disables a test, but I don't think it's the best way. Well I disagree about the best way as outlined above but I can adjust my script to deal with it on a case-by-case basis. -- Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. -- Fedora Extras Perl SIG http://www.fedoraproject.org/wiki/Extras/SIGs/Perl perl-devel mailing list perl-devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/perl-devel