On Fri, Feb 16, 2018 at 05:01:33PM +0100, Vít Ondruch wrote: > > > Dne 16.2.2018 v 16:33 Daniel P. Berrangé napsal(a): > > On Fri, Feb 16, 2018 at 04:22:58PM +0100, Vít Ondruch wrote: > >> > >> Dne 16.2.2018 v 16:12 Vít Ondruch napsal(a): > >>> Dne 16.2.2018 v 15:27 Daniel P. Berrangé napsal(a): > >>>> On Fri, Feb 16, 2018 at 12:56:32PM +0100, Jan Kurik wrote: > >>>>> Proposed System Wide Change: Remove GCC from BuildRoot > >>>>> https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot > >>>>> > >>>>> > >>>>> Owner(s): > >>>>> * Igor Gnatenko <ignatenkobrain at fedoraproject dot org> > >>>>> > >>>>> > >>>>> Removing gcc and gcc-c++ from default buildroot in Koji and mock. > >>>>> > >>>>> > >>>>> > >>>>> == Detailed description == > >>>>> Since beginning of Fedora, gcc (and gcc-c++) are installed in every > >>>>> buildroot. Times have changed and nowadays many of packages are not > >>>>> written in C/C++, they are written in Python, Ruby, Node.js, Go, Rust, > >>>>> OCaml, Perl and so on so they don't need to have C/C++ compiler. > >>>>> Installing gcc and gcc-c++ takes time so if we remove it, we can > >>>>> improve build times for many of the packages. > >>>>> > >>>>> > >>>>> == Scope == > >>>>> * Proposal owners: > >>>>> Remove gcc, gcc-c++ from build group in Koji and from buildsys-build > >>>>> group in comps. > >>>>> > >>>>> * Other developers: > >>>>> Maintainers should follow guidelines and add BuildRequires: gcc if > >>>>> they need it during build (this guideline exists for long time). > >>>> I feel like this is something that many many many packages will not > >>>> have present. For a long time it was acceptable to omit BuildRequires > >>>> for stuff that was in the default build root, and while the C/C++ > >>>> packaging guidelines do say you need BR: gcc, I expect most packagers > >>>> have never noticed this changed. > >>>> > >>>> IOW, if we remove gcc/gcc-c++ from the build root, *before* fixing > >>>> up packages we're going to create a huge pile of rebuild failures. > >>>> > >>>> Can we please do something here to identify which packages likely have > >>>> missing BR: gcc and automatically fix up the specs, rather than creating > >>>> 100's of failing packages and then waiting weeks in a broken state for > >>>> maintainers to fix them up. > >>> When I started this discussion 3 years ago, I tried to get some > >>> estimates in subthread started by this message: > >>> > >>> https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx/message/AEYQSAGVPT64TNZ3PA52U4PLEPUOOKGV/ > >>> > >> Or may be this one? > >> > >> > >> https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx/message/EMWYUIZL4QQBAPKEVRNYOFKUPWSW3F7G/ > >> > >> > >> Just for the fun, I run the same queries for Rawhide: > >> > >> $ dnf repoquery --disablerepo=* --enablerepo=rawhide-source --arch src > >> '*' | wc -l > >> 20946 > >> > >> $ dnf repoquery --disablerepo=* --enablerepo=rawhide --source > >> --whatrequires 'libc.so.6*' | sort -u | sed -r 's/(.*)-.*-.*/\1/' | uniq > >> | wc -l > >> 8559 > >> > >> > >> 40,86 % of packages is in C/C++. It looks the trend continues ... > > Don't suppose you have any easy way to query how many .spec files > > in master, have a "BuildRequires: gcc". Would be interesting to get > > a guide as to how many of those 8559 are likely to break from this > > proposed change... > > $ curl -OL http://src.fedoraproject.org/repo/rpm-specs-latest.tar.xz > $ tar xfv rpm-specs-latest.tar.xz > $ cd rpm-specs/ > $ grep -R -e 'BuildRequires.*gcc' | wc -l > 1912 So in the worst case scenario, dropping gcc will potentailly break 6500 RPMs. Though many RPMs come from the same spec file, that still leaves potentially 1000's of spec files needing editting. Requiring manual packager work for this is crazy - it is crying out to be automated. Even if the automation is pessimistic and adds BR: gcc where isn't really needed in some cases, that's still likely to be a net win. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx