App-CPANtoRPM
view release on metacpan or search on metacpan
lib/App/CPANtoRPM.pm view on Meta::CPAN
foreach my $l (@lic) {
if ($l =~ /^perl$/i ||
$l =~ /^perl_5$/i) {
$l="GPL+ or Artistic";
} elsif ($l =~ /^apache$/i) {
$l="Apache Software License";
} elsif ($l =~ /^artistic$/i) {
$l="Artistic";
} elsif ($l =~ /^artistic_?2$/i) {
$l="Artistic 2.0";
} elsif ($l =~ /^bsd$/i) {
$l="BSD";
} elsif ($l =~ /^gpl$/i) {
$l="GPL+";
} elsif ($l =~ /^lgpl$/i) {
$l="LGPLv2+";
} elsif ($l =~ /^mit$/i) {
$l="MIT";
} elsif ($l =~ /^mozilla$/i) {
$l="MPL";
} elsif ($l =~ /^open_source$/i) {
$l="OSI-Approved"; # rpmlint will complain
} elsif ($l =~ /^unrestricted$/i) {
$l="Distributable";
} elsif ($l =~ /^restrictive$/i) {
$l="Non-distributable";
$self->_log_message
('WARN',
'License is "restrictive".',
'This package should not be redistributed.');
} else {
$l="Unknown license: $l";
$self->_log_message
('WARN',
"Unknown license: $l",
'Check to make sure this package is distributable.');
}
}
$lic = join(', ',@lic);
} elsif ($OUTPUT->{'resources'} &&
$OUTPUT->{'resources'}->{'license'}) {
$lic = join(' ',@{ $OUTPUT->{'resources'}->{'license'} });
} elsif ($OUTPUT->{'license_uri'}) {
$lic = $OUTPUT->{'license_uri'};
}
$package{'m_license'} = $lic if ($lic);
}
# Requires can come from an old-style META.yml file:
# requires => FEATURE => VERSION
# build_requires => FEATURE => VERSION
# configure_requires => FEATURE => VERSION
# or a new style META.json file:
# prereqs =>
# LEVEL => LEVEL = configure, build, test, runtime
# KEY => KEY = requires, recommends
# FEATURE => VERSION
#
# If we find prereqs in multiple files, we'll merge them
# (but we'll use the VERSION from the first file they're
# found in so we'll assume that we're examining the most
# accurate file first).
my %requires;
if ($OUTPUT->{'prereqs'}) {
my %lev = ( 'configure' => [ 'build' ],
'build' => [ 'build' ],
'test' => [ 'test' ],
'runtime' => [ 'build', 'runtime' ],
);
foreach my $lev (keys %lev) {
foreach my $t (@{ $lev{$lev} }) {
my @key = ('requires');
push(@key,'recommends')
if ( ($t eq 'build' && $$self{'build_rec'}) ||
($t eq 'test' && $$self{'test_rec'}) ||
($t eq 'runtime' && $$self{'runtime_rec'}) );
foreach my $key (@key) {
if ($OUTPUT->{'prereqs'}->{$lev} &&
$OUTPUT->{'prereqs'}->{$lev}->{$key}) {
foreach my $f (keys %{ $OUTPUT->{'prereqs'}->{$lev}->{$key} }) {
my $v = $OUTPUT->{'prereqs'}->{$lev}->{$key}->{$f};
$requires{$t}{$f} = $v;
}
}
}
}
}
} else {
# Requires
my %lev = ( 'configure_requires' => [ 'build' ],
'build_rquires' => [ 'build' ],
'requires' => [ 'build', 'runtime' ],
);
foreach my $lev (keys %lev) {
if ($OUTPUT->{$lev}) {
foreach my $f (keys %{ $OUTPUT->{$lev} }) {
my $v = $OUTPUT->{$lev}->{$f};
foreach my $t (@{ $lev{$lev} }) {
$requires{$t}{$f} = $v;
}
}
}
}
# Recommends
%lev = ( 'recommends' => [ 'build', 'runtime' ],
( run in 0.934 second using v1.01-cache-2.11-cpan-d7a12ab2c7f )