On Tue, Jul 10, 2018 at 1:13 PM, Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> wrote:
On Tue, Jul 10, 2018 at 06:03:33PM +0200, Igor Gnatenko wrote:
> On Tue, Jul 10, 2018 at 5:52 PM Kevin Kofler <kevin.kofler@chello.at> wrote:
>
> > Igor Gnatenko wrote:
> > > As per Changes/Remove GCC from BuildRoot
> > > <https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot>, I'm
> > > going to automatically add BuildRequires: gcc and/or BuildRequires:
> > > gcc-c++ to packages which fail to build with common messages (like gcc:
> > > command not found, also autotools/cmake/meson are supported).
> > >
> > > I'm going to do this tomorrow.
> > >
> > > After which, I'm going to ask rel-eng to finally remove it from
> > buildroot.
> > > This will happen before mass rebuild. Stay tuned.
> >
> > I still think that this change is absolutely counterproductive, because it
> > will actually INCREASE local mock build times for all C/C++ programs for
> > all
> > packagers, because gcc and gcc-c++ will no longer be included in the root
> > cache.
> >
>
> However, it will DECREASE local mock build times for all non-C/C++
> programs. And now we will know which packages actually need C and/or C++
> compiler.

Yes.

Also, we'll have a mass rebuild tomorrow. If it turns out to be slower
than the previous one, we can easily re-add gcc to the koji buildroot.


From my perspective as an occasional Fedora packager, I'm regularly surprised by just how long it takes for Koji builders to install dependencies.  I've never tried to dig in too far, but it looks like the builders download package metadata, download packages, and then install things.  Surely this could be massively optimized by having the metadata pre-downloaded (at least when side tags aren't involved) and by having the packages already present over NFS or similar.

From a design perspective, minimizing the contents of the buildroot is a good idea, I think, but I think it would be great if the runtime installation of dependencies during the package build process were sped up dramatically.

(Hmm.  Some future version of rpm/dnf could get really fancy and *reflink* package contents into the build chroot rather than untarring them every time.)