--- loncom/build/Attic/CHECKRPMS.default 2002/05/01 17:01:18 1.1 +++ loncom/build/Attic/CHECKRPMS.default 2004/08/25 14:44:32 1.18 @@ -1,46 +1,109 @@ -#!/usr/bin/perl +#!/usr/bin/perl -w +# +# The LearningOnline Network with CAPA +# +# $Id: CHECKRPMS.default,v 1.18 2004/08/25 14:44:32 matthew Exp $ +# +# Copyright Michigan State University Board of Trustees +# +# This file is part of the LearningOnline Network with CAPA (LON-CAPA). +# +# LON-CAPA is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# LON-CAPA is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with LON-CAPA; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# /home/httpd/html/adm/gpl.txt +# +# http://www.lon-capa.org/ +# +# (Navigate problems for statistical reports +# -my $RHversion = (split /\s/, `cat /etc/redhat-release`)[4]; -my $FTPSERVER; -`ping -q -c 1 mirror.pa.msu.edu 2>/dev/null`; -if (!$FTPSERVER and $?==0) { - `ncftpls ftp://mirror.pa.msu.edu`; - if ($?==0) { - $FTPSERVER="mirror.pa.msu.edu"; - $FTPUPDATES="mirror.pa.msu.edu/linux/redhat/linux/updates/$RHversion/en/os"; - } -} -`ping -q -c 1 rufus.w3.org 2>/dev/null`; -if (!$FTPSERVER and $?==0) { - `ncftpls ftp://rufus.w3.org`; - if ($?==0) { - $FTPSERVER="rufus.w3.org"; - $FTPUPDATES="rufus.w3.org/linux/redhat/updates/$RHversion/en/os"; - } -} -if (!$FTPSERVER) { - print "Cannot find a working ftp server.\n"; -} -print "Using $FTPSERVER for ftp transaction...(please be patient)\n"; -my @rpms=`perl loncom/build/check-rpms -ftp $FTPUPDATES`; -if (@rpms) { - my $rpm_count=scalar(@rpms); - print(< - automated status report about RPMs on a system. + +=head1 DESCRIPTION + +Runs Martin Seigert's checkrpms script. See +http://www.sfu.ca/acs/security/linux/check-rpms.html for more information. + +Must be run as root or www. + +=cut + +use strict; +use lib '/home/httpd/lib/perl/'; +use LONCAPA::Configuration; +# +# Determine who we email +my %perlvar=%{LONCAPA::Configuration::read_conf('loncapa.conf')}; +my $emailto = "$perlvar{'lonAdmEMail'}"; +my $subj=$perlvar{'lonHostID'}.' rpm status'; + +$emailto = 'hallmat3@msu.edu'; + +my $checkrpms = '/usr/local/bin/check-rpms'; +# +# Check that checkrpms is installed and is the proper version... +my $mailmsg = ''; +if (! -e $checkrpms) { + $mailmsg = <$mail_file") || die("Unable to write to ".$mail_file); + print MAILFILE $mailmsg.$/; + close(MAILFILE); + my $mailcommand = "mail -s '$subj' $emailto <$mail_file"; + print STDERR $mailcommand; + system($mailcommand); } + +exit;