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 [ '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' ],
50 foreach ( @packages ) {
51 if ( $_->[1] eq 'yes' ) {
57 elsif ( $_->[1] eq 'no' ) {
61 my $YUM = join ' ', @YUM;
62 my $CPAN = join ' ', @CPAN;
64 print "Going to install ( YUM )\n";
66 system( "yum install $YUM" );
67 print "Going to install ( CPAN )\n";
69 system( "cpan $CPAN" );
72 foreach ( @packages ) {
73 if ( $_->[2] eq 'yes' ) {
81 elsif ( $_->[2] eq 'no' ) {
85 my $APT = join ' ', @APT;
86 my $CPAN = join ' ', @CPAN;
88 print "Going to install ( APT )\n";
90 system( "aptitude install $APT" );
91 print "Going to install ( CPAN )\n";
93 system( "cpan $CPAN" );
96 my $CPAN = join ' ', map { $_->[0] } @packages;
98 print "Going to install ( CPAN )\n";
100 system( "cpan $CPAN" );