Bug 1547165
Summary: | perl-ExtUtils-CBuilder should require gcc | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Paul Howarth <paul> |
Component: | perl-ExtUtils-CBuilder | Assignee: | Petr Pisar <ppisar> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | rawhide | CC: | jose.p.oliveira.oss, jplesnik, perl-devel, ppisar, steve, tcallawa |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | perl-ExtUtils-CBuilder-0.280230-3.fc29 | Doc Type: | If docs needed, set a value |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2018-03-14 13:00:00 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Paul Howarth
2018-02-20 16:15:05 UTC
I did not yet look at the problem thoroughly. I remember we had a dependency on gcc somewhere sometime and people did not like that installing Perl core modules installs gcc. I need to look into it more deeply. Because I do not want noarch packages to bring gcc into build root via some transitive dependency. Also Perl guidelines states that archfull packages should build-require perl-devel. I do not want tell people that they should build-require EU::CBuilder instead. CBuilder::Base::compile() does: my @cc = $self->split_like_shell($args{'C++'} ? $cf->{cxx} : $cf->{cc}); $self->do_system(@cc, @flags, $args{source}) Should we also hard-require gcc-c++? Or do we aim to "good enough" solution? Looking at the gcc-removal.txt file, all of the failures mentioning EU::CB are failing when trying to run gcc rather than g++. So I'm inclined to add a hard dependency on gcc (the module is pretty much useless without it) and a soft one on gcc-c++. (In reply to Petr Pisar from comment #1) > Also Perl guidelines states that archfull packages should > build-require perl-devel. I do not want tell people that they should > build-require EU::CBuilder instead. Not all archful packages use EU::CBuilder; those that don't should pull in gcc themselves, but those that do use EU::CBuilder could reasonably expect it to "just work" I think. I would add both dependencies. Compare to cmake bug #923024. cmake does not run-require any compiler although it defaults to C++ and dies if it cannot find g++. I will probably add both compilers as a hard dependency. I did some tests and if we want perl-ExtUtils-CBuilder to require gcc, we need to remove dependency on ExtUtils::CBuilder from perl-Module-Build. That will break 36 packages in Fedora. Module-Build requires ExtUtils::CBuilder in META data, but at the same time documents that Module::Build users should require ExtUtils::CBuilder explicitly. I'm keen to go this way and fix the 36 packages. I will send an e-mail to perl-devel list the attract more attention and more ideas. The perl-devel message <https://lists.fedoraproject.org/archives/list/perl-devel@lists.fedoraproject.org/message/MWK6MLOWOIJ2UVMRILR3FAZZRE3X6OCM/>. There were no objections. The change is implemented in: perl-ExtUtils-CBuilder-0.280230-3.fc29 perl-ExtUtils-MakeMaker-7.32-2.fc29 perl-Module-Build-0.42.24-6.fc29 I also removed a hard dependency on perl-devel from perl-ExtUtils-MakeMaker. I also noticed that perl-Module-Install pulls in perl-devel and gcc transitively. I will find out why. I finished adding ExtUtils::CBuilder dependency to spec files. I omitted some of them where it came as a transitive dependency of some other already used XS-builder used module because I do not feel competent nor motivate to hunt the specific piece of line responsible for executing gcc in foreign packages. I fell little bit uneasy with this change. perl-Net-IDN-Encode-2.400-7.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2018-b2c056d6b0 perl-Net-IDN-Encode-2.400-7.fc28 has been pushed to the Fedora 28 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-b2c056d6b0 perl-Net-IDN-Encode-2.400-7.fc28 has been pushed to the Fedora 28 stable repository. If problems still persist, please make note of it in this bug report. |