Diff for /doc/loncapafiles/chkconfig.piml between versions 1.5 and 1.23

version 1.5, 2007/04/22 16:33:28 version 1.23, 2012/07/30 01:37:22
Line 1 Line 1
 <!DOCTYPE piml PUBLIC "-//TUX/DTD piml 1.0 Final//EN"   <!DOCTYPE piml PUBLIC "-//TUX/DTD piml 1.0 Final//EN" 
  "http://lpml.sourceforge.net/DTD/piml.dtd">   "http://lpml.sourceforge.net/DTD/piml.dtd">
 <!-- phpcheck.piml -->  <!-- checkconfig.piml -->
 <!-- Matthew Hall -->  <!-- Matthew Hall -->
   
 <!-- $Id$ -->  <!-- $Id$ -->
Line 33  http://www.lon-capa.org/ Line 33  http://www.lon-capa.org/
 <targetroot>/</targetroot>  <targetroot>/</targetroot>
 <files>  <files>
 <file>  <file>
 <target dist="default">/home/httpd/lonUsers</target>  <target dist="default"></target>
 <perlscript mode="fg">  <perlscript mode="fg">
 my $chkconfig_bin = '/sbin/chkconfig';  my $checker_bin = '/sbin/chkconfig';
 exit if (! -x $chkconfig_bin);  my $systemctl_bin = '/bin/systemctl';
   my $webserver ='httpd';
 my $webserver = 'httpd';  
 my @runlevels = qw/3 4 5/;  my @runlevels = qw/3 4 5/;
   my @norunlevels = qw/0 1 6/;
   my $use_systemctl;
   
 if ('<DIST />' eq 'suse9.3' || '<DIST />' eq 'suse9.2' || '<DIST />' eq 'sles9') {  if ('<DIST />' eq 'suse9.3' || '<DIST />' eq 'suse9.2' || '<DIST />' eq 'sles9') {
     $webserver = 'apache';      $webserver = 'apache';
     @runlevels = qw/3 5/;      @runlevels = qw/3 5/;
 } elsif ('<DIST />' eq 'sles10' || '<DIST />' eq 'suse10.1' || '<DIST />' eq 'suse10.2') {  } elsif ('<DIST />' eq 'sles10' || '<DIST />' eq 'sles11' || '<DIST />' eq 'suse10.1' || '<DIST />' eq 'suse10.2' || '<DIST />' eq 'suse10.3' || '<DIST />' eq 'suse11.1' || '<DIST />' eq 'suse11.2' || '<DIST />' eq 'suse11.3' || '<DIST />' eq 'suse11.4' || '<DIST />' eq 'suse12.1') {
       $webserver = 'apache2';
       @runlevels = qw/3 5/;
   } elsif ('<DIST />' eq 'debian5' || '<DIST />' eq 'debian6' || '<DIST />' eq 'ubuntu6' ||  '<DIST />' eq 'ubuntu8' || '<DIST />' eq 'ubuntu10' || '<DIST />' eq 'ubuntu12') {
       @runlevels = qw/2 3 4 5/;
       @norunlevels = qw/0 1 6/;
       $checker_bin = '/usr/sbin/sysv-rc-conf';
     $webserver = 'apache2';      $webserver = 'apache2';
 }  }
 my $command = $chkconfig_bin.' --list '.$webserver;  if (('<DIST />' eq 'fedora16') || ('<DIST />' eq 'fedora17') || ('<DIST />' eq 'suse12.1')) {
 my $results = `$command`;      $use_systemctl = 1;
 if ($results eq '') {  
     print "**** WARNING: $webserver is not set to run on boot.$/".  
         "    Execute the following commands to fix this:".$/.  
         "        $chkconfig_bin --add $webserver".$/.  
         "        $chkconfig_bin $webserver on".$/;  
 } else {  
     my %httpd_runlevels;  
     for (my $rl = 0;$rl &lt;=6;$rl++) {  
         if ($results =~ /$rl:on/) { $httpd_runlevels{$rl}++; }  
     }  
     #  
     my $warning;  
     foreach my $rl (@runlevels) {  
         if (! exists($httpd_runlevels{$rl}) ) {  
             $warning .=   
                "**** WARNING: $webserver is not set to run at runlevel $rl".$/;  
         }  
     }  
     if ($warning) {  
         print $warning.  
             "    Execute the following command to fix this:".$/.  
             "        /sbin/chkconfig $webserver on ".$/;  
     }  
 }  }
   exit if (! -x $checker_bin);
   
 $command = $chkconfig_bin.' --list loncontrol';  my $rlstr = join('',@runlevels);
 $results = `$command`;  my $nrlstr = join('',@norunlevels);
 if ($results eq '') {  foreach my $service ($webserver,'loncontrol') {
     print "**** WARNING: loncontrol is not set to run on boot.$/".      if (($use_systemctl) && ($service eq 'httpd')) { 
         "    Execute the following commands to fix this:".$/.          my $command = "systemctl is-enabled httpd.service";
         "        $chkconfig_bin --add loncontrol".$/.          my $results = `$command`;
         "        $chkconfig_bin loncontrol on".$/;          chomp($results);
 } else {          if ($results ne 'enabled') {
     my %loncontrol_runlevels;              print "**** WARNING: $service is not set to run on boot.".$/.
     for (my $rl = 0;$rl&lt;=6;$rl++) {                    "    Execute the following commands to fix this:".$/.
         if ($results =~ /$rl:on/) { $loncontrol_runlevels{$rl}++; }                    "    systemctl enable httpd.service".$/;
     }          }
     #      } else {
     $warning = '';          my $command = $checker_bin.' --list '.$service;
     foreach my $rl (@runlevels) {          my $results = `$command`;
         if (! exists($loncontrol_runlevels{$rl})) {          if ($results eq '') {
             $warning .=               print "**** WARNING: $service is not set to run on boot.$/".
                 "**** WARNING: loncontrol is not set to run at runlevel $rl\n";              "    Execute the following commands to fix this:".$/;
               if ('<DIST />' eq 'debian5' || '<DIST />' eq 'debian6' || '<DIST />' eq 'ubuntu6' ||  '<DIST />' eq 'ubuntu8' || '<DIST />' eq 'ubuntu10' || '<DIST />' eq 'ubuntu12') {
                   print "        $checker_bin --level $nrlstr $service off".$/;
               } else {
                   print "        $checker_bin --add $webserver".$/;
               }
               print "        $checker_bin --level $rlstr $service on".$/;
           } else {
               my %curr_runlevels;
               for (my $rl = 0;$rl &lt;=6;$rl++) {
                   if ($results =~ /$rl:on/) { $curr_runlevels{$rl}++; }
               }
               #
               my $warning;
               foreach my $rl (@runlevels) {
                   if (! exists($curr_runlevels{$rl}) ) {
                       $warning .=
                          "**** WARNING: $service is not set to run at runlevel $rl".$/;
                   }
               }
               if ($warning) {
                   print $warning.
                         "    Execute the following command to fix this:".$/.
                         "        $checker_bin --level $rlstr $service on".$/;
               }
         }          }
     }  
     if ($warning) {  
         print $warning.  
             "    Execute the following command to fix this:".$/.  
             "        /sbin/chkconfig loncontrol on ".$/;  
     }      }
 }  }
   

Removed from v.1.5  
changed lines
  Added in v.1.23


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>