F20 System Wide Change: Perl 5.18

Petr Pisar ppisar at redhat.com
Thu Aug 8 11:50:26 UTC 2013


On 2013-08-08, Paul Howarth <paul at city-fan.org> wrote:
> On 08/08/13 10:01, Phil Knirsch wrote:
>>
>> Just like Seth's script it has a few obviously problems as for really
>> correct build ordering you need to flip-flop between srpms/specfiles and
>> binary rpms, but that will need a bit of a different approach. As it
>> stands right now some of the dependencies it can't detect and resolve
>> are build time generated ones, which might a showstopper for some uses
>> of it.
>>
>> I've tested the version i have here with several complete past Fedora
>> trees, for texlive and KDE rebuilds and updates and for all the cases
>> the output look pretty sane.
>>
>> Hope this helps,
>
> We already know where it's beneficial to break build dependency cycles 
> and have built that into the spec files, triggered by the 
> %{perl_bootstrap} macro being set (which it is in the current Rawhide 
> perl). So a build ordering script for perl bootstrapping should take 
> that into account.
>
And therefore my slow script considers SRPM as well as binary packages
distinctively. Therefore it clones git repostories, creates SRPMs in mock
environment (because data from koji will differ from to-rebuild packages
due to the perl_bootstrap macro), retrieves just built binary packages,
extracts the requires/provides and solves them on its own. Of course it
submits whole groups of packages to rebuild and it waits for build root
rotation. It does prety much everything what is needed.

(Curriously, this year I could not build in 16 threads as last year,
becuse dist-git starts refusing on 10 threads. Also after ausil started
his mass rebuild, my koji client started getting host unreachable errors.)

However the really slow part is the dependency solver. I had no time to
improve it before this rebuild. I will do before next time. But now I'm
not going to change it becuse it's to complicated.

Neverthless we are looming to the point where no new packages will be
possible to rebuild due to unsatisified depenencies. We are now at
95 % done. The rest will need fixing or dropping
<https://fedoraproject.org/wiki/Changes/perl5.18#Items_to_be_done>. Once
we get there, I will publish list of failed and unfinished packages
together with dependency graph.

I have already done 169 changes in the F20 packages to achieve those
95 % and I'm quite tired and sick of all of that. (Mainly
because maintainers do not upgrade their packages or because they do not
declare all needed dependencies). (I'm thinking of running dummy
rebuilds during a year regularly, to find all these buggy packages before
next Perl rebuild.)

-- Petr



More information about the devel mailing list