Diff for /loncom/debugging_tools/modify_config_files.pl between versions 1.9 and 1.15

version 1.9, 2009/07/14 03:05:59 version 1.15, 2019/07/02 19:40:27
Line 37  B<modify_config_files.pl> Line 37  B<modify_config_files.pl>
 =head1 SYNOPSIS  =head1 SYNOPSIS
   
 This script modifies /etc/my.cnf and one of: /etc/yum.conf   This script modifies /etc/my.cnf and one of: /etc/yum.conf 
 (for Fedora/CentOS/Scientific Linux/RHEL5), /etc/apt/sources.list  (for CentOS/Scientific Linux/RHEL >=5), /etc/apt/sources.list
 (for Debian/Ubuntu) and /etc/sysconfig/rhn/sources (for RHEL4).   (for Debian/Ubuntu), /etc/sysconfig/rhn/sources (for RHEL4),
   and /etc/yum.repos.d/loncapa.repo (Fedora >= 21).
   
 =head1 DESCRIPTION  =head1 DESCRIPTION
   
 This script modifies /etc/my.cnf and /etc/yum.conf or /etc/apt/sources  This script modifies /etc/my.cnf, /etc/yum.conf, /etc/yum.repos.d/loncapa.repo,
 or /etc/sysconfig/rhn/sources to ensure certain parameters are set  /etc/apt/sources, or /etc/sysconfig/rhn/sources to ensure certain
 properly.  The LON-CAPA yum repositories are added to /etc/yum.conf or  parameters are set properly.
 /etc/sysconfig/rhn/sources and the LON-CAPA apt repositories are added to   
   The LON-CAPA yum repositories are added to /etc/yum.conf, 
   /etc/yum.repos.d/loncapa.repo, /etc/sysconfig/rhn/sources
   and the LON-CAPA apt repositories are added to 
 /etc/apt/sources.list.  /etc/apt/sources.list.
   
 The /etc/my.cnf file is modified to set the wait_timeout to 1 year.  Backup  The /etc/my.cnf file is modified to set the wait_timeout to 1 year.  Backup
Line 69  my $yum_status; Line 73  my $yum_status;
 my $loninst = 'http://install.loncapa.org';  my $loninst = 'http://install.loncapa.org';
 my $loninst_re = 'http://install\.loncapa\.org';  my $loninst_re = 'http://install\.loncapa\.org';
 if ($dist =~ /^fedora(\d+)$/) {  if ($dist =~ /^fedora(\d+)$/) {
       my $file = '/etc/yum.conf';
     my $ver = $1;      my $ver = $1;
     my $gpgchk = 0;      my $gpgchk = '0';
     my $gpg = "$loninst/versions/fedora/RPM-GPG-KEY-loncapa";       my $gpg = "$loninst/versions/fedora/RPM-GPG-KEY-loncapa"; 
       my $nobackup;
     if ($ver > 6) {      if ($ver > 6) {
         $gpgchk = 1;          $gpgchk = '1';
       }
       if ($ver >= 21) {
           $file = '/etc/yum.repos.d/loncapa.repo';
           $nobackup = 1;
     }      }
     $yum_status =        $yum_status =  
         &update_file('/etc/yum.conf',          &update_file($file,
              [{section => 'loncapa-updates-$basearch',               [{section => 'loncapa-updates-basearch',
                key     => 'name=',                 key     => 'name=',
                value   => 'Fedora Core $releasever LON-CAPA $basearch Updates',                 value   => 'Fedora Core $releasever LON-CAPA $basearch Updates',
            }, {section => 'loncapa-updates-$basearch',             }, {section => 'loncapa-updates-basearch',
                key     => 'baseurl=',                 key     => 'baseurl=',
                value   => $loninst.'/fedora/linux/loncapa/$releasever/$basearch',                 value   => $loninst.'/fedora/linux/loncapa/$releasever/$basearch',
            }, {section => 'loncapa-updates-$basearch',             }, {section => 'loncapa-updates-basearch',
                key     => 'gpgcheck=',                 key     => 'gpgcheck=',
                value   =>  $gpgchk,                 value   =>  $gpgchk,
            }, {section => 'loncapa-updates-$basearch',             }, {section => 'loncapa-updates-basearch',
                key     => 'gpg=',                 key     => 'gpgkey=',
                value   => $gpg,                 value   => $gpg,
            }, {section => 'loncapa-updates-noarch',             }, {section => 'loncapa-updates-noarch',
                key     => 'name=',                 key     => 'name=',
Line 99  if ($dist =~ /^fedora(\d+)$/) { Line 109  if ($dist =~ /^fedora(\d+)$/) {
                key     => 'gpgcheck=',                 key     => 'gpgcheck=',
                value   => $gpgchk,                 value   => $gpgchk,
            }, {section => 'loncapa-updates-noarch',             }, {section => 'loncapa-updates-noarch',
                key     => 'gpg=',                 key     => 'gpgkey=',
                value   => $gpg,                 value   => $gpg,
            }]);             }],$nobackup);
 } elsif ($dist =~ /^(rhes|centos|scientific)(\d+)$/) {  } elsif ($dist =~ /^(rhes|centos|scientific|oracle)(\d+)$/) {
     my $type = $1;      my $type = $1;
     my $ver = $2;      my $ver = $2;
     my $longver = $ver;      my $longver = $ver;
Line 132  if ($dist =~ /^fedora(\d+)$/) { Line 142  if ($dist =~ /^fedora(\d+)$/) {
                                  gpg => 'versions/scientific/RPM-GPG-KEY-loncapa',                                   gpg => 'versions/scientific/RPM-GPG-KEY-loncapa',
                                  gpgchk => 1,                                   gpgchk => 1,
                                },                                 },
                    oracle => {
                                title => 'Oracle Linux',
                                path => 'oracle/loncapa',
                                gpg => 'versions/oracle/RPM-GPG-KEY-loncapa',
                                gpgchk => 1,
                              },
                );                 );
     if (ref($info{$type}) eq 'HASH') {      if (ref($info{$type}) eq 'HASH') {
         if ($ver > 4) {          if ($ver > 4) {
Line 145  if ($dist =~ /^fedora(\d+)$/) { Line 161  if ($dist =~ /^fedora(\d+)$/) {
                           value   => "$loninst/$info{$type}{path}/".'$releasever/$basearch',                            value   => "$loninst/$info{$type}{path}/".'$releasever/$basearch',
                       }, {section => 'loncapa-updates-basearch',                        }, {section => 'loncapa-updates-basearch',
                           key     => 'gpgcheck=',                            key     => 'gpgcheck=',
                           value   => $info{$type}{gpchk},                            value   => $info{$type}{gpgchk},
                       }, {section => 'loncapa-updates-$basearch',                        }, {section => 'loncapa-updates-basearch',
                           key     => 'gpgkey=',                            key     => 'gpgkey=',
                           value   => "$loninst/$info{$type}{gpg}",                            value   => "$loninst/$info{$type}{gpg}",
                       }, {section => 'loncapa-updates-noarch',                        }, {section => 'loncapa-updates-noarch',
Line 157  if ($dist =~ /^fedora(\d+)$/) { Line 173  if ($dist =~ /^fedora(\d+)$/) {
                           value   => "$loninst/$info{$type}{path}/".'$releasever/noarch',                            value   => "$loninst/$info{$type}{path}/".'$releasever/noarch',
                       }, {section => 'loncapa-updates-noarch',                        }, {section => 'loncapa-updates-noarch',
                           key     => 'gpgcheck=',                            key     => 'gpgcheck=',
                           value   => $info{$type}{gpchk},                            value   => $info{$type}{gpgchk},
                       }, {section => 'loncapa-updates-noarch',                        }, {section => 'loncapa-updates-noarch',
                           key     => 'gpgkey=',                            key     => 'gpgkey=',
                           value   => "$loninst/$info{$type}{gpg}",                            value   => "$loninst/$info{$type}{gpg}",
Line 190  if ($dist =~ /^fedora(\d+)$/) { Line 206  if ($dist =~ /^fedora(\d+)$/) {
                                         regexp => '\s*deb\s+'.$loninst_re.'/ubuntu/\s+hardy\s+main',                                          regexp => '\s*deb\s+'.$loninst_re.'/ubuntu/\s+hardy\s+main',
                                         text   => "deb $loninst/ubuntu/ hardy main",                                          text   => "deb $loninst/ubuntu/ hardy main",
                                       },                                        },
                              ubuntu10 => {
                                           regexp => '\s*deb\s+'.$loninst_re.'/ubuntu/\s+lucid\s+main',
                                           text   => "deb $loninst/ubuntu/ lucid main",
                                          },
                              ubuntu12 => {
                                           regexp => '\s*deb\s+'.$loninst_re.'/ubuntu/\s+precise\s+main',
                                           text   => "deb $loninst/ubuntu/ precise main",
                                          },
                              ubuntu14 => {
                                           regexp => '\s*deb\s+'.$loninst_re.'/ubuntu/\s+trusty\s+main',
                                           text   => "deb $loninst/ubuntu/ trusty main",
                                          },
                              ubuntu16 => {
                                           regexp => '\s*deb\s+'.$loninst_re.'/ubuntu/\s+xenial\s+main',
                                           text   => "deb $loninst/ubuntu/ xenial main",
                                          },
                              ubuntu18 => {
                                           regexp => '\s*deb\s+'.$loninst_re.'/ubuntu/\s+bionic\s+main',
                                           text   => "deb $loninst/ubuntu/ bionic main",
                                          },
                          );                           );
     my $apt_status;      my $apt_status;
     if (defined($apt_get_source{$dist})) {      if (defined($apt_get_source{$dist})) {
Line 200  if ($dist =~ /^fedora(\d+)$/) { Line 236  if ($dist =~ /^fedora(\d+)$/) {
 my $mysql_global_status =  my $mysql_global_status =
     &update_file('/etc/my.cnf',      &update_file('/etc/my.cnf',
              [{section =>'mysqld',               [{section =>'mysqld',
                key     =>'set-variable=wait_timeout=',                 key     =>'wait_timeout=',
                value   =>'31536000', }]);                 value   =>'31536000', }]);
   
 my $local_my_cnf = '/home/www/.my.cnf';  my $local_my_cnf = '/home/www/.my.cnf';
Line 225  exit $exitvalue; Line 261  exit $exitvalue;
   
   
 sub update_file {  sub update_file {
     my ($file,$newdata) = @_;      my ($file,$newdata,$nobackup) = @_;
     return 1 if (! -e $file);      return 1 if (! -e $file);
     my $backup = $file.'.backup';      unless ($nobackup) {
     if (! copy($file,$backup)) {          my $backup = $file.'.backup';
         warn "**** Error: Unable to make backup of $file";          if (! copy($file,$backup)) {
         return 0;              warn "**** Error: Unable to make backup of $file";
               return 0;
           }
     }      }
     my ($filedata) = &parse_config_file($file);      my ($filedata) = &parse_config_file($file);
     if (! ref($filedata)) { warn "**** Error: $filedata"; return 0;}      if (! ref($filedata)) { warn "**** Error: $filedata"; return 0;}

Removed from v.1.9  
changed lines
  Added in v.1.15


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