Description of problem: Installing perl-tk will requires perl(ExtUtils::MakeMaker) that will trigger perl-devel installed on runtime perl environnement. Version-Release number of selected component (if applicable): perl-Tk-804.029-3.fc16.x86_64 Only tested on f16 How reproducible: always Steps to Reproduce: 1. install perl-Tk Actual results: perl-devel is installed Expected results: perl-devel shouldn't be installed. Additional info: # rpm -e perl-devel perl-ExtUtils-ParseXS perl-ExtUtils-MakeMaker perl-Test-Harness perl(ExtUtils::MakeMaker) is needed by (installed) perl-Tk-804.029-3.fc16.x86_64 So that's the perl module that need to be filtered
Created attachment 527333 [details] Filter perl(ExtUtils::MakeMaker) Patch tested to work with this scratch build for dist-f16 http://koji.fedoraproject.org/koji/taskinfo?taskID=3420279 http://koji.fedoraproject.org/koji/getfile?taskID=3420279&name=build.log
(In reply to comment #0) > Additional info: > # rpm -e perl-devel perl-ExtUtils-ParseXS perl-ExtUtils-MakeMaker > perl-Test-Harness > perl(ExtUtils::MakeMaker) is needed by (installed) > perl-Tk-804.029-3.fc16.x86_64 > So that's the perl module that need to be filtered I disagree - This would be a mistake. perl-Tk uses MakeMaker: # grep -R MakeMaker usr/ usr/lib/perl5/vendor_perl/Tk/MMutil.pm:use ExtUtils::MakeMaker; So, rpm is right to add a dependency on perl(ExtUtils::MakeMaker). If versions on earlier Fedoras didn't, this would be a bug. I.e. if this dependency shall be removed, the appropriate step would be to move Tk/MMutil.pm into a subpackage.
Any objections to comment#2 ? Shouldn't there be any objections to splitting out Tk/MMutil.pm into a subpackage within the next couple of hours, I'll apply a patch implementing this to rawhide and f16, tomorrow.
Only a half-hearted objection - I don't care too much about perl-Tk. But Tk::MMutil is nothing more than a Tk-specific EU::MM extension. Nothing explicitly requires or buildrequires it. Only a couple of perl-Tk packages (perl-Tk-ProgressBar-Mac and perl-Tk-TableMatrix) expect it to be there at build time due to BR perl(Tk) - and however you resolve this, both would need to be updated as a result (unless you do nothing, of course). I think it would be slightly more obvious for builds to fail because EU::MM is missing rather than Tk::MMutil is missing. Pretty much everyone knows what to do if EU::MM is missing at build time (just BR EU::MM). Missing Tk::MMutil could easily lead to "WTF is Tk::MMutil?" <check on CPAN> "WTF? It's part of Tk, and perl-Tk is installed, but Tk::MMutil is missing!!". Bottom line, yes, perl-Tk should strictly require EU::MM. But for ~99.9% of users, it doesn't actually need to.
(In reply to comment #4) > Only a half-hearted objection - I don't care too much about perl-Tk. > > But Tk::MMutil is nothing more than a Tk-specific EU::MM extension. Nothing > explicitly requires or buildrequires it. Right - Minor packaging bugs. > Only a couple of perl-Tk packages > (perl-Tk-ProgressBar-Mac and perl-Tk-TableMatrix) expect it to be there at > build time due to BR perl(Tk) Thanks for pointing out these 2 packages. Besides these 2, I haven't found any further packages using perl(Tk/MMutil), yet (But I am still checking). > - and however you resolve this, both would need > to be updated as a result (unless you do nothing, of course). Right - Such packages will be facing FTBS's during the next FTBS round or the next perl mass rebuild. > I think it would be slightly more obvious for builds to fail because EU::MM is > missing rather than Tk::MMutil is missing. Pretty much everyone knows what to > do if EU::MM is missing at build time (just BR EU::MM). Missing Tk::MMutil > could easily lead to "WTF is Tk::MMutil?" <check on CPAN> "WTF? It's part of > Tk, and perl-Tk is installed, but Tk::MMutil is missing!!". Well, isn't that the usual "devel<->runtime" complaint? Nothing to worry much about, IMO. > Bottom line, yes, perl-Tk should strictly require EU::MM. I do not agree. No "mere run-time module" should require EU::MM nor should any of these require perl-devel. In case of perl(Tk), it's only Tk::MMutil which pulls in EU::MM and perl-devel. That said, to me, splitting out Tk/MMutil, is just an ordinary "devel<->runtime" package split with all the "usual issues" attached.
perl-Tk-ProgressBar-Mac-1.2-9.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/perl-Tk-ProgressBar-Mac-1.2-9.fc16
perl-Tk-TableMatrix-1.23-12.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/perl-Tk-TableMatrix-1.23-12.fc16
I am delaying splitting out Tk::MMutil into a perl-Tk-MMutil subpackage, because something else has caught my attention: perl-Tk contains further modules, I believe to be "devel modules" in particular Tk/MakeDepend.pm and Tk/install.pm. Provided this, I am inclined to think it would be better to move Tk/MakeDepend, Tk/install and Tk/MMutil into a perl-Tk-devel sub package, instead of just splitting out Tk/MMutil Opinions, comments?
perl-Tk-804.029-4.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/perl-Tk-804.029-4.fc16
Package perl-Tk-804.029-4.fc16: * should fix your issue, * was pushed to the Fedora 16 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing perl-Tk-804.029-4.fc16' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2011-14700 then log in and leave karma (feedback).
perl-Tk-TableMatrix-1.23-12.fc16 has been pushed to the Fedora 16 stable repository. If problems still persist, please make note of it in this bug report.
perl-Tk-ProgressBar-Mac-1.2-9.fc16 has been pushed to the Fedora 16 stable repository. If problems still persist, please make note of it in this bug report.
perl-Tk-804.029-4.fc16 has been pushed to the Fedora 16 stable repository. If problems still persist, please make note of it in this bug report.