OSDN Git Service

code refactoring
[rec10/rec10-git.git] / rectool / trunk / Makefile.PL
1 #!/usr/bin/perl
2 # Synced to rectool.pl revision 804
3
4 print "UID:$<\n";
5 if ( $< ) {
6         print "Please run this script with root.\n";
7         exit;
8 }
9
10 $distribution = `ls /etc -F | grep \"release\$\\|version\$\"`;
11
12 if ( $distribution =~ /redhat|fedora/m ) {
13         print "Your distribution seems to be RedHat/Fedora.\n";
14         $redhat = 1;
15 }
16 elsif ( $distribution =~ /debian/m ) {
17         print "Your distribution seems to be Debian.\n";
18         $debian = 1;
19 }
20 else {
21         print "Your distribution is unknown, doint CPAN installation.\n";
22 }
23
24 my @packages = (
25 #       [ 'CPAN'           , 'YUM', 'APT' ], 
26         [ 'CGI::Carp'      , 'no' , 'no'  ], 
27         [ 'CGI::Minimal'   , 'no' , 'no'  ], 
28         [ 'Config::Simple' , 'yes', 'yes' ], 
29         [ 'Data::Dumper'   , 'no' , 'no'  ], 
30         [ 'Date::Simple'   , 'yes', 'yes' ], 
31         [ 'DateTime'       , 'yes', 'yes' ], 
32         [ 'DBI'            , 'yes', 'yes' ], 
33         [ 'MIME::Base64'   , 'no' , 'yes' ], 
34         [ 'Perl6::Slurp'   , 'no' , 'yes' ], 
35         [ 'Sort::Naturally', 'yes', 'yes' ], 
36         [ 'Time::Piece'    , 'yes', 'yes' ], 
37         [ 'Time::Seconds'  , 'no' , 'no'  ], 
38         [ 'Time::HiRes'    , 'no' , 'yes' ], 
39         [ 'Tie::IxHash'    , 'yes', 'yes' ], 
40 #       [ 'required'       , 'by' , 'cgi' ], 
41         [ 'Encode'         , 'no' , 'no'  ], 
42         [ 'Text::Ngram'    , 'no' , 'no'  ], 
43         [ 'Time::Simple'   , 'no' , 'no'  ], 
44         [ 'List::Compare'  , 'yes', 'yes' ], 
45         [ 'List::Util'     , 'no' , 'no'  ], 
46         [ 'XML::Atom'      , 'yes', 'yes' ], 
47 );
48
49 if ( $redhat ) {
50         foreach ( @packages ) {
51                 if ( $_->[1] eq 'yes' ) {
52                         my $YUM = $_->[0];
53                         $YUM =~ s/\A/perl-/;
54                         $YUM =~ s/::/-/;
55                         push @YUM, $YUM;
56                 }
57                 elsif ( $_->[1] eq 'no' ) {
58                         push @CPAN, $_->[0];
59                 }
60         }
61         my $YUM  = join ' ', @YUM;
62         my $CPAN = join ' ', @CPAN;
63
64         print "Going to install ( YUM )\n";
65         print "$YUM\n";
66         system( "yum install $YUM" );
67         print "Going to install ( CPAN )\n";
68         print "$CPAN\n";
69         system( "cpan $CPAN" );
70 }
71 elsif ( $debian ) {
72         foreach ( @packages ) {
73                 if ( $_->[2] eq 'yes' ) {
74                         my $APT = $_->[0];
75                         $APT = lc $APT;
76                         $APT =~ s/\A/lib/;
77                         $APT =~ s/\Z/-perl/;
78                         $APT =~ s/::/-/;
79                         push @APT, $APT;
80                 }
81                 elsif ( $_->[2] eq 'no' ) {
82                         push @CPAN, $_->[0];
83                 }
84         }
85         my $APT  = join ' ', @APT;
86         my $CPAN = join ' ', @CPAN;
87
88         print "Going to install ( APT )\n";
89         print "$APT\n";
90         system( "aptitude install $APT" );
91         print "Going to install ( CPAN )\n";
92         print "$CPAN\n";
93         system( "cpan $CPAN" );
94 }
95 else {
96         my $CPAN = join ' ', map { $_->[0] } @packages;
97
98         print "Going to install ( CPAN )\n";
99         print "$CPAN\n";
100         system( "cpan $CPAN" );
101 }
102