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@lists.fedoraproject.o...
>>
> Or may be this one?
>
>
>
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.o...
>
>
> 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...
$ tar xfv rpm-specs-latest.tar.xz
$ cd rpm-specs/
$ grep -R -e 'BuildRequires.*gcc' | wc -l
1912
Vít