diff options
author | Edmund von der Burg <evdb@mysociety.org> | 2011-03-12 17:20:34 +0000 |
---|---|---|
committer | Edmund von der Burg <evdb@mysociety.org> | 2011-03-12 17:20:34 +0000 |
commit | 2575dc899273b0ae950fc49e71ed1d43037a18bb (patch) | |
tree | 18e160c7eab5461f0eebf9dff9cfa89c152246c6 /perl-external/bin/add_module.pl | |
parent | 953acbb0d034be11dc165e627f9400fdd40898f8 (diff) |
set up management correctly
Diffstat (limited to 'perl-external/bin/add_module.pl')
-rw-r--r-- | perl-external/bin/add_module.pl | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/perl-external/bin/add_module.pl b/perl-external/bin/add_module.pl deleted file mode 100644 index 6c9be8df2..000000000 --- a/perl-external/bin/add_module.pl +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/bin/env perl - -use strict; -use warnings; - -use IPC::Run3; -use LWP::Simple; -use File::Slurp; -use Path::Class; - -my $root_dir = file(__FILE__)->dir->parent->absolute->stringify; -my $module_list = "$root_dir/modules.txt"; -my $url_list = "$root_dir/urls.txt"; -my $minicpan = "$root_dir/minicpan"; -my $local_lib = "$root_dir/../local-lib5"; -my $cpanm_cmd = "perl $root_dir/bin/cpanm -l $local_lib --reinstall"; - -my $module = $ARGV[0] || die "Usage: $0 Dist::To::Add"; - -# try to install the distribution using cpanm -my $out = ''; -my $cmd = "$cpanm_cmd $module"; -print " running '$cmd'\n"; -run3( $cmd, undef, \$out, \$out ) - || die "Error running '$cmd'"; - -my @fetched_urls = - map { s{.*(http://\S+).*}{$1}; $_ } - grep { m{^Fetching http://search.cpan.org} } - split /\n/, $out; - -write_file( $module_list, { append => 1 }, "$module\n" ); -write_file( $url_list, { append => 1 }, map { "$_\n" } @fetched_urls ); - -foreach my $url ( read_file($url_list) ) { - - my ($filename) = $url =~ m{/(authors/.+)$}; - - my $destination = file("$minicpan/$filename"); - $destination->dir->mkpath; - - next if -e $destination; - - print " $url\n -> $destination\n"; - - is_success( getstore( $url, "$destination" ) ) - || die "Error saving $url to $destination"; -} - -# go to the minicpan dir and run dpan there -chdir $minicpan; -exec 'dpan -f ../dpan_config'; |