version 1.11, 2011/05/05 16:38:07
|
version 1.12, 2011/05/08 13:20:03
|
Line 219 sub get_distro {
|
Line 219 sub get_distro {
|
} |
} |
} elsif ($versionstring =~ /^SuSE Linux ([\d\.]+) /i) { |
} elsif ($versionstring =~ /^SuSE Linux ([\d\.]+) /i) { |
$distro = 'suse'.$1; |
$distro = 'suse'.$1; |
$updatecmd = 'yast -i LONCAPA-preprequisites'; |
$updatecmd = 'yast -i LONCAPA-prerequisites'; |
} elsif ($versionstring =~ /^openSUSE ([\d\.]+) /i) { |
} elsif ($versionstring =~ /^openSUSE ([\d\.]+) /i) { |
$distro = 'suse'.$1; |
$distro = 'suse'.$1; |
if ($1 >= 10.3 ) { |
if ($1 >= 10.3 ) { |
Line 425 sub check_mysql_running {
|
Line 425 sub check_mysql_running {
|
print_and_log(&mt('MySQL is running.')."\n"); |
print_and_log(&mt('MySQL is running.')."\n"); |
return 1; |
return 1; |
} else { |
} else { |
system("/etc/rc.d/init.d/$mysqldaemon start"); |
system("/etc/init.d/$mysqldaemon start >/dev/null 2>&1 "); |
print_and_log(&mt('Waiting for MySQL to start.')."\n"); |
print_and_log(&mt('Waiting for MySQL to start.')."\n"); |
sleep 5; |
sleep 5; |
if (open (PIPE, "/etc/init.d/$mysqldaemon 2>&1 |")) { |
if (open(PIPE,"ps -ef |grep $process |grep -v grep 2>&1 |")) { |
my $status = <PIPE>; |
$status = <PIPE>; |
close(PIPE); |
close(PIPE); |
chomp($status); |
chomp($status); |
if ($status =~ /\(pid\s+\d\)/) { |
if ($status =~ /^\Q$proc_owner\E\s+\d+\s+/) { |
print_and_log(&mt('MySQL is running.')."\n"); |
print_and_log(&mt('MySQL is running.')."\n"); |
return 1; |
return 1; |
} else { |
} else { |
print_and_log(&mt('Unable to start MySQL.')."\n"); |
print_and_log(&mt('Still waiting for MySQL to start.')."\n"); |
|
sleep 5; |
|
if (open(PIPE,"ps -ef |grep $process |grep -v grep 2>&1 |")) { |
|
$status = <PIPE>; |
|
close(PIPE); |
|
chomp($status); |
|
if ($status =~ /^\Q$proc_owner\E\s+\d+\s+/) { |
|
print_and_log(&mt('MySQL is running.')."\n"); |
|
return 1; |
|
} else { |
|
print_and_log(&mt('Given up waiting for MySQL to start.')."\n"); |
|
} |
|
} |
} |
} |
} else { |
|
print_and_log(&mt('Unable to start MySQL.')."\n"); |
|
} |
} |
} |
} |
} else { |
} else { |
Line 678 sub chksrvcs {
|
Line 688 sub chksrvcs {
|
chomp($daemonrunning); |
chomp($daemonrunning); |
close(PIPE); |
close(PIPE); |
if ($daemonrunning) { |
if ($daemonrunning) { |
if ($service eq 'memcached') { |
if ($service eq 'memcached') { |
unless ($daemonrunning =~ m{^www[^/]+\Q/usr/sbin/memcached -m 400 -v\E$}) { |
my $cmd = '/usr/sbin/memcached'; |
|
if ($distro =~ /^centos|fedora|scientific|rhes/) { |
|
$cmd = '/usr/bin/memcached'; |
|
} |
|
unless ($daemonrunning =~ m{^www[^/]+\Q$cmd -m 400 -v\E$}) { |
$stopsrvcs{$service} = 1; |
$stopsrvcs{$service} = 1; |
} |
} |
} else { |
} else { |
Line 823 sub check_mysql_setup {
|
Line 837 sub check_mysql_setup {
|
|
|
sub check_mysql_wwwuser { |
sub check_mysql_wwwuser { |
my $mysql_wwwuser; |
my $mysql_wwwuser; |
my $dbhn = DBI->connect("DBI:mysql:database=information_schema",'www','localhostkey'); |
my $dbhn = DBI->connect("DBI:mysql:database=information_schema",'www','localhostkey', |
|
{PrintError => +0}) || return; |
if ($dbhn) { |
if ($dbhn) { |
$mysql_wwwuser = 1; |
$mysql_wwwuser = 1; |
$dbhn->disconnect; |
$dbhn->disconnect; |
Line 1092 if ($localecmd ne '') {
|
Line 1107 if ($localecmd ne '') {
|
exit; |
exit; |
} |
} |
if (!$gotprereqs) { |
if (!$gotprereqs) { |
print "\n".&mt('The LONCAPA-prequisites package is not installed.')."\n". |
print "\n".&mt('The LONCAPA-prerequisites package is not installed.')."\n". |
&mt('The following command can be used to install the package (and dependencies):')."\n\n". |
&mt('The following command can be used to install the package (and dependencies):')."\n\n". |
$updatecmd."\n\n"; |
$updatecmd."\n\n"; |
if ($installnow eq '') { |
if ($installnow eq '') { |
Line 1106 if (!$gotprereqs) {
|
Line 1121 if (!$gotprereqs) {
|
close(PIPE); |
close(PIPE); |
$gotprereqs = &check_prerequisites($packagecmd,$distro); |
$gotprereqs = &check_prerequisites($packagecmd,$distro); |
if (!$gotprereqs) { |
if (!$gotprereqs) { |
print &mt('The LONCAPA-prequisites package is not installed.')."\n". |
print &mt('The LONCAPA-prerequisites package is not installed.')."\n". |
&mt('Stopping execution.')."\n"; |
&mt('Stopping execution.')."\n"; |
exit; |
exit; |
} else { |
} else { |
Line 1116 if (!$gotprereqs) {
|
Line 1131 if (!$gotprereqs) {
|
&check_required($instdir,$dsn); |
&check_required($instdir,$dsn); |
} |
} |
} else { |
} else { |
print &mt('Failed to run command to install LONCAPA-prequisites')."\n"; |
print &mt('Failed to run command to install LONCAPA-prerequisites')."\n"; |
exit; |
exit; |
} |
} |
} else { |
} else { |
Line 1461 ENDPATCH
|
Line 1476 ENDPATCH
|
## Compile patched pwauth |
## Compile patched pwauth |
## |
## |
print_and_log(&mt('Compiling pwauth')."\n"); |
print_and_log(&mt('Compiling pwauth')."\n"); |
my $result = `cd $dir/; make`; |
my $result = `cd $dir/; make 2>/dev/null `; |
my $expected = <<"END"; |
my $expected = <<"END"; |
gcc -g -c -o pwauth.o pwauth.c |
gcc -g -c -o pwauth.o pwauth.c |
gcc -o pwauth -g pwauth.o -lcrypt |
gcc -o pwauth -g pwauth.o -lcrypt |
Line 1510 sub kill_extra_services {
|
Line 1525 sub kill_extra_services {
|
if (($distro =~ /^ubuntu/) && ($version <= 8)) { |
if (($distro =~ /^ubuntu/) && ($version <= 8)) { |
$daemon = 'cupsys'; |
$daemon = 'cupsys'; |
} |
} |
} elsif ($distro =~ /^(?:suse|sles|scientific)/) { |
} else { |
$daemon = 'cups'; |
$daemon = 'cups'; |
} |
} |
} |
} |
&print_and_log(`/etc/init.d/$daemon stop`); |
my $cmd = "ps -ef |grep '$daemon' |grep -v grep"; |
|
if (open(PIPE,'-|',$cmd)) { |
|
my $daemonrunning = <PIPE>; |
|
chomp($daemonrunning); |
|
close(PIPE); |
|
if ($daemonrunning) { |
|
&print_and_log(`/etc/init.d/$daemon stop`); |
|
} |
|
} |
&print_and_log(&mt('Removing [_1] from startup.',$service)."\n"); |
&print_and_log(&mt('Removing [_1] from startup.',$service)."\n"); |
if ($distro =~ /^(debian|ubuntu)/) { |
if ($distro =~ /^(debian|ubuntu)/) { |
&print_and_log(`update-rc.d -f $daemon remove`); |
&print_and_log(`update-rc.d -f $daemon remove`); |
} else { |
} else { |
&print_and_log(`chkconfig --del $service`); |
&print_and_log(`/sbin/chkconfig --del $service`); |
} |
} |
} |
} |
} |
} |