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? -- Petr
Attachment:
signature.asc
Description: PGP signature
_______________________________________________ perl-devel mailing list -- perl-devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to perl-devel-leave@xxxxxxxxxxxxxxxxxxxxxxx