[LON-CAPA-cvs] cvs: loncom /build CHECKRPMS.suse
albertel
lon-capa-cvs@mail.lon-capa.org
Wed, 13 Apr 2005 18:56:46 -0000
albertel Wed Apr 13 14:56:46 2005 EDT
Added files:
/loncom/build CHECKRPMS.suse
Log:
- From Martin Siegert
- adding a CHECKRPMS for suse
Index: loncom/build/CHECKRPMS.suse
+++ loncom/build/CHECKRPMS.suse
#!/usr/bin/perl -w
#
# The LearningOnline Network with CAPA
#
# $Id: CHECKRPMS.suse,v 1.1 2005/04/13 18:56:46 albertel 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
#
=pod
=head1 NAME
B<CHECKRPMS> - automated status report about RPMs on a system, Yum version.
=head1 DESCRIPTION
This file automates the usage of yum to check for available updates
to Fedora systems.
Must be run as root or www.
=cut
use strict;
use lib '/home/httpd/lib/perl/';
use LONCAPA::Configuration;
my $you = '/usr/bin/online_update';
my $tmpfile = '/tmp/CHECKRPMS.'.$$;
#
# Determine who we email
my %perlvar=%{LONCAPA::Configuration::read_conf('loncapa.conf')};
my $emailto = "$perlvar{'lonAdmEMail'}";
my $subj=$perlvar{'lonHostID'};
undef(%perlvar);
#
# Put some nice text in $tmpfile
my $hostname = `hostname`;
chomp($hostname);
open(TMPFILE,">$tmpfile");
print TMPFILE localtime(time).' '.$hostname."\n";
print TMPFILE <<ENDHEADER;
Your system needs to be updated. Please execute (as root)
you
to bring it up to date.
This is very important for the security of your server. The table below
lists the packages which need to be updated.
ENDHEADER
close(TMPFILE);
#
# Execute yum command
my $command = $you.' -s -k -l en '.'>>'.$tmpfile;
system($command);
my $returnvalue = $?>>8;
#
# Determine status of yum run
if (100 == $returnvalue) {
$subj.= ' RPMS to upgrade';
# Send email
system(qq{mail -s '$subj' $emailto < $tmpfile});
} elsif (0 != $returnvalue) {
# Send email
$subj.= ' Error running RPM update script';
system(qq{mail -s '$subj' $emailto < $tmpfile});
} else {
# you returned 0, so everything is up to date.
}