On Mon, 2007-03-05 at 15:38 -0500, Robin Norwood wrote: > "Tom 'spot' Callaway" <tcallawa@xxxxxxxxxx> writes: > > > On Mon, 2007-03-05 at 18:17 +0100, Rafael Garcia-Suarez wrote: > >> On 05/03/07, Tom 'spot' Callaway <tcallawa@xxxxxxxxxx> wrote: > >> > CPAN isn't the only thing: > >> > > >> > [spot@localhost perl-5.8.8]$ grep -r "require ExtUtils::MakeMaker" * > >> > lib/CPAN.pm: require ExtUtils::MakeMaker; > >> > lib/CPAN.pm: require ExtUtils::MakeMaker; > >> > lib/ExtUtils/Embed.pm:#require ExtUtils::MakeMaker; > >> > lib/ExtUtils/Embed.pm: require ExtUtils::MakeMaker; > >> > lib/ExtUtils/t/backwards.t:require ExtUtils::MakeMaker; > >> > lib/ExtUtils/MM.pm:require ExtUtils::MakeMaker; > >> > utils/perlbug.PL: require ExtUtils::MakeMaker; > >> > > >> > so, we'd need to handle ExtUtils::Embed and perlbug too. :/ > >> > > >> > perlbug is really the hardest one. I think we really want that to be in > >> > the base perl package. > >> > >> Look closer. EU::MM is only needed by perlbug on... MacOS classic. I > >> think you can ditch that dependency :) > > > > Well, thats a relief. :) > > > > So, we'd need: > > > > perl-ExtUtils-MakeMaker > > perl-ExtUtils-Embed > > perl-CPAN > > (which requires) > > \perl-Test-Harness >= 2.62 (core perl provided 2.56) > > > > We can either entirely extract these components from the core tree > > before building core perl, or we can just let them build and not package > > them (the simpler approach, and the one I have initially chosen). > > > > But when I did that, I hit problems: > > /usr/bin/perlcc needs ExtUtils::Embed (circular dep?) > > /usr/bin/perlivp needs ExtUtils::Installed (circular dep?) > > /usr/bin/h2xs needs ExtUtils::MakeMaker (circular dep?) > > /usr/bin/libnetcfg needs ExtUtils::MakeMaker (circular dep?) > > > > I don't think there is going to be a good way to pull these items out of > > core without introducing circular deps. Below is a patch proposal to address this issue: It is based on moving EU::MM and CPAN to perl-devel and then tracing all deps between the main perl package and perl-devel. Unless I missed something, this should resolve the deps issues related to EU::MM. Ralf
? ExtUtils-MakeMaker-6.32 ? ExtUtils-MakeMaker-6.32.tar.gz ? MakeMaker.files ? diff ? i386 ? list ? perl-5.8.8 ? perl-5.8.8-12.src.rpm ? perl-5.8.8-14.1.src.rpm ? perl-5.8.8-14.src.rpm ? usr Index: perl.spec =================================================================== RCS file: /cvs/dist/devel/perl/perl.spec,v retrieving revision 1.108 diff -u -r1.108 perl.spec --- perl.spec 28 Feb 2007 15:34:50 -0000 1.108 +++ perl.spec 6 Mar 2007 13:23:09 -0000 @@ -26,6 +26,8 @@ Source0: http://www.cpan.org/authors/id/N/NW/NWCLARK/%{name}-%{version}.tar.bz2 Source11: filter-depends.sh Source12: perl-5.8.0-libnet.cfg +Source20: MakeMaker.files + # Specific to Fedora/RHEL Patch1: perl-5.8.0-root.patch # Upstream bug 41586 @@ -447,13 +451,17 @@ # disable brp-strip %endif +cat %{SOURCE20} > devel.incl +sed -e 's,^,%exclude ,g' \ + %{SOURCE20} > devel.excl + %clean rm -rf $RPM_BUILD_ROOT %check make test -%files +%files -f devel.excl %defattr(-,root,root,-) %doc Copying README %{_mandir}/man1/*.1* @@ -465,13 +473,53 @@ %endif %exclude %{_bindir}/suidperl %exclude %{_bindir}/sperl%{version} +%exclude %{_bindir}/instmodsh %exclude %{_libdir}/perl5/%{version}/%{perl_archname}/CORE/*.h + +%exclude %{_bindir}/cpan +%exclude %{_libdir}/perl5/%{version}/CPAN* +%exclude %{_mandir}/man3/CPAN* +%exclude %{_mandir}/man1/cpan* + +%exclude %{_libdir}/perl5/%{version}/ExtUtils/Embed.pm + %exclude /usr/lib/perl5/%{version}/Encode/*.h +%exclude %{_bindir}/enc2xs +%exclude %{_libdir}/perl5/%{version}/Encode/Makefile_PL.e2x +%exclude %{_mandir}/man1/enc2xs* + +%exclude %{_bindir}/libnetcfg +%exclude %{_mandir}/man1/libnetcfg* + +%exclude %{_bindir}/perlcc +%exclude %{_mandir}/man1/perlcc* -%files devel +%exclude %{_bindir}/perlivp +%exclude %{_mandir}/man1/perlivp* + + +%files devel -f devel.incl %defattr(-,root,root,-) %{_libdir}/perl5/%{version}/%{perl_archname}/CORE/*.h +%{_bindir}/cpan +%{_libdir}/perl5/%{version}/CPAN* +%{_mandir}/man3/CPAN* +%{_mandir}/man1/cpan* +%{_libdir}/perl5/%{version}/ExtUtils/Embed.pm + /usr/lib/perl5/%{version}/Encode/*.h +%{_bindir}/enc2xs +%{_libdir}/perl5/%{version}/Encode/Makefile_PL.e2x +%{_mandir}/man1/enc2xs* + +%{_bindir}/libnetcfg +%{_mandir}/man1/libnetcfg* + +%{_bindir}/perlcc +%{_mandir}/man1/perlcc* + +%{_bindir}/perlivp +%{_mandir}/man1/perlivp* %files suidperl %defattr(-,root,root,-)
%{_bindir}/instmodsh %{_libdir}/perl5/%{version}/ExtUtils/PATCHING %{_libdir}/perl5/%{version}/ExtUtils/NOTES %dir %{_libdir}/perl5/%{version}/ExtUtils/Command/ %{_libdir}/perl5/%{version}/ExtUtils/Command/MM.pm %{_libdir}/perl5/%{version}/ExtUtils/Installed.pm %{_libdir}/perl5/%{version}/ExtUtils/Install.pm %dir %{_libdir}/perl5/%{version}/ExtUtils/Liblist/ %{_libdir}/perl5/%{version}/ExtUtils/Liblist/Kid.pm %{_libdir}/perl5/%{version}/ExtUtils/Liblist.pm %dir %{_libdir}/perl5/%{version}/ExtUtils/MakeMaker/ %{_libdir}/perl5/%{version}/ExtUtils/MakeMaker/bytes.pm %{_libdir}/perl5/%{version}/ExtUtils/MakeMaker/Config.pm %{_libdir}/perl5/%{version}/ExtUtils/MakeMaker/FAQ.pod %{_libdir}/perl5/%{version}/ExtUtils/MakeMaker.pm %{_libdir}/perl5/%{version}/ExtUtils/MakeMaker/Tutorial.pod %{_libdir}/perl5/%{version}/ExtUtils/MakeMaker/vmsish.pm %{_libdir}/perl5/%{version}/ExtUtils/Manifest.pm %{_libdir}/perl5/%{version}/ExtUtils/MANIFEST.SKIP %{_libdir}/perl5/%{version}/ExtUtils/Mkbootstrap.pm %{_libdir}/perl5/%{version}/ExtUtils/Mksymlists.pm %{_libdir}/perl5/%{version}/ExtUtils/MM_* %{_libdir}/perl5/%{version}/ExtUtils/MM.pm %{_libdir}/perl5/%{version}/ExtUtils/MY.pm %{_libdir}/perl5/%{version}/ExtUtils/Packlist.pm %{_libdir}/perl5/%{version}/ExtUtils/testlib.pm %{_mandir}/man1/instmodsh.1* %{_mandir}/man3/ExtUtils::Command::MM.3pm* %{_mandir}/man3/ExtUtils::Install.3pm* %{_mandir}/man3/ExtUtils::Installed.3pm* %{_mandir}/man3/ExtUtils::Liblist.3pm* %{_mandir}/man3/ExtUtils::MakeMaker.3pm* %{_mandir}/man3/ExtUtils::MakeMaker::bytes.3pm* %{_mandir}/man3/ExtUtils::MakeMaker::Config.3pm* %{_mandir}/man3/ExtUtils::MakeMaker::FAQ.3pm* %{_mandir}/man3/ExtUtils::MakeMaker::Tutorial.3pm* %{_mandir}/man3/ExtUtils::MakeMaker::vmsish.3pm* %{_mandir}/man3/ExtUtils::Manifest.3pm* %{_mandir}/man3/ExtUtils::Mkbootstrap.3pm* %{_mandir}/man3/ExtUtils::Mksymlists.3pm* %{_mandir}/man3/ExtUtils::MM_*.3pm* %{_mandir}/man3/ExtUtils::MM.3pm* %{_mandir}/man3/ExtUtils::MY.3pm* %{_mandir}/man3/ExtUtils::Packlist.3pm* %{_mandir}/man3/ExtUtils::testlib.3pm*