]> git.pld-linux.org Git - packages/pldcpan.git/commitdiff
- do not insert into BRs modules from perl core
authormigo <migo@pld-linux.org>
Fri, 11 Nov 2005 19:21:08 +0000 (19:21 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    pldcpan.pl -> 1.24

pldcpan.pl

index 005500412fa7feaac310454415329e14cd766130..0c0556614c97a7e5261ee2363a7394fb5bbcb47f 100644 (file)
@@ -1,17 +1,18 @@
 #!/usr/bin/perl -w
 use strict;
 use vars qw(%opts);
-use Cwd qw(getcwd);
-use Getopt::Long qw(GetOptions);
-use IPC::Run qw(run timeout);
-use Pod::Select qw(podselect);
-use Pod::Tree      ();
-use Archive::Any   ();
-use Template       ();
-use YAML           ();
-use Digest::MD5    ();
-use IO::String     ();
-use File::Iterator ();
+use Cwd              qw(getcwd);
+use Getopt::Long     qw(GetOptions);
+use IPC::Run         qw(run timeout);
+use Pod::Select      qw(podselect);
+use Pod::Tree        qw();
+use Archive::Any     qw();
+use Template         qw();
+use YAML             qw();
+use Digest::MD5      qw();
+use IO::String       qw();
+use File::Iterator   qw();
+use Module::CoreList qw();
 
 #use IO::All;
 
@@ -151,9 +152,36 @@ sub load_META_yml {
        if (-f 'META.yml') {
                $info->{META_yml} = YAML::LoadFile('META.yml');
        }
+
+       _remove_core_meta_requires($info, 'requires');
+       _remove_core_meta_requires($info, 'build_requires');
+       
        $info->{_tests}->{license} = $info->{META_yml} ? 1 : 0;
 }
 
+sub _remove_core_meta_requires {
+       my ($info, $key) = @_;
+
+       return if ref($info->{META_yml}->{$key}) ne 'HASH';
+
+       while (my ($module, $version) = each %{ $info->{META_yml}->{$key} }) {
+               my $result;
+               print "Checking dependency: $module $version\n" if $opts{verbose};
+               if ($version) {
+                       $result = Module::CoreList->first_release($module, $version);
+               } else {
+                       $result = Module::CoreList->first_release($module);
+               }
+               # $] - perl version
+               if ( $result and $result < $] ) {
+                       if ($opts{verbose}) {
+                               print "Module $module availablie in core since $result, skipping\n"
+                       }
+                       delete $info->{META_yml}->{$key}->{$module};
+               }
+       }
+}
+
 sub test_find_pod_file {
        my $info = shift;
        return $info->{_tests}->{find_pod_file}
This page took 0.070978 seconds and 4 git commands to generate.