Re: Idea proposal for next mass rebuilds

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Artur Frenszek-Iwicki venit, vidit, dixit 2025-01-18 11:23:22:
> While I agree with the general idea of building things in order
> of requirements, one problem that I can see with this approach is:
> what happens when a higher-tier package fails to build?
> 
> With the current, alphabetical approach, every package gets rebuilt
> and then individual maintainers have to fix the failures. This may
> be tedious from the perspective of an individual, but systemically,
> it ensures that every package gets rebuilt.
[snip]

Building things in dependency order:

The dependencies form a directed graph which is mostly acyclic. I am
pretty sure it has *way more* "generations" than the 2 or 3 suggested
tiers. So, the problem of what to do in case of a failure (complete that
level first or ignore) can occur at way more levels than just 1 or 2.
So, unless we don't want to ignore it or drag the mass rebuild out for
ages, the only practical approach would be a tree walk.

... and then the "mostly": we do have cycles, some of which can only be
resolved by bootstrapping.

Building things in alphabetical order:

This is dead simple but has more problems than apparent. Say, package A
depends on package B.
A is built first against the pre-rebuild version of B.
B is rebuilt after.

In most cases, the latter will work but produces an A in the side-tag which
is not rebuilt against the B in the side-tag.

Again, in most cases this may not be a problem. But with something like
the rushes gcc15 side-tag merge right before the rebuild, it means that
many packages were not rebuilt against gcc15. Say, in the example above,
B is one such package. Then A is rebuilt during the mass rebuild against
gcc15 and against a B which has been built with gcc14. B FTBFS during
the mass-rebuild, gets fixed finally and built against gcc15 in the mass
rebuild. After mergen, we have a gcc15 A and B, but A has been rebuilt
against the gcc14-B. This may or may not FTI, may or may not work.

So really, both approaches are difficult. Alphabetical order is
practical but very brittle, in particular if rawhide is not "in good
shape" or very volatile before the mass rebuild. We should stabilize
rather than rush things in before.

Michael
-- 
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux