--- loncom/debugging_tools/modify_config_files.pl 2017/06/05 21:06:25 1.13 +++ loncom/debugging_tools/modify_config_files.pl 2021/03/13 18:10:00 1.17 @@ -2,7 +2,7 @@ # # The LearningOnline Network # -# $Id: modify_config_files.pl,v 1.13 2017/06/05 21:06:25 raeburn Exp $ +# $Id: modify_config_files.pl,v 1.17 2021/03/13 18:10:00 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -37,9 +37,10 @@ B =head1 SYNOPSIS This script modifies /etc/my.cnf and one of: /etc/yum.conf -(for CentOS/Scientific Linux/RHEL >=5), /etc/apt/sources.list +(for CentOS/Scientific Linux/RHEL >=5 and <8), /etc/apt/sources.list (for Debian/Ubuntu), /etc/sysconfig/rhn/sources (for RHEL4), -and /etc/yum.repos.d/loncapa.repo (Fedora >= 21). +and /etc/yum.repos.d/loncapa.repo (Fedora >= 21; Oracle Linux; +CentOS/RHEL >= 8). =head1 DESCRIPTION @@ -112,10 +113,11 @@ if ($dist =~ /^fedora(\d+)$/) { key => 'gpgkey=', value => $gpg, }],$nobackup); -} elsif ($dist =~ /^(rhes|centos|scientific)(\d+)$/) { +} elsif ($dist =~ /^(rhes|centos|scientific|oracle)(\d+)$/) { my $type = $1; my $ver = $2; my $longver = $ver; + my $nobackup; if ($type eq 'rhes') { if ($ver == 4) { $longver = '4ES'; @@ -142,11 +144,22 @@ if ($dist =~ /^fedora(\d+)$/) { gpg => 'versions/scientific/RPM-GPG-KEY-loncapa', 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 ($ver > 4) { + my $file = '/etc/yum.conf'; + if (($ver > 7) || ($type eq 'oracle')) { + $file = '/etc/yum.repos.d/loncapa.repo'; + $nobackup = 1; + } $yum_status = - &update_file('/etc/yum.conf', + &update_file($file, [{section => 'loncapa-updates-basearch', key => 'name=', value => $info{$type}{title}.' $releasever LON-CAPA $basearch Updates', @@ -171,7 +184,7 @@ if ($dist =~ /^fedora(\d+)$/) { }, {section => 'loncapa-updates-noarch', key => 'gpgkey=', value => "$loninst/$info{$type}{gpg}", - }]); + }],$nobackup); } elsif (($type eq 'rhes') && ($ver == 4)) { my %rhn = ( basearch => { @@ -200,6 +213,30 @@ if ($dist =~ /^fedora(\d+)$/) { regexp => '\s*deb\s+'.$loninst_re.'/ubuntu/\s+hardy\s+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", + }, + ubuntu20 => { + regexp => '\s*deb\s+'.$loninst_re.'/ubuntu/\s+focal\s+main', + text => "deb $loninst/ubuntu/ focal main", + }, ); my $apt_status; if (defined($apt_get_source{$dist})) {