version 1.7, 2007/04/23 20:04:52
|
version 1.9, 2007/09/13 21:50:37
|
Line 39 to LON-CAPA systems. distprobe is used t
|
Line 39 to LON-CAPA systems. distprobe is used t
|
|
|
The utility which is used to complete the check depends on the distro: |
The utility which is used to complete the check depends on the distro: |
|
|
fedora, rhel 5/5+ - yum |
fedora, rhel 5/5+, centos, scientific - yum |
suse 9.X and sles9 - you |
suse 9.X and sles9 - you |
suse 10.X and sles10 - rug |
suse 10.2,10.3 - zypper |
|
sles10,suse10.1 - rug |
rhel 4 - up2date |
rhel 4 - up2date |
others - check-rpms |
others - check-rpms |
|
|
Line 84 if ($distro =~ /^fedora\d+$/) {
|
Line 85 if ($distro =~ /^fedora\d+$/) {
|
$cmd = 'you'; |
$cmd = 'you'; |
&prepare_msg($tmpfile,$cmd); |
&prepare_msg($tmpfile,$cmd); |
($send,$addsubj) = &check_with_you($tmpfile); |
($send,$addsubj) = &check_with_you($tmpfile); |
} elsif ($distro =~ /^(suse|sles)10\.?\d?$/) { |
} elsif ($distro =~ /^suse10\.(\d)$/) { |
|
my $version =$1; |
|
if ($version > 1) { |
|
$cmd = 'zypper up'; |
|
&prepare_msg($tmpfile,$cmd); |
|
($send,$addsubj) = &check_with_zypper($tmpfile); |
|
} else { |
|
$cmd = 'rug up'; |
|
&prepare_msg($tmpfile,$cmd); |
|
($send,$addsubj) = &check_with_rug($tmpfile); |
|
} |
|
} elsif ($distro =~ /^sles10$/) { |
$cmd = 'rug up'; |
$cmd = 'rug up'; |
&prepare_msg($tmpfile,$cmd); |
&prepare_msg($tmpfile,$cmd); |
($send,$addsubj) = &check_with_rug($tmpfile); |
($send,$addsubj) = &check_with_rug($tmpfile); |
Line 99 if ($distro =~ /^fedora\d+$/) {
|
Line 111 if ($distro =~ /^fedora\d+$/) {
|
&prepare_msg($tmpfile,$cmd); |
&prepare_msg($tmpfile,$cmd); |
($send,$addsubj) = &check_with_yum($tmpfile); |
($send,$addsubj) = &check_with_yum($tmpfile); |
} |
} |
|
} elsif ($distro =~ /^centos\d+$/) { |
|
$cmd = 'yum update'; |
|
&prepare_msg($tmpfile,$cmd); |
|
($send,$addsubj) = &check_with_yum($tmpfile); |
|
} elsif ($distro =~ /^scientific\d+\.\d$/) { |
|
$cmd = 'yum update'; |
|
&prepare_msg($tmpfile,$cmd); |
|
($send,$addsubj) = &check_with_yum($tmpfile); |
} else { |
} else { |
$cmd = '/usr/local/bin/check-rpms --update'; |
$cmd = '/usr/local/bin/check-rpms --update'; |
($send,$addsubj) = &check_with_checkrpms($tmpfile); |
($send,$addsubj) = &check_with_checkrpms($tmpfile); |
Line 279 sub check_with_rug {
|
Line 299 sub check_with_rug {
|
} else { |
} else { |
$append_to_subj = ' Error running RPM update check'; |
$append_to_subj = ' Error running RPM update check'; |
$sendflag = 1; |
$sendflag = 1; |
|
} |
|
return ($sendflag,$append_to_subj); |
|
} |
|
|
|
sub check_with_zypper { |
|
my ($tmpfile) = @_; |
|
my $zypper = '/usr/bin/zypper'; |
|
my $sendflag = 0; |
|
my $append_to_subj; |
|
my $header; |
|
# |
|
# Execute zypper command to check for updates |
|
if (open (PIPE, "$zypper lu 2>&1 |")) { |
|
my @output=<PIPE>; |
|
close(PIPE); |
|
chomp(@output); |
|
my @clean_output; |
|
foreach my $line (@output) { |
|
if ($line eq 'Restoring system sources...') { |
|
next; |
|
} elsif ($line =~ /^Parsing\smetadata\sfor\s/) { |
|
next; |
|
} elsif ($line eq 'Parsing RPM database...') { |
|
next; |
|
} elsif ($line =~ /^Catalog\s+\|\s+Name\s+\|\s+Version\s+\|\s+Category\s+\|\s+Status$/) { |
|
$header = $line."\n"; |
|
next; |
|
} elsif ($line =~ /^[-+]+$/) { |
|
$header .= $line."\n"; |
|
next; |
|
} elsif ($line eq 'WARNING: These are only the updates affecting the updater itself.') { |
|
next; |
|
} elsif ($line eq 'There are others available too.') { |
|
next; |
|
} else { |
|
push(@clean_output,$line); |
|
} |
|
} |
|
if (@clean_output > 0) { |
|
open(TMPFILE,">>$tmpfile"); |
|
my $message = join("\n",@clean_output); |
|
print TMPFILE $header.$message; |
|
close(TMPFILE); |
|
$append_to_subj= ' RPMS to upgrade'; |
|
$sendflag = 1; |
|
} |
|
} else { |
|
$append_to_subj = ' Error running RPM update check'; |
|
$sendflag = 1; |
} |
} |
return ($sendflag,$append_to_subj); |
return ($sendflag,$append_to_subj); |
} |
} |