Bug 810858 - RFE: use %perl_bootstrap macro to enable bootstrap dependency filtering
RFE: use %perl_bootstrap macro to enable bootstrap dependency filtering
Status: CLOSED WONTFIX
Product: Fedora
Classification: Fedora
Component: perl-bioperl (Show other bugs)
rawhide
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Alex Lancaster
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2012-04-09 08:36 EDT by Paul Howarth
Modified: 2015-02-05 03:38 EST (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2015-02-05 03:38:43 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Implement use of %perl_bootstrap (2.92 KB, application/x-download)
2012-04-09 08:36 EDT, Paul Howarth
no flags Details

  None (edit)
Description Paul Howarth 2012-04-09 08:36:34 EDT
Created attachment 576201 [details]
Implement use of %perl_bootstrap

The problem of bootstrapping perl-bioperl and perl-bioperl-run on a new architecture or perl release is well known and documented in Bug #537138.

It will soon be time to rebuild the perl ecosystem in Rawhide for perl 5.16, and it would be good to be able to do this "cleanly" as if bootstrapping a new architecture. The perl-bioperl* packages are not the only ones with circular build dependencies, and the Perl SIG has been applying a methodology of doing an initial build with a macro %perl_bootstrap defined so that packages with circular dependency issues can be built in a way that breaks the cycles, and then, once the ecosystem has been bootstrapped, those packages using %perl_bootstrap can be rebuilt again with it undefined so as to create the packages as their maintainers intended.

To that end, it would be good if you could implement the use of %perl_bootstrap in perl-bioperl, to replace the commented-out filtering scheme currently in place. The attached patch does this. There are two versions of the filters, one for rpm 4.9 or later (F-15 or later) and one for earlier releases. Rather than using the "rpm 4.8" style for this as currently used in the comments, I've used perl-specific dependency filtering that would work all the way back to EPEL-5 if the necessary dependencies were there, though I tested it using F-14.

Testing results:

F-14:

$ rpmdiff --ignore T current-build/perl-bioperl-1.6.1-11.fc14.noarch.rpm new-build/perl-bioperl-1.6.1-11.fc14.noarch.rpm 
removed     REQUIRES rpmlib(VersionedDependencies) <= 3.0.3-1
$ 

$ rpmdiff --ignore T current-build/perl-bioperl-1.6.1-11.fc14.noarch.rpm new-build-boot/perl-bioperl-1.6.1-11.fc14.noarch.rpm 
removed     REQUIRES perl(Bio::Tools::Run::Alignment::Clustalw)  
removed     REQUIRES perl(Bio::Tools::Run::GenericParameters)  
removed     REQUIRES perl(Bio::Tools::Run::Phylo::Molphy::ProtML)  
removed     REQUIRES perl(Bio::Tools::Run::Phylo::Phylip::Neighbor)  
removed     REQUIRES perl(Bio::Tools::Run::Phylo::Phylip::ProtDist)  
removed     REQUIRES perl(Bio::Tools::Run::Phylo::Phylip::ProtPars)  
removed     REQUIRES perl(Bio::Tools::Run::RemoteBlast)  
removed     REQUIRES rpmlib(VersionedDependencies) <= 3.0.3-1
$ 


Rawhide:

$ rpmdiff --ignore T current-build/perl-bioperl-1.6.1-11.fc18.noarch.rpm new-build/perl-bioperl-1.6.1-11.fc18.noarch.rpm 
$ 

$ rpmdiff --ignore T current-build/perl-bioperl-1.6.1-11.fc18.noarch.rpm new-build-boot/perl-bioperl-1.6.1-11.fc18.noarch.rpm 
removed     REQUIRES perl(Bio::Tools::Run::Alignment::Clustalw)  
removed     REQUIRES perl(Bio::Tools::Run::GenericParameters)  
removed     REQUIRES perl(Bio::Tools::Run::ParametersI)  
removed     REQUIRES perl(Bio::Tools::Run::Phylo::Molphy::ProtML)  
removed     REQUIRES perl(Bio::Tools::Run::Phylo::Phylip::Neighbor)  
removed     REQUIRES perl(Bio::Tools::Run::Phylo::Phylip::ProtDist)  
removed     REQUIRES perl(Bio::Tools::Run::Phylo::Phylip::ProtPars)  
removed     REQUIRES perl(Bio::Tools::Run::RemoteBlast)  
removed     REQUIRES perl(Bio::Tools::Run::StandAloneBlast)  
removed     REQUIRES perl(Bio::Tools::Run::WrapperBase)  
$ 


Note that the older rpm in F-14 did not pick up as many perl dependencies as Rawhide's rpm, hence fewer were filtered for the bootstrap build.

The disappearance of "REQUIRES rpmlib(VersionedDependencies) <= 3.0.3-1" in the F-14 builds is due to the change from "rpm 4.8" style filtering to the perl-specific filtering.
Comment 1 Paul Howarth 2015-02-05 03:38:43 EST
This package has been retired from Fedora.

Note You need to log in before you can comment on or make changes to this bug.