[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.
}