Hi good people, I'd like to install the XML::Feed on my system. (Mandriva Linux 2006 Beta-2) Only problem is that I want it and all of its dependencies packaged as RPMs. I'm aware of three such solutions for automatically preparing RPMs out of CPAN packages:
1. cpan2rpm - http://perl.arix.com/cpan2rpm/ - I don't know if it does dependency recursion. 2. Ovid - http://search.cpan.org/dist/Ovid/ - Slightly less updated to handle all the latest CPAN technologies (Module::*, ExtUtils::*, etc.). But does recursion. 3. cpanflute - I heard about it, but cannot find it anywhere. It's supposed to be part of RedHat distributions but Google is not help in finding it. ----------- Now, when I ran "cpan2rpm XML::Feed" (latest version, as root) I get: <<<<<<<<<<<<<<<<<<<<<<< [EMAIL PROTECTED] shlomi]# cpan2rpm XML::Feed -- cpan2rpm - Ver: 2.028 -- Signatures not set up Upgrade check Fetch: HTTP -- module: XML::Feed -- Using cached URL: http://search.cpan.org//CPAN/authors/id/B/BT/BTROTT/XML-Feed-0.07.tar.gz Tarball found - not fetching Metadata retrieval Tarball extraction: [/usr/src/RPM/SOURCES/XML-Feed-0.07.tar.gz] No version found, please use --version option. Stopped at /usr/bin/cpan2rpm line 577. Can't return to /root/tmp/Hd0YX9Xr6j/XML-Feed-0.07 from /root/tmp/Hd0YX9Xr6j (No such file or directory) at /usr/bin/cpan2rpm line 0 END failed--call queue aborted. -- Done -- >>>>>>>>>>>>>>>>>>>>>>> When I run Ovid on it I get: <<<<<<<<<<<<<<<<<<<<<<< [EMAIL PROTECTED] shlomi]# ovid XML::Feed CPAN: Storable loaded ok Going to read /root/.cpan/Metadata Database was generated on Sun, 21 Aug 2005 20:58:22 GMT /usr/bin/ovid: distribution XML::Feed contains modules XML::Feed::Atom XML::Feed XML::Feed::Entry::Atom XML::Feed::Entry::RSS XML::Feed::Entry XML::Feed::Content XML::Feed::RSS CPAN: Digest::MD5 loaded ok CPAN: Compress::Zlib loaded ok Checksum for /root/.cpan/sources/authors/id/B/BT/BTROTT/XML-Feed-0.07.tar.gz ok Scanning cache /root/.cpan/build for sizes XML-Feed-0.07/ XML-Feed-0.07/Build.PL XML-Feed-0.07/Changes XML-Feed-0.07/inc/ XML-Feed-0.07/inc/ExtUtils/ XML-Feed-0.07/inc/ExtUtils/AutoInstall.pm XML-Feed-0.07/inc/Module/ XML-Feed-0.07/inc/Module/Install/ XML-Feed-0.07/inc/Module/Install/AutoInstall.pm XML-Feed-0.07/inc/Module/Install/Base.pm XML-Feed-0.07/inc/Module/Install/Build.pm XML-Feed-0.07/inc/Module/Install/Can.pm XML-Feed-0.07/inc/Module/Install/Fetch.pm XML-Feed-0.07/inc/Module/Install/Include.pm XML-Feed-0.07/inc/Module/Install/Makefile.pm XML-Feed-0.07/inc/Module/Install/Metadata.pm XML-Feed-0.07/inc/Module/Install/Win32.pm XML-Feed-0.07/inc/Module/Install/WriteAll.pm XML-Feed-0.07/inc/Module/Install.pm XML-Feed-0.07/lib/ XML-Feed-0.07/lib/XML/ XML-Feed-0.07/lib/XML/Feed/ XML-Feed-0.07/lib/XML/Feed/Atom.pm XML-Feed-0.07/lib/XML/Feed/Content.pm XML-Feed-0.07/lib/XML/Feed/Entry.pm XML-Feed-0.07/lib/XML/Feed/RSS.pm XML-Feed-0.07/lib/XML/Feed.pm XML-Feed-0.07/Makefile.PL XML-Feed-0.07/MANIFEST XML-Feed-0.07/META.yml XML-Feed-0.07/README XML-Feed-0.07/t/ XML-Feed-0.07/t/00-compile.t XML-Feed-0.07/t/01-parse.t XML-Feed-0.07/t/02-create.t XML-Feed-0.07/t/04-splice.t XML-Feed-0.07/t/samples/ XML-Feed-0.07/t/samples/atom.xml XML-Feed-0.07/t/samples/rss10.xml XML-Feed-0.07/t/samples/rss20-no-summary.xml XML-Feed-0.07/t/samples/rss20.xml Removing previously used /root/.cpan/build/XML-Feed-0.07 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.29108 + umask 022 + cd /usr/src/RPM/BUILD + '[' 1 -eq 1 ']' + '[' 1 -eq 1 ']' + '[' 1 -eq 1 ']' + cd /usr/src/RPM/BUILD + rm -rf XML-Feed-0.07 + /usr/bin/gzip -dc /usr/src/RPM/SOURCES/XML-Feed-0.07.tar.gz + tar -xf - + STATUS=0 + '[' 0 -ne 0 ']' + cd XML-Feed-0.07 + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.9603 + umask 022 + cd /usr/src/RPM/BUILD + cd XML-Feed-0.07 + '[' 1 -eq 1 ']' + '[' 1 -eq 1 ']' + CFLAGS='-O2 -fomit-frame-pointer -pipe -march=i586 -mtune=pentiumpro ' + perl Makefile.PL *** ExtUtils::AutoInstall version 0.56 *** Checking for dependencies... [Core Features] - Class::ErrorHandler ...missing. - Feed::Find ...missing. - URI::Fetch ...missing. - XML::RSS ...loaded. (1.05 >= 1.01) - XML::Atom ...missing. (would need 0.08) - LWP ...loaded. (5.803) - HTML::Parser ...loaded. (3.45) - URI ...loaded. (1.35) - DateTime ...missing. - DateTime::Format::Mail ...missing. - DateTime::Format::W3CDTF ...missing. - List::Util ...loaded. (1.14) ==> Auto-install the 7 mandatory module(s) from CPAN? [y] >>>>>>>>>>>>>>>>>>>>>>> And that's it, I get a prompt in which I need to enter something. Entering "No" (I don't want CPAN.pm/CPANPLUS.pm to install these modules and pollute my file system), results in a generated module but no dependencies built. (and probably the .rpm has no dependencies either). Upon further investigation it turns out that XML::Feed's Build.PL invokes the Makefile.PL (which may confuse cpan2rpm that assumes that if there's a Build.PL file then the Module::Build interface will be able to build it). Furthermore, Makefile.PL makes use of ExtUtils::AutoInstall, which is what generates the entire prompt, and confuses Ovid. In the ExtUtils::AutoInstall documentation: http://search.cpan.org/dist/ExtUtils-AutoInstall/ It says that you can invoke the Makefile.PL with some command line flags, to do all kinds of stuff, but I couldn't find a way to get it to work like normal EU::MM Makefile.PL's with PREREQ_PM's (at least not from a quick glance at the documentation.) I inspected the Mandriva RPM of POE, which is another module that makes use of EU::AutoInstall, but it just uses "--default", which is not very helpful for recursive building. So what should I do to get an RPM working, without starting to manually work on a gazillion RPM .specs? Regards, Shlomi Fish ("Why must it be so hard???") --------------------------------------------------------------------- Shlomi Fish [EMAIL PROTECTED] Homepage: http://www.shlomifish.org/ Tcl is LISP on drugs. Using strings instead of S-expressions for closures is Evil with one of those gigantic E's you can find at the beginning of paragraphs.