Bug 810858 - RFE: use %perl_bootstrap macro to enable bootstrap dependency filtering
Summary: RFE: use %perl_bootstrap macro to enable bootstrap dependency filtering
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: perl-bioperl
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Alex Lancaster
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-04-09 12:36 UTC by Paul Howarth
Modified: 2015-02-05 08:38 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2015-02-05 08:38:43 UTC
Type: Bug
Embargoed:


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

Description Paul Howarth 2012-04-09 12:36:34 UTC
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 08:38:43 UTC
This package has been retired from Fedora.


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