--- cpan2rpm.orig 2004-10-15 13:18:44.000000000 -0700 +++ cpan2rpm 2004-10-15 13:25:55.000000000 -0700 @@ -28,6 +28,7 @@ use warnings; use Getopt::Long; use Sys::Hostname; +use Pod::Text; my ($ME, $RPM, $TMPDIR, %RPMDIR, $CWD, %info, %meta, $ARGS); @@ -360,6 +361,8 @@ sub get_meta { my $info = shift || $_; local $_; + my $pod=new Pod::Text; + print "Metadata retrieval\n"; # extract tarball @@ -515,20 +518,19 @@ $meta{ABSTRACT} ||= ""; if (!$meta{ABSTRACT} && $from) { - local $_ = $from; - ($meta{ABSTRACT}) = /=head\d\s+NAME.*?-\s*(.*?)$/ism; + if ($from =~ /=head\d\s+NAME.*?-\s*(.*?)$/ism) { + $meta{ABSTRACT} = $pod->interpolate($1); + } } $meta{DESCRIPTION} ||= ""; if (!$meta{DESCRIPTION} && $from) { - local $_ = $from; - ($meta{DESCRIPTION}) = /=head\d\s+DESCRIPTION\s+(.*?)=(head|cut)/ism; - ; - ($meta{DESCRIPTION}) = /=head\d\s+SYNOPSIS\s+(.*?)=(head|cut)/ism - unless $meta{DESCRIPTION}; - $meta{DESCRIPTION} ||= ""; - $meta{DESCRIPTION} =~ s/E//>/ig; + if ($from =~ /=head\d\s+DESCRIPTION\s+(.*?)=(head|cut)/ism) { + $meta{DESCRIPTION} = $pod->interpolate($1) + } + elsif ($from =~ /=head\d\s+SYNOPSIS\s+(.*?)=(head|cut)/ism) { + $meta{DESCRIPTION} = $pod->interpolate($1) + } } $info->{author} ||= $meta{AUTHOR} || "";