[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [Bug 230608] missing config.h in latest -14



On Mon, 2007-03-05 at 15:38 -0500, Robin Norwood wrote:
> "Tom 'spot' Callaway" <tcallawa redhat com> writes:
> 
> > On Mon, 2007-03-05 at 18:17 +0100, Rafael Garcia-Suarez wrote:
> >> On 05/03/07, Tom 'spot' Callaway <tcallawa redhat com> 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*

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]