![](https://seccdn.libravatar.org/avatar/af8a9293484ed04b89081d848929b19a.jpg?s=120&d=mm&r=g)
On Tue, Apr 18, 2023 at 9:42 AM Jan Engelhardt <jengelh@inai.de> wrote:
On Tuesday 2023-04-18 15:19, Neal Gompa wrote:
On Tue, Apr 18, 2023 at 8:36 AM Florian Weimer <fweimer@redhat.com> wrote:
TL;DR: I want to propose a GCC 14 change which will impact distributions, so I'd like to gather some feedback from OpenSUSE.
Specifically, I'm investigating the following changes:
* -Werror=implicit-function-declaration * -Werror=implict-int * (tentative) -Werror=int-conversion * (very tentative) -Werror=incompatible-pointer-types * For -Wdiscarded-qualifies
I want to propose at least the first two for GCC 14.
Might as well enable all of it at once, then the community only needs one pass per defective software.
I would also like to reiterate this point. The worst thing you can do is slow-roll changes like this. Being punched in the face once is better than being punched in the face several times in succession. Having to deal with this in Fedora, I would really rather not do it over and over and over if we can do it all at once. (Yes, I really feel like dealing with these changes is equivalent to getting punched in the face. I dealt with them far too much with my C++ packages in Fedora.)
The numbers so far don't look great, but are manageable. Fedora has 23,101 source package last time a looked. We have fixed 796 of them,
3.8% is actually really great for syntax-related changes, reproducible-builds (in openSUSE) also has a nay ratio of ~3.4%, but of course r-b is more difficult to fix I think.
Build reproducibility (as defined by Debian, which is what openSUSE follows) also has disputed usefulness among the broader community, especially upstreams. That makes it harder for things to be fixed in the first place.
I would appreciate some discussion on the OpenSUSE impact. I assume OpenSUSE does mass rebuilds after GCC rebases, a bit like Fedora?
openSUSE does rebuilds of the whole distribution on a fairly regular basis
There is a also staging project (ironically named openSUSE:Factory:Staging:Gcc7) where a new gcc (not 7) gets to test-build a sizable portion of the distro before promoting it in openSUSE:Factory and before causing the super rebuild.
Super rebuilds are fun though. :) -- 真実はいつも一つ!/ Always, there's only one truth!