IMO, buildroot overrides are devil, because may have impact on builds performed
by other unaware users. The reported examples may be handled by sidetags or
requesting exceptions to releng:
Il 03/12/22 00:14, Kalev Lember ha scritto:
> However, having said that, I also find buildroot overrides useful. Some
> examples:
>
> 1) Fedora is in freeze. GNOME has gotten a Freeze Exception to pull a new
> version through the freeze, but that includes a library soname bump.
>
> What I would do in that case is submit the GNOME megaupdate to Bodhi, and
> also submit the library as a buildroot override to ensure that nothing can
> build against the old soname -- I am fairly confident that the GNOME
> megaupdate, together with the soname bump makes it to stable first.
The premise here is that a library got a soname bump. That means that the
megaupdate should include all packages which depends on that library.
Say, in the megaupdate there's foo-1.0.0-1 which was built against libbar.so.2.
If any other user makes a build of foo-1.0.0-2 against the old libbar.so.1, we
can have Bodhi stop the user when they try to create the update, since there's
already a pending multiple update containing foo. After the megaupdate is
pushed to stable, if the user tries to push again foo-1.0.0-2, QA tests should
see it depends on the old soname and again block the update.
> 2) I need to do a container build and include a new CVE fix (as it's critical
> and we need to get fixes out ASAP), but that package build to include in the
> container is only in updates-testing.
>
> What I'd do in this case is to submit a buildroot override because everything
> that's overridden gets included in container builds. After my container build
> is done I'd expire the buildroot override.
If the CVE fix is so urgent, it doesn't make sense to push it out only for
container. We should have a policy for asking Releng exemptions about the
testing period and push the update out for everything.
> 3) We've had some "fun" issues with sysprof symbols leaking out from the GTK
> stack into other libraries consuming it. This has caused subtle ABI issues
> and when working on a fix and to make sure no package can build against the
> "wrong" GTK version, I've used buildroot overrides.
Same as above. Broken builds which causes breakage of other dependencies should
be removed or the update should be pushed ASAP by Releng.
> 4) Compiler issues, with compilers producing broken code.
>
> To test the fixes and make sure packages start using the new fixed versions
> ASAP, a buildroot override is often useful.
Same as above.
The purpose we have an update system is to avoid not only distribution
breakages for end users, but also buildroot breakages. Buildroot overrides just
overrides everything, so I think they must be a Releng right only.
Or let's just get rid of Bodhi and trust all packagers to "know exactly what
they are doing with their package".
Mattia
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam, report it:
https://pagure.io/fedora-infrastructure/new_issue