[Module-build-checkins] Module-Build/lib/Module/Build Base.pm,1.413,1.414 Notes.pm,1.5,1.6
Status: Beta
Brought to you by:
kwilliams
|
From: Ken W. <kwi...@us...> - 2005-04-15 22:59:14
|
Update of /cvsroot/module-build/Module-Build/lib/Module/Build In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9042/lib/Module/Build Modified Files: Base.pm Notes.pm Log Message: Fix a weird error with ConfigNotes under perl 5.005 Index: Base.pm =================================================================== RCS file: /cvsroot/module-build/Module-Build/lib/Module/Build/Base.pm,v retrieving revision 1.413 retrieving revision 1.414 diff -u -d -r1.413 -r1.414 --- Base.pm 14 Apr 2005 02:49:02 -0000 1.413 +++ Base.pm 15 Apr 2005 22:59:00 -0000 1.414 @@ -1774,7 +1774,6 @@ } else { require Module::Build::ConfigData; } - if (Module::Build::ConfigData->feature('manpage_support')) { $self->manify_bin_pods() if $self->install_destination('bindoc'); $self->manify_lib_pods() if $self->install_destination('libdoc'); Index: Notes.pm =================================================================== RCS file: /cvsroot/module-build/Module-Build/lib/Module/Build/Notes.pm,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- Notes.pm 13 Apr 2005 01:46:59 -0000 1.5 +++ Notes.pm 15 Apr 2005 22:59:05 -0000 1.6 @@ -152,14 +152,22 @@ sub feature { my ($package, $key) = @_; return $features->{$key} if exists $features->{$key}; - - my $info = $auto_features->{$key} or return; + + my $info = $auto_features->{$key} or return 0; + + # Under perl 5.005, each(%%$foo) isn't working correctly when $foo + # was reanimated with Data::Dumper and eval(). Not sure why, but + # copying to a new hash seems to solve it. + my %%info = %%$info; + require Module::Build; # XXX should get rid of this - while (my ($type, $prereqs) = each %%$info) { + while (my ($type, $prereqs) = each %%info) { next if $type eq 'description'; - while (my ($modname, $spec) = each %%$prereqs) { + + my %%p = %%$prereqs; # Ditto here. + while (my ($modname, $spec) = each %%p) { my $status = Module::Build->check_installed_status($modname, $spec); - if (!$status->{ok} xor $type =~ /conflicts$/) { return 0; } + if ((!$status->{ok}) xor ($type =~ /conflicts$/)) { return 0; } } } return 1; |