--- loncom/build/CHECKRPMS 2010/10/04 15:07:17 1.12 +++ loncom/build/CHECKRPMS 2011/10/17 19:11:42 1.14 @@ -3,6 +3,8 @@ # The LearningOnline Network with CAPA # Checks status of RPM packages on system. # +# $Id: CHECKRPMS,v 1.14 2011/10/17 19:11:42 raeburn Exp $ +# # Copyright Michigan State University Board of Trustees # # This file is part of the LearningOnline Network with CAPA (LON-CAPA). @@ -40,9 +42,9 @@ to LON-CAPA systems. distprobe is used t The utility which is used to complete the check depends on the distro: -fedora, rhel 5/5+, centos, scientific - yum +fedora, rhel >= 5, centos, scientific - yum suse 9.X and sles9 - you -suse 10.2,10.3,11.1 - zypper +suse 10.2,10.3,11.1,11.2,11.3,11.4,sles11 - zypper sles10,suse10.1 - rug rhel 4 - up2date debian, ubuntu - apt-get @@ -61,6 +63,7 @@ use Apache::loncommon(); my $tmpfile = '/tmp/CHECKRPMS.'.$$; my $perlvar= LONCAPA::Configuration::read_conf('loncapa.conf'); +my $docroot = $perlvar->{'lonDocRoot'}; # Determine who we email my $defdom = $perlvar->{'lonDefDomain'}; @@ -107,6 +110,10 @@ if ($distro =~ /^fedora\d+$/) { $cmd = 'rug up'; &prepare_msg($tmpfile,$cmd); ($send,$addsubj) = &check_with_rug($tmpfile); +} elsif ($distro =~ /^sles(\d+)$/) { + $cmd = 'zypper up'; + &prepare_msg($tmpfile,$cmd); + ($send,$addsubj) = &check_with_zypper($tmpfile); } elsif ($distro =~ /^rhes(\d+)$/) { my $version = $1; if ($version == 4) { @@ -136,6 +143,9 @@ if ($distro =~ /^fedora\d+$/) { } if ($send) { $subj .= $addsubj; + if ($docroot ne '') { + system("cat $tmpfile > $docroot/lon-status/checkrpms.txt"); + } system(qq{mail -s '$subj' "$emailto" < $tmpfile}); }