From 580d81510e7fb7284f48b7666d46e09f3514e8bf Mon Sep 17 00:00:00 2001 From: wyrie <wyrie@ispconfig3> Date: Wed, 02 Dec 2009 07:03:15 -0500 Subject: [PATCH] Implemented gentoo support for Server --- server/mods-available/monitor_core_module.inc.php | 38 ++++++++++++++++++++++++++++++++++++++ 1 files changed, 38 insertions(+), 0 deletions(-) diff --git a/server/mods-available/monitor_core_module.inc.php b/server/mods-available/monitor_core_module.inc.php index 044f079..cc95772 100644 --- a/server/mods-available/monitor_core_module.inc.php +++ b/server/mods-available/monitor_core_module.inc.php @@ -520,6 +520,34 @@ */ $data['output'] = shell_exec('apt-get -s -q dist-upgrade'); } + elseif (file_exists("/etc/gentoo-release")) { + + /* + * first update the portage tree + */ + shell_exec('emerge --sync --quiet'); + + /* + * Then test the upgrade. + * if there is any output, then there is a needed update + */ + $emergeData = shell_exec('emerge -puDNt --color n --nospinner --quiet world'); + if ($emergeData == '') + { + /* There is nothing to update! */ + $state = 'ok'; + } + else + { + /* There is something to update! */ + $state = 'warning'; + } + + /* + * Fetch the output + */ + $data['output'] = shell_exec('emerge -pvuDNt --color n --nospinner world'); + } else { /* * It is not debian/Ubuntu, so there is no data and no state @@ -1187,52 +1215,62 @@ if(@is_file('/etc/debian_version')) $dist = 'debian'; if(@is_file('/etc/redhat-release')) $dist = 'redhat'; if(@is_file('/etc/SuSE-release')) $dist = 'suse'; + if(@is_file('/etc/gentoo-release')) $dist = 'gentoo'; switch($log) { case 'log_mail': if($dist == 'debian') $logfile = '/var/log/mail.log'; if($dist == 'redhat') $logfile = '/var/log/maillog'; if($dist == 'suse') $logfile = '/var/log/mail.info'; + if($dist == 'gentoo') $logfile = '/var/log/maillog'; break; case 'log_mail_warn': if($dist == 'debian') $logfile = '/var/log/mail.warn'; if($dist == 'redhat') $logfile = '/var/log/maillog'; if($dist == 'suse') $logfile = '/var/log/mail.warn'; + if($dist == 'gentoo') $logfile = '/var/log/maillog'; break; case 'log_mail_err': if($dist == 'debian') $logfile = '/var/log/mail.err'; if($dist == 'redhat') $logfile = '/var/log/maillog'; if($dist == 'suse') $logfile = '/var/log/mail.err'; + if($dist == 'gentoo') $logfile = '/var/log/maillog'; break; case 'log_messages': if($dist == 'debian') $logfile = '/var/log/messages'; if($dist == 'redhat') $logfile = '/var/log/messages'; if($dist == 'suse') $logfile = '/var/log/messages'; + if($dist == 'gentoo') $logfile = '/var/log/messages'; break; case 'log_ispc_cron': if($dist == 'debian') $logfile = '/var/log/ispconfig/cron.log'; if($dist == 'redhat') $logfile = '/var/log/ispconfig/cron.log'; if($dist == 'suse') $logfile = '/var/log/ispconfig/cron.log'; + if($dist == 'gentoo') $logfile = '/var/log/cron'; break; case 'log_freshclam': if($dist == 'debian') $logfile = '/var/log/clamav/freshclam.log'; if($dist == 'redhat') $logfile = (is_file('/var/log/clamav/freshclam.log') ? '/var/log/clamav/freshclam.log' : '/var/log/freshclam.log'); if($dist == 'suse') $logfile = ''; + if($dist == 'gentoo') $logfile = '/var/log/clamav/freshclam.log'; break; case 'log_clamav': if($dist == 'debian') $logfile = '/var/log/clamav/clamav.log'; if($dist == 'redhat') $logfile = (is_file('/var/log/clamav/clamd.log') ? '/var/log/clamav/clamd.log' : '/var/log/maillog'); if($dist == 'suse') $logfile = ''; + if($dist == 'gentoo') $logfile = '/var/log/clamav/clamd.log'; break; case 'log_fail2ban': if($dist == 'debian') $logfile = '/var/log/fail2ban.log'; if($dist == 'redhat') $logfile = '/var/log/fail2ban.log'; if($dist == 'suse') $logfile = '/var/log/fail2ban.log'; + if($dist == 'gentoo') $logfile = '/var/log/fail2ban.log'; break; case 'log_ispconfig': if($dist == 'debian') $logfile = '/var/log/ispconfig/ispconfig.log'; if($dist == 'redhat') $logfile = '/var/log/ispconfig/ispconfig.log'; if($dist == 'suse') $logfile = '/var/log/ispconfig/ispconfig.log'; + if($dist == 'gentoo') $logfile = '/var/log/ispconfig/ispconfig.log'; break; default: $logfile = ''; -- Gitblit v1.9.1