--- loncom/build/distprobe 2011/05/06 21:29:41 1.19 +++ loncom/build/distprobe 2019/05/27 01:26:31 1.22 @@ -2,7 +2,7 @@ # # The LearningOnline Network with CAPA # -# $Id: distprobe,v 1.19 2011/05/06 21:29:41 raeburn Exp $ +# $Id: distprobe,v 1.22 2019/05/27 01:26:31 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -28,6 +28,7 @@ # my $dist='default'; +my $unknown; if (-e '/etc/redhat-release') { open(IN,'; @@ -53,7 +54,9 @@ if (-e '/etc/redhat-release') { $dist = 'rhes'.$1; } elsif ($versionstring =~ /Red Hat Enterprise Linux Server release (\d+)/) { $dist = 'rhes'.$1; - } elsif ($versionstring =~ /CentOS release (\d+)/) { + } elsif ($versionstring =~ /Red Hat Enterprise Linux release (\d+)/) { + $dist = 'rhes'.$1; + } elsif ($versionstring =~ /CentOS(?:| Linux) release (\d+)/) { $dist = 'centos'.$1; } elsif ($versionstring =~ /Scientific Linux (?:SL )?release ([\d.]+) /) { my $ver = $1; @@ -62,6 +65,7 @@ if (-e '/etc/redhat-release') { } else { warn('Unable to interpret /etc/redhat-release '. 'to determine system type'); + $unknown = 1; } } elsif (-e '/etc/SuSE-release') { open(IN,') { + chomp(); + if (/^ID="(\w+)"/) { + $id=$1; + } elsif (/^VERSION_ID="([\d\.]+)"/) { + $version=$1; + } + } + close(IN); + if ($id eq 'sles') { + my ($major,$minor) = split(/\./,$version); + if ($major =~ /^\d+$/) { + $dist = $id.$major; + } + } + } + if ($dist eq 'default') { + warn('Unable to interpret /etc/os-release '. + 'to determine system type.'); + $unknown = 1; + } + } else { + warn('Unknown installation: expecting a debian, ubuntu, suse, sles, redhat, fedora or scientific linux system.')."\n"; } -} else { - warn('Unknown installation: expecting a debian, suse, or redhat system'); } print $dist;