apkbuild-cpan.in: Fixes #10025 - invalid 'Duplicate' removed

This commit is contained in:
Timothy Legge 2021-02-15 01:21:18 +00:00
parent f35f2aa859
commit b7196278b1
1 changed files with 6 additions and 4 deletions

View File

@ -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'));