| Summary: | Circular and missing dependecies | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Marcela Mašláňová <mmaslano> |
| Component: | perl-Perl-MinimumVersion | Assignee: | Ralf Corsepius <rc040203> |
| Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | rawhide | CC: | iarnell, paul, perl-devel, psabata, rc040203, redhatbugs, tcallawa |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | 688782 | Environment: | |
| Last Closed: | 2011-10-02 09:57:21 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Bug Depends On: | 688782 | ||
| Bug Blocks: | |||
|
Description
Marcela Mašláňová
2011-03-22 08:56:58 UTC
To sum it up, some Perl packages like Perl::Test::MinimumVersion couldn't be (re)built in new environment because of circular dependency. The question is, what to do with that (or if any action is necessary). With regard to perl-Perl-MinimumVersion I would suggest that you just remove 'BuildRequires: perl(Test::MinimumVersion)' from the specfile. (In reply to comment #1) > To sum it up, some Perl packages like Perl::Test::MinimumVersion couldn't be > (re)built in new environment because of circular dependency. Correct - Fedora's perl is being built incrementally. Bootstrapping has never been a requirement. > The question is, > what to do with that (or if any action is necessary). Nothing, because such circular dependencies can stretch accross very long dependency chains and are a moving target (Perl deps vanish and popup all of the time). If you want to do something systematically, we could add a %bcond_without boottrap conditional which would be supposed to switch-off known circular dependencies by if the person who is bootstrapping from scratch explictly demands. Also note that this warning: t/99_pmv.t ........ skipped: Test::MinimumVersion 0.008 a) is a just a warning b) stems from a maintainer test (Ignorable). Openly said, I am inclined to close this BZ as "WONTFIX". (In reply to comment #3) > Also note that this warning: > t/99_pmv.t ........ skipped: Test::MinimumVersion 0.008 > > a) is a just a warning > b) stems from a maintainer test (Ignorable). There is a hard BuildRequires in the specfile. You get the ignorable warning if you comment out the BuildRequires. If you try to build the SRPM as-is, you get a hard failure. That's why I'm suggesting the removat of that BuildRequires, so as to allow the RPM to build with just the ignorable warning. (In reply to comment #4) > (In reply to comment #3) > > > Also note that this warning: > > t/99_pmv.t ........ skipped: Test::MinimumVersion 0.008 > > > > a) is a just a warning > > b) stems from a maintainer test (Ignorable). > > There is a hard BuildRequires in the specfile. You get the ignorable warning if > you comment out the BuildRequires. If you try to build the SRPM as-is, you get > a hard failure. > > That's why I'm suggesting the removat of that BuildRequires, so as to allow the > RPM to build with just the ignorable warning. Then let me ask differently: What are you trying to do? Why are you rebuilding Fedora from scratch instead incrementally? Building from scratch is not supported - period. (In reply to comment #5) > Why are you rebuilding Fedora from scratch instead incrementally? I am not; this is an EL6 bug, cloned to Fedora for the obvious reasons. In any case, I'm not sure what you mean by "incrementally". The interdependency is circular, so you'll run into it no matter which way you build. > Building from scratch is not supported - period. Then please let me rephrase the bug: 1. perl-Perl-MinimumVersion contains a BuildRequires to perl-Test-MinimumVersion. 2. perl-Test-MinimumVersion is not necessary in order to build perl-Perl-MinimumVersion. 3. http://fedoraproject.org/wiki/Packaging/Guidelines#BuildRequires says "In package development and testing, please verify that your package is not missing any *necessary* build dependencies" (my emphasis). Therefore the explicit "'BuildRequires: perl(Test::MinimumVersion)'" in perl-Perl-MinimumVersion.spec is wrong. The same can be said about more of these packages. Imho if this should be fixed, then it should be fixed in Fedora first. I'm asking for opinion main owner of this package if there is need to work on it. FWIW, I like the bcond_without bootstrap idea, which should help out downstream rebuilders of EL releases in future (i.e. those that need to bootstrap). If we're voting, then +1 for bcond, but surely we'd want "bcond_with bootstrap", not bcond_without. (In reply to comment #7) > Imho if this should be fixed, then it should be fixed in Fedora first. Wasn't I clear enough? It's impossible to fix it, because perl is full of dynamic circular dependency chains. In this particular case you can remove a dependency which is introduced by a more or less unimportant test, but in generality, it's naive to believe this was possible. (In reply to comment #9) > If we're voting, then +1 for bcond, but surely we'd want "bcond_with > bootstrap", not bcond_without. I am insisting on bcond_without, because our interest is Fedora, a distro which is incrementally built and want to test our packages "to the max" as part of our regular works whenever we build our packages. i.e. people who are trying to bootstrap from scratch for whatever reasons, are not of any importance and need to be taught that Fedora is incrementally built. Apart of perl, they will be facing similar issue all over the place, e.g. when building gcc/glibc/kernel (also an incrementally built system). (In reply to comment #10) > I am insisting on bcond_without, because > > our interest is Fedora, a distro which is incrementally built and want to test > our packages "to the max" as part of our regular works whenever we build our > packages. > > i.e. people who are trying to bootstrap from scratch for whatever reasons, are > not of any importance and need to be taught that Fedora is incrementally built. > Apart of perl, they will be facing similar issue all over the place, e.g. when > building gcc/glibc/kernel (also an incrementally built system). I agree entirely with the argument. Rebuilders who need this should be forced to add --with bootstrap. But the bcond magic to do that is bcond_with, not bcond_without: # Handle conditional builds. %bcond_with is for case when feature is # default off and needs to be activated with --with ... command line # switch. %bcond_without is for the dual case. # # %bcond_with foo defines symbol with_foo if --with foo was specified on # command line. # %bcond_without foo defines symbol with_foo if --without foo was *not* # specified on command line. (In reply to comment #10) > our interest is Fedora, a distro which is incrementally built and want to test > our packages "to the max" as part of our regular works whenever we build our > packages. Even so, RHEL depends to a great extent on Fedora for its packages, so it is a consideration to weigh in. > i.e. people who are trying to bootstrap from scratch for whatever reasons, are > not of any importance and need to be taught that Fedora is incrementally built. Leaving the arrogant insolence of that statement aside, your task here is not to teach people, but to improve Fedora (and indirectly RHEL). Hence, you need to look at the issue from a technical point of view, not a political one. > Apart of perl, they will be facing similar issue all over the place, e.g. when > building gcc/glibc/kernel (also an incrementally built system). Apples and oranges. Obviously you can't build a compiler unless you have a compiler, but many BuildRequires in this bug are *literally unnecessary*. That is, when package A builds correctly without package B, there should not be a 'BuildRequires: B' in the specfile of A. Ralf, is there some reason why you're holding off updating Perl::MinimumVersion to 1.28? (In reply to comment #13) > Ralf, is there some reason why you're holding off updating Perl::MinimumVersion > to 1.28? No, it's dropped off the radar, after it had quite some amount of troubles when I had tried to upgrade it back in March. I'll try to upgrade, ASAP (probably later today). Done for rawhide. f15 is stuck in QA's delay queue. f14 can't be built, before Fedora's QA's delay queue doesn't give freedom to another package this perl-Perl-MinimumVersion depends upon. . (In reply to comment #15) > f14 can't be built, before Fedora's QA's delay queue doesn't give freedom to > another package this perl-Perl-MinimumVersion depends upon. Perhaps you could try out the new Buildroot Overrides facility in Bodhi to overcome that? No idea what you are talking about - I feel sufficiently pissed off by Fedora QA's inventions, I am having an increasing desire to see them fired. (In reply to comment #17) > No idea what you are talking about http://lists.fedoraproject.org/pipermail/devel/2011-June/152347.html Will not do so, in protest against this infantile idiocy:
* Make update notes mandatory (fesco#457)
Shall Fedora user be exposed to the risks Fedora QA's is resonsible for - They want it, they get it.
This issue is resolved in rawhide. |