On Fri, 23 Feb 2018 13:56:58 +0100
Petr Pisar <ppi...@redhat.com> wrote:

> It's a long time I sent a message here. And because your read my new
> message, it means something is wrong. Here it is:
> 
> GCC won't be in the minimal build root
> <https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot>
> since Fedora 29. That affects Perl packages that executes gcc at
> build time
> <https://ignatenkobrain.fedorapeople.org/gcc-removal-pkgs.txt>.
> 
> Many of them use ExtUtils::CBuilder
> <https://ignatenkobrain.fedorapeople.org/gcc-removal.txt> and thus
> Paul proposed adding dependency on gcc to perl-ExtUtils-CBuilder
> <https://bugzilla.redhat.com/show_bug.cgi?id=1547165> instead of
> adding it to each of the affected spec file as C guidelines recommends
> <https://fedoraproject.org/wiki/Packaging:C_and_C%2B%2B#BuildRequires_and_Requires>.
> 
> It's true that the only reason for ExtUils::CBuilder existence is to
> build C code. Thus it is reasonable to require gcc from this package.
> 
> (ExtUils::CBuilder also supports C++ and I think it makes sense to
> require both gcc and gcc-c++.)
> 
> But if perl-ExtUtils-CBuilder will require gcc, then all
> Module::Build driven packages (403) will pull in gcc because current
> perl-Module-Build requires it. In reality there is only 59
> architecture specific packages that uses Module::Build.
> 
> So it's tempting to remove the ExtUtils::CBuilder dependency from
> perl-Module-Build. Can we do it?
> 
> "XS Extensions" section in Module::Build::Authoring reads:
> 
>     Modules which need to compile XS code should list
> "ExtUtils::CBuilder" as a "build_requires" element.
> 
> Contrary to that Module-Build requires ExtUtils::CBuilder in it's
> META data. Thus I don't believe CPAN distribution authors or Fedora
> packagers do that. And indeed Fedora has 36 Module::Build packages
> that are missing ExtUtils::CBuilder build-dependency:
> 
> perl-Alien-ROOT
> perl-Alien-wxWidgets
> perl-Authen-DecHpwd
> perl-Boost-Geometry-Utils
> perl-Config-Augeas
> perl-Crypt-MySQL
> perl-Crypt-ScryptKDF
> perl-Data-Pond
> perl-Devel-GoFaster
> perl-File-Map
> perl-Hash-FieldHash
> perl-HTML-Escape
> perl-IO-Interface
> perl-JavaScript-Minifier-XS
> perl-Judy
> perl-KinoSearch1
> perl-Lexical-SealRequireHints
> perl-Lexical-Var
> perl-Lchown
> perl-Lingua-Stem-Snowball
> perl-Net-IDN-Encode
> perl-Net-LibIDN2
> perl-Params-Classify
> perl-Params-Validate
> perl-Parse-DMIDecode
> perl-PerlIO-buffersize
> perl-PerlIO-Layers
> perl-RPM2
> perl-Scalar-String
> perl-SDL
> perl-Socket-Netlink
> perl-Text-Xslate
> perl-Thread-SigMask
> perl-Time-timegm
> perl-Unicode-CaseFold
> remctl
> 
> I think it makes sense to implement this change:
> 
> (1) Add gcc and gcc-c++ dependency to perl-ExtUtils-CBuilder.
> (2) Replace ExtUtils::CBuilder hard dependency with a weak dependency
> at Recommends level in perl-Module-Build.
> (3) Add ExtUtils::CBuilder build-time dependency to those 36 packages.
> (4) Add gcc weak dependency at Recommends level to
> perl-ExtUtils-MakeMaker. (4) Add gcc build dependency to rest (mostly
> ExtUtils::MakeMaker-driven) spec files where it is missing.
> 
> Do you agree? Do you have a different opinion? Do you have a better
> plan?

That looks very reasonable to me.

Paul.
_______________________________________________
perl-devel mailing list -- perl-devel@lists.fedoraproject.org
To unsubscribe send an email to perl-devel-le...@lists.fedoraproject.org

Reply via email to