OSDN Git Service

code refactoring
authorlonginus <longinus@4e526526-5e11-4fc0-8910-f8fd03428081>
Sat, 22 Jan 2011 15:50:39 +0000 (15:50 +0000)
committerlonginus <longinus@4e526526-5e11-4fc0-8910-f8fd03428081>
Sat, 22 Jan 2011 15:50:39 +0000 (15:50 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/rec10@805 4e526526-5e11-4fc0-8910-f8fd03428081

rectool/trunk/Makefile.PL

index 57398cc..7b3345a 100755 (executable)
@@ -1,4 +1,5 @@
 #!/usr/bin/perl
+# Synced to rectool.pl revision 804
 
 print "UID:$<\n";
 if ( $< ) {
@@ -16,10 +17,50 @@ elsif ( $distribution =~ /debian/m ) {
        print "Your distribution seems to be Debian.\n";
        $debian = 1;
 }
+else {
+       print "Your distribution is unknown, doint CPAN installation.\n";
+}
+
+my @packages = (
+#      [ 'CPAN'           , 'YUM', 'APT' ], 
+       [ 'CGI::Carp'      , 'no' , 'no'  ], 
+       [ 'CGI::Minimal'   , 'no' , 'no'  ], 
+       [ 'Config::Simple' , 'yes', 'yes' ], 
+       [ 'Data::Dumper'   , 'no' , 'no'  ], 
+       [ 'Date::Simple'   , 'yes', 'yes' ], 
+       [ 'DateTime'       , 'yes', 'yes' ], 
+       [ 'DBI'            , 'yes', 'yes' ], 
+       [ 'MIME::Base64'   , 'no' , 'yes' ], 
+       [ 'Perl6::Slurp'   , 'no' , 'yes' ], 
+       [ 'Sort::Naturally', 'yes', 'yes' ], 
+       [ 'Time::Piece'    , 'yes', 'yes' ], 
+       [ 'Time::Seconds'  , 'no' , 'no'  ], 
+       [ 'Time::HiRes'    , 'no' , 'yes' ], 
+       [ 'Tie::IxHash'    , 'yes', 'yes' ], 
+#      [ 'required'       , 'by' , 'cgi' ], 
+       [ 'Encode'         , 'no' , 'no'  ], 
+       [ 'Text::Ngram'    , 'no' , 'no'  ], 
+       [ 'Time::Simple'   , 'no' , 'no'  ], 
+       [ 'List::Compare'  , 'yes', 'yes' ], 
+       [ 'List::Util'     , 'no' , 'no'  ], 
+       [ 'XML::Atom'      , 'yes', 'yes' ], 
+);
 
 if ( $redhat ) {
-       my $YUM  = 'perl-DBI perl-Date-Simple perl-DateTime perl-Config-Simple perl-Tie-IxHash perl-SVG perl-XML-Atom perl-List-Compare perl-Time-Piece perl-Sort-Naturally';
-       my $CPAN = 'CGI::Carp CGI::Minimal MIME::Base64 Time::HiRes Data::Dumper Time::Simple Encode Text::Ngram Perl6::Slurp List::Util Time::Seconds';
+       foreach ( @packages ) {
+               if ( $_->[1] eq 'yes' ) {
+                       my $YUM = $_->[0];
+                       $YUM =~ s/\A/perl-/;
+                       $YUM =~ s/::/-/;
+                       push @YUM, $YUM;
+               }
+               elsif ( $_->[1] eq 'no' ) {
+                       push @CPAN, $_->[0];
+               }
+       }
+       my $YUM  = join ' ', @YUM;
+       my $CPAN = join ' ', @CPAN;
+
        print "Going to install ( YUM )\n";
        print "$YUM\n";
        system( "yum install $YUM" );
@@ -27,10 +68,23 @@ if ( $redhat ) {
        print "$CPAN\n";
        system( "cpan $CPAN" );
 }
+elsif ( $debian ) {
+       foreach ( @packages ) {
+               if ( $_->[2] eq 'yes' ) {
+                       my $APT = $_->[0];
+                       $APT = lc $APT;
+                       $APT =~ s/\A/lib/;
+                       $APT =~ s/\Z/-perl/;
+                       $APT =~ s/::/-/;
+                       push @APT, $APT;
+               }
+               elsif ( $_->[2] eq 'no' ) {
+                       push @CPAN, $_->[0];
+               }
+       }
+       my $APT  = join ' ', @APT;
+       my $CPAN = join ' ', @CPAN;
 
-if ( $debian ) {
-       my $APT  = 'libdbi-perl libdate-simple-perl libdatetime-perl libmime-base64-perl libconfig-simple-perl libtime-hires-perl libtie-ixhash-perl libsvg-perl libxml-atom-perl liblist-compare-perl libperl6-slurp-perl libtime-piece-perl libsort-naturally-perl';
-       my $CPAN = 'CGI::Carp CGI::Minimal Data::Dumper Time::Simple Encode Text::Ngram List::Util Time::Seconds';
        print "Going to install ( APT )\n";
        print "$APT\n";
        system( "aptitude install $APT" );
@@ -38,4 +92,11 @@ if ( $debian ) {
        print "$CPAN\n";
        system( "cpan $CPAN" );
 }
+else {
+       my $CPAN = join ' ', map { $_->[0] } @packages;
+
+       print "Going to install ( CPAN )\n";
+       print "$CPAN\n";
+       system( "cpan $CPAN" );
+}