2 # Synced to rectool.pl revision 804
6 print "Please run this script with root.\n";
10 $distribution = `ls /etc -F | grep \"release\$\\|version\$\"`;
12 if ( $distribution =~ /redhat|fedora/m ) {
13 print "Your distribution seems to be RedHat/Fedora.\n";
16 elsif ( $distribution =~ /debian/m ) {
17 print "Your distribution seems to be Debian.\n";
21 print "Your distribution is unknown, doint CPAN installation.\n";
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' ],
49 foreach ( @packages ) {
50 if ( $_->[1] eq 'yes' ) {
56 elsif ( $_->[1] eq 'no' ) {
60 my $YUM = join ' ', @YUM;
61 my $CPAN = join ' ', @CPAN;
63 print "Going to install ( YUM )\n";
65 system( "yum install $YUM" );
66 print "Going to install ( CPAN )\n";
68 system( "cpan $CPAN" );
71 foreach ( @packages ) {
72 if ( $_->[2] eq 'yes' ) {
80 elsif ( $_->[2] eq 'no' ) {
84 my $APT = join ' ', @APT;
85 my $CPAN = join ' ', @CPAN;
87 print "Going to install ( APT )\n";
89 system( "aptitude install $APT" );
90 print "Going to install ( CPAN )\n";
92 system( "cpan $CPAN" );
95 my $CPAN = join ' ', map { $_->[0] } @packages;
97 print "Going to install ( CPAN )\n";
99 system( "cpan $CPAN" );