OSDN Git Service

stop using trunk directory in rectool
[rec10/rec10-git.git] / rectool / 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         [ 'Algorithm::Diff'      , 'yes', 'yes' ], 
27 #       [ 'CGI::Carp'            , 'no' , 'no'  ], # in perl-CGI
28         [ 'CGI'                  , 'yes', 'yes' ], 
29         [ 'Config::Simple'       , 'yes', 'yes' ], 
30         [ 'Data::Dumper::Concise', 'yes', 'yes' ], 
31         [ 'Date::Simple'         , 'yes', 'yes' ], 
32         [ 'DateTime'             , 'yes', 'yes' ], 
33         [ 'DBI'                  , 'yes', 'yes' ], 
34 #       [ 'MIME::Base64'         , 'no' , 'yes' ], # in standard module
35         [ 'File::Slurp'          , 'yes', 'yes' ], 
36         [ 'Sort::Naturally'      , 'yes', 'yes' ], 
37         [ 'Time::Piece'          , 'yes', 'yes' ], 
38 #       [ 'Time::Seconds'        , 'no' , 'no'  ], # in perl-Time-Piece
39 #       [ 'Time::HiRes'          , 'no' , 'yes' ], # in standard module 
40         [ 'Tie::IxHash'          , 'yes', 'yes' ], 
41 #       [ 'required'             , 'by' , 'cgi' ], 
42         [ 'Text::Ngram'          , 'no' , 'no'  ], 
43         [ 'List::Compare'        , 'yes', 'yes' ], 
44 #       [ 'List::Util'           , 'no' , 'no'  ], # in standard module
45         [ 'XML::Atom'            , 'yes', 'yes' ], 
46 );
47
48 if ( $redhat ) {
49         foreach ( @packages ) {
50                 if ( $_->[1] eq 'yes' ) {
51                         my $YUM = $_->[0];
52                         $YUM =~ s/\A/perl-/;
53                         $YUM =~ s/::/-/;
54                         push @YUM, $YUM;
55                 }
56                 elsif ( $_->[1] eq 'no' ) {
57                         push @CPAN, $_->[0];
58                 }
59         }
60         my $YUM  = join ' ', @YUM;
61         my $CPAN = join ' ', @CPAN;
62
63         print "Going to install ( YUM )\n";
64         print "$YUM\n";
65         system( "yum install $YUM" );
66         print "Going to install ( CPAN )\n";
67         print "$CPAN\n";
68         system( "cpan $CPAN" );
69 }
70 elsif ( $debian ) {
71         foreach ( @packages ) {
72                 if ( $_->[2] eq 'yes' ) {
73                         my $APT = $_->[0];
74                         $APT = lc $APT;
75                         $APT =~ s/\A/lib/;
76                         $APT =~ s/\Z/-perl/;
77                         $APT =~ s/::/-/;
78                         push @APT, $APT;
79                 }
80                 elsif ( $_->[2] eq 'no' ) {
81                         push @CPAN, $_->[0];
82                 }
83         }
84         my $APT  = join ' ', @APT;
85         my $CPAN = join ' ', @CPAN;
86
87         print "Going to install ( APT )\n";
88         print "$APT\n";
89         system( "aptitude install $APT" );
90         print "Going to install ( CPAN )\n";
91         print "$CPAN\n";
92         system( "cpan $CPAN" );
93 }
94 else {
95         my $CPAN = join ' ', map { $_->[0] } @packages;
96
97         print "Going to install ( CPAN )\n";
98         print "$CPAN\n";
99         system( "cpan $CPAN" );
100 }
101