Skip to content

Commit 6087521

Browse files
committed
prepared installer for new RHEL 8 clones
1 parent e801eb8 commit 6087521

File tree

2 files changed

+62
-89
lines changed

2 files changed

+62
-89
lines changed

install/lib/install.lib.php

Lines changed: 61 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -291,96 +291,68 @@ function get_distname() {
291291
}
292292
}
293293

294-
295-
//** Redhat
296-
elseif(file_exists('/etc/redhat-release')) {
297-
298-
$content = file_get_contents('/etc/redhat-release');
299-
300-
if(stristr($content, 'Fedora release 9 (Sulphur)')) {
301-
$distname = 'Fedora';
302-
$distver = '9';
303-
$distid = 'fedora9';
304-
$distbaseid = 'fedora';
305-
swriteln("Operating System: Fedora 9 or compatible\n");
306-
} elseif(stristr($content, 'Fedora release 10 (Cambridge)')) {
307-
$distname = 'Fedora';
308-
$distver = '10';
309-
$distid = 'fedora9';
310-
$distbaseid = 'fedora';
311-
swriteln("Operating System: Fedora 10 or compatible\n");
312-
} elseif(stristr($content, 'Fedora release 10')) {
313-
$distname = 'Fedora';
314-
$distver = '11';
315-
$distid = 'fedora9';
316-
$distbaseid = 'fedora';
317-
swriteln("Operating System: Fedora 11 or compatible\n");
318-
} elseif(stristr($content, 'Fedora release 32 (Thirty Two)')) {
319-
$distname = 'Fedora';
320-
$distver = '32';
321-
$distid = 'fedora32';
322-
$distbaseid = 'fedora';
323-
swriteln("Operating System: Fedora 32 or compatible\n");
324-
} elseif(stristr($content, 'Fedora release 33 (Thirty Three)')) {
325-
$distname = 'Fedora';
326-
$distver = '33';
327-
$distid = 'fedora33';
328-
$distbaseid = 'fedora';
329-
swriteln("Operating System: Fedora 33 or compatible\n");
330-
} elseif(stristr($content, 'CentOS release 5.2 (Final)')) {
331-
$distname = 'CentOS';
332-
$distver = '5.2';
333-
$distid = 'centos52';
334-
$distbaseid = 'fedora';
335-
swriteln("Operating System: CentOS 5.2 or compatible\n");
336-
} elseif(stristr($content, 'CentOS release 5.3 (Final)')) {
337-
$distname = 'CentOS';
338-
$distver = '5.3';
339-
$distid = 'centos53';
340-
$distbaseid = 'fedora';
341-
swriteln("Operating System: CentOS 5.3 or compatible\n");
342-
} elseif(stristr($content, 'CentOS release 5')) {
343-
$distname = 'CentOS';
344-
$distver = 'Unknown';
345-
$distid = 'centos53';
346-
$distbaseid = 'fedora';
347-
swriteln("Operating System: CentOS 5 or compatible\n");
348-
} elseif(stristr($content, 'CentOS Linux release 6') || stristr($content, 'CentOS release 6')) {
349-
$distname = 'CentOS';
350-
$distver = 'Unknown';
351-
$distid = 'centos53';
352-
$distbaseid = 'fedora';
353-
swriteln("Operating System: CentOS 6 or compatible\n");
354-
} elseif(stristr($content, 'CentOS Linux release 7')) {
355-
$distname = 'CentOS';
356-
$distver = 'Unknown';
357-
$distbaseid = 'fedora';
358-
$var=explode(" ", $content);
359-
$var=explode(".", $var[3]);
360-
$var=$var[0].".".$var[1];
361-
if($var=='7.0' || $var=='7.1') {
362-
$distid = 'centos70';
363-
} else {
364-
$distid = 'centos72';
365-
}
366-
swriteln("Operating System: CentOS $var\n");
367-
} elseif(stristr($content, 'CentOS Linux release 8')) {
368-
$distname = 'CentOS';
369-
$distver = 'Unknown';
370-
$distbaseid = 'fedora';
371-
$distid = 'centos80';
372-
$var=explode(" ", $content);
373-
$var=explode(".", $var[3]);
374-
$var=$var[0].".".$var[1];
375-
swriteln("Operating System: CentOS $var\n");
376-
} else {
377-
$distname = 'Redhat';
378-
$distver = 'Unknown';
379-
$distid = 'fedora9';
380-
$distbaseid = 'fedora';
381-
swriteln("Operating System: Redhat or compatible, unknown version.\n");
294+
//** RHEL (including compatible clones) & Fedora
295+
elseif(file_exists('/etc/redhat-release') && file_exists('/etc/os-release')) {
296+
$content = file_get_contents('/etc/os-release');
297+
298+
preg_match('/(?<=NAME=\").+?(?=\")/', $content, $name);
299+
preg_match('/(?<=VERSION=\").+?(?=\")/', $content, $version);
300+
preg_match('/(?<=VERSION_ID=\").+?(?=\")/', $content, $versionid);
301+
302+
if(stristr($prettyname[0], 'Fedora 32 (Thirty Two)')) {
303+
$distname = 'Fedora';
304+
$distver = '32';
305+
$distid = 'fedora32';
306+
$distbaseid = 'fedora';
307+
swriteln("Operating System: Fedora 32 or compatible\n");
308+
} elseif(stristr($prettyname[0], 'Fedora 33 (Thirty Three)')) {
309+
$distname = 'Fedora';
310+
$distver = '33';
311+
$distid = 'fedora33';
312+
$distbaseid = 'fedora';
313+
swriteln("Operating System: Fedora 33 or compatible\n");
314+
//** RHEL 7 and compatible clones
315+
} elseif(preg_match('/^(?:7|7\.[0-9]{1,2})$/', $versionid[0])) {
316+
preg_match_all('/([0-9]{1,2})\.?([0-9]{0,2})\.?([0-9]*)/', file_get_contents('/etc/redhat-release'), $centos7_string);
317+
$distname = $name[0];
318+
$distver = is_array($centos7_string)? implode('.', array_filter(array($centos7_string[1][0],$centos7_string[2][0],$centos7_string[3][0]),'strlen')) : $version[0];
319+
$distid = 'centos72';
320+
$distbaseid = 'fedora';
321+
swriteln("Operating System: RHEL 7 or compatible\n");
322+
//** RHEL 8 and compatible clones
323+
} elseif(preg_match('/^(?:8|8\.[0-9]{1,2})$/', $versionid[0])) {
324+
$distname = $name[0];
325+
$distver = $version[0];
326+
$distid = 'centos80';
327+
$distbaseid = 'fedora';
328+
swriteln("Operating System: RHEL 8 or compatible\n");
329+
} else {
330+
$distname = 'Redhat';
331+
$distver = 'Unknown';
332+
$distid = 'fedora9';
333+
$distbaseid = 'fedora';
334+
swriteln("Operating System: Redhat or compatible\n");
382335
}
383-
}
336+
//** RHEL 6 and compatible clones
337+
} elseif(file_exists('/etc/redhat-release') && !file_exists('/etc/os-release')) {
338+
339+
$content = file_get_contents('/etc/redhat-release');
340+
341+
if(stristr($content, 'CentOS Linux release 6') || stristr($content, 'CentOS release 6')) {
342+
$distname = 'CentOS';
343+
$distver = 'Unknown';
344+
$distid = 'centos53';
345+
$distbaseid = 'fedora';
346+
swriteln("Operating System: CentOS/RHEL 6 or compatible\n");
347+
} else {
348+
$distname = 'Redhat';
349+
$distver = 'Unknown';
350+
$distid = 'fedora9';
351+
$distbaseid = 'fedora';
352+
swriteln("Operating System: Redhat or compatible\n");
353+
}
354+
355+
}
384356

385357
//** Gentoo
386358
elseif(file_exists('/etc/gentoo-release')) {

server/lib/classes/monitor_tools.inc.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -314,6 +314,7 @@ function get_distname() {
314314
$distid = 'fedora9';
315315
$distbaseid = 'fedora';
316316
}
317+
//** RHEL 6 and compatible clones
317318
} elseif(file_exists('/etc/redhat-release') && !file_exists('/etc/os-release')) {
318319

319320
$content = file_get_contents('/etc/redhat-release');

0 commit comments

Comments
 (0)