Changeset 5582
- Timestamp:
- 06/25/09 12:23:29 (3 years ago)
- Location:
- trunk/Perl-Dist-XL
- Files:
-
- 2 edited
-
lib/Perl/Dist/XL.pm (modified) (8 diffs)
-
script/perldist_xl.pl (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Perl-Dist-XL/lib/Perl/Dist/XL.pm
r5581 r5582 12 12 my ($class, %args) = @_; 13 13 my $self = bless \%args, $class; 14 $self->{temp} ||= tempdir( CLEANUP => 0 ); 15 $self->{perl_install_dir} = "$self->{temp}/perl"; 16 $self->{cwd} = cwd; 14 15 $self->{cwd} = cwd; 16 17 if ($self->{temp}) { 18 die "$self->{temp} does not exist\n" if not -d $self->{temp}; 19 } else { 20 $self->{temp} = tempdir( CLEANUP => 1 ); 21 } 22 $self->{perl_install_dir} = $self->temp_dir . '/' . $self->release_name; 17 23 return $self; 18 24 } … … 23 29 } 24 30 25 sub install_modules {26 my ($self) = @_;27 28 my @modules = (29 ['Test::Simple' => '0.88'],30 ['Sub::Uplevel' => '0.2002'],31 ['Array::Compare' => '1.17'],32 ['Tree::DAG_Node' => '1.06'],33 ['Test::Exception' => '0.27'],34 ['Test::Warn' => '0.11'],35 ['Test::Tester' => '0'],36 ['Test::NoWarnings' => '0'],37 ['Test::Deep' => '0'],38 ['IO::Scalar' => '0'],39 );40 foreach my $m (@modules) {41 _system("$self->{perl_install_dir}/bin/perl $self->{perl_install_dir}/bin/mycpan.pl $m->[0]");42 }43 }44 31 45 32 sub build { 46 33 my ($self) = @_; 47 $self->get_perl;48 $self->build_perl;49 34 35 $self->get_perl unless $self->skip_perl; 36 $self->build_perl unless $self->skip_perl; 50 37 51 38 $self->configure_cpan; … … 53 40 $self->remove_cpan_dir; 54 41 55 # $self->test_perl;56 $self-> move_to_other_path;57 # $self->test_perl;42 # TODO: run some tests 43 $self->create_zip; 44 # TODO: unzip and in some other place and run some more tests 58 45 59 $self->create_zip;60 46 return; 61 47 } 62 48 63 sub configure_cpan {64 my ($self) = @_;65 my $from = "$self->{cwd}/share/files/mycpan.pl"; # TODO not from cwd ?66 my $to = $self->temp_dir . '/perl/bin/';67 debug("copy '$from', '$to'");68 copy $from, $to;69 return;70 }71 72 sub remove_cpan_dir {73 my ($self) = @_;74 _system("rm -rf " . $self->temp_dir . '/perl/.cpan');75 return;76 }77 49 78 50 sub get_perl { … … 100 72 sub build_perl { 101 73 my ($self) = @_; 74 102 75 my $dir = $self->cache; 103 76 my $temp = $self->temp_dir; … … 108 81 _system("make test"); 109 82 _system("make install"); 83 84 return; 85 } 86 87 sub configure_cpan { 88 my ($self) = @_; 89 my $from = "$self->{cwd}/share/files/mycpan.pl"; # TODO not from cwd ? 90 my $to = $self->{perl_install_dir} . '/bin/'; 91 debug("copy '$from', '$to'"); 92 copy $from, $to; 93 return; 94 } 95 96 sub install_modules { 97 my ($self) = @_; 98 99 my @modules = ( 100 ['Test::Simple' => '0.88'], 101 ['Sub::Uplevel' => '0.2002'], 102 ['Array::Compare' => '1.17'], 103 ['Tree::DAG_Node' => '1.06'], 104 ['Test::Exception' => '0.27'], 105 ['Test::Warn' => '0.11'], 106 ['Test::Tester' => '0'], 107 ['Test::NoWarnings' => '0'], 108 ['Test::Deep' => '0'], 109 ['IO::Scalar' => '0'], 110 ); 111 foreach my $m (@modules) { 112 _system("$self->{perl_install_dir}/bin/perl $self->{perl_install_dir}/bin/mycpan.pl $m->[0]"); 113 } 114 } 115 116 sub remove_cpan_dir { 117 my ($self) = @_; 118 _system("rm -rf " . $self->{perl_install_dir} . '/.cpan'); 119 return; 110 120 } 111 121 … … 115 125 chdir $self->temp_dir; 116 126 my $file = "$self->{cwd}/" . $self->release_name . '.tar.gz'; 117 _system("tar czf $file " . $self-> release_name);127 _system("tar czf $file " . $self->{perl_install_dir}); 118 128 return; 119 129 } 130 131 132 #### helper subs 120 133 121 134 sub temp_dir { … … 131 144 } 132 145 133 sub move_to_other_path {134 my ($self) = @_;135 136 chdir $self->temp_dir;137 my $release_dir = $self->release_name;138 # debug(cwd);139 debug("move perl to $release_dir");140 rename 'perl', $release_dir or die $!;141 return;142 }143 146 144 147 sub release_name { … … 153 156 } 154 157 158 sub skip_perl { 159 return $_[0]->{skipperl}; 160 } 155 161 156 162 sub debug { -
trunk/Perl-Dist-XL/script/perldist_xl.pl
r5581 r5582 16 16 "temp=s", 17 17 "release=s", 18 ) or die; 19 die "need --release VERSION\n" if not $conf{release}; 18 "skipperl", 19 ) or usage(); 20 usage("need --release VERSION") if not $conf{release}; 20 21 21 22 my $p = Perl::Dist::XL->new(%conf); 22 23 $p->build; 23 24 25 sub usage { 26 my $str = shift; 27 if ($str) { 28 print "\n$str\n\n"; 29 } 30 print <<"END_USAGE"; 31 Usage: $0 --release VERSION ( e.g. 0.01 ) 24 32 33 --temp PATH/TO/TEMP/DIR 34 --skipperl to skip getting and building perl 35 36 END_USAGE 37 exit; 38 } 39
Note: See TracChangeset
for help on using the changeset viewer.
