diff --git a/apkbuild-cpan.in b/apkbuild-cpan.in index ced66c2..b8d79af 100755 --- a/apkbuild-cpan.in +++ b/apkbuild-cpan.in @@ -161,7 +161,7 @@ sub parse_deps { #Get list of unique required modules from all parameters foreach $reqs (@_) { for my $module ($reqs->required_modules) { - $reqmodlist .= "$module " unless $reqmodlist =~ m/$module/; + $reqmodlist .= "$module " unless $reqmodlist =~ m/^$module$/; } } @@ -189,7 +189,7 @@ sub parse_deps { $distdata->{error} and die "Error trying to locate $_: $distdata->{error}\n"; my $pkgname = map_cpan_to_apk($distdata->{distribution}); - $deps .= "$pkgname " unless $deps =~ m/$pkgname/; + $deps .= "$pkgname " unless $deps =~ m/^$pkgname$/; } $deps =~ s/\h+/ /g; $deps =~ s/ $//; @@ -341,6 +341,7 @@ sub do_depends { } $metaprefix =~ s/-\$pkgver//g; + print "\nMetaprefix: $metaprefix\n"; my $meta; @@ -359,7 +360,7 @@ sub do_depends { my $license = join " OR ", map {$license_mappings->{$_} or $_} $meta->license; say "License: $license"; - my $deps = parse_deps $meta->effective_prereqs->requirements_for('runtime', 'requires'); + my $deps = parse_deps( $meta->effective_prereqs->requirements_for('runtime', 'requires') ); if (defined $oldapkbuild->{'depends'}){ if (defined $oldapkbuild->{'cpandepends'}) { @@ -382,7 +383,7 @@ sub do_depends { } say "CPAN runtime Required: $deps"; - say "CPAN runtime Recommended: " . parse_deps $meta->effective_prereqs->requirements_for('runtime', 'recommends'); + say "CPAN runtime Recommended: " . parse_deps( $meta->effective_prereqs->requirements_for('runtime', 'recommends')); my $makedeps = parse_deps( $meta->effective_prereqs->requirements_for('configure', 'requires'), @@ -410,6 +411,7 @@ sub do_depends { } else { $makedeps = format_depends("perl-dev " . $makedeps); } + $makedeps =~ s/ +$//g; say "CPAN build deps: $makedeps"; say " CPAN build requires: " . parse_deps($meta->effective_prereqs->requirements_for('configure', 'requires'), $meta->effective_prereqs->requirements_for('build', 'requires'));