diff options
author | Francois Perrad <fperrad@gmail.com> | 2014-10-01 20:36:59 +0200 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2014-10-04 14:42:44 +0200 |
commit | 1fd8d9e4dd04c63c17f13352e1c0f01e2bea7312 (patch) | |
tree | ecf1ccdb3e8b7390d7bb786edc644f2c639c5c2e | |
parent | 40aa523af26963321443a2d96c64ce128577ca77 (diff) | |
download | buildroot-1fd8d9e4dd04c63c17f13352e1c0f01e2bea7312.tar.gz buildroot-1fd8d9e4dd04c63c17f13352e1c0f01e2bea7312.zip |
support/script/scancpan: add -test option
Perl modules can have three different types of dependencies:
- configure/build time dependency which becomes host dependency
- runtime dependency which becomes target dependency
- test time dependency which is useless in a cross-compiling context like BR
Before this patch, test time dependencies are handled like runtime
dependencies.
After this patch, test time dependencies are ignored by default. The
newly added -test option allows to add them anyway if needed.
[Thomas: reword commit log using Francois proposal.]
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-rwxr-xr-x | support/scripts/scancpan | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/support/scripts/scancpan b/support/scripts/scancpan index f5612e3fee..a049e2c7d7 100755 --- a/support/scripts/scancpan +++ b/support/scripts/scancpan @@ -483,7 +483,7 @@ use Module::CoreList; use HTTP::Tiny; use MetaCPAN::API::Tiny; -my ($help, $man, $quiet, $force, $recommend, $host); +my ($help, $man, $quiet, $force, $recommend, $test, $host); my $target = 1; GetOptions( 'help|?' => \$help, 'man' => \$man, @@ -491,7 +491,8 @@ GetOptions( 'help|?' => \$help, 'force|f' => \$force, 'host!' => \$host, 'target!' => \$target, - 'recommend' => \$recommend + 'recommend' => \$recommend, + 'test' => \$test ) or pod2usage(-exitval => 1); pod2usage(-exitval => 0) if $help; pod2usage(-exitval => 0, -verbose => 2) if $man; @@ -554,11 +555,12 @@ sub fetch { next if $modname eq q{perl}; next if $modname =~ m|^Alien|; next if $modname =~ m|^Win32|; + next if !$test && $modname =~ m|^Test|; next if Module::CoreList::first_release( $modname ); # we could use the host Module::CoreList data, because host perl and # target perl have the same major version next if ${$dep}{phase} eq q{develop}; - next if ${$dep}{phase} eq q{test}; + next if !$test && ${$dep}{phase} eq q{test}; next if !$recommend && ${$dep}{relationship} ne q{requires}; my $distname = $mcpan->module( $modname )->{distribution}; if (${$dep}{phase} eq q{runtime}) { @@ -716,6 +718,7 @@ supports/scripts/scancpan [options] [distname ...] -target/-notarget -host/-nohost -recommend + -test =head1 OPTIONS @@ -749,6 +752,10 @@ Switches package generation for the host variant (the default is C<-nohost>). Adds I<recommended> dependencies. +=item B<-test> + +Adds dependencies for test. + =back =head1 DESCRIPTION |