[LON-CAPA-cvs] cvs: loncom /build CHECKRPMS
raeburn
raeburn at source.lon-capa.org
Sun Apr 9 10:54:02 EDT 2017
raeburn Sun Apr 9 14:54:02 2017 EDT
Modified files:
/loncom/build CHECKRPMS
Log:
- Fedora 22 and later use dnf instead of yum.
Index: loncom/build/CHECKRPMS
diff -u loncom/build/CHECKRPMS:1.16 loncom/build/CHECKRPMS:1.17
--- loncom/build/CHECKRPMS:1.16 Thu Dec 8 17:22:37 2011
+++ loncom/build/CHECKRPMS Sun Apr 9 14:54:02 2017
@@ -3,7 +3,7 @@
# The LearningOnline Network with CAPA
# Checks status of RPM packages on system.
#
-# $Id: CHECKRPMS,v 1.16 2011/12/08 17:22:37 raeburn Exp $
+# $Id: CHECKRPMS,v 1.17 2017/04/09 14:54:02 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -43,6 +43,7 @@
The utility which is used to complete the check depends on the distro:
fedora, rhel >= 5, centos, scientific - yum
+fedora >= 22 - dnf
suse 9.X and sles9 - you
suse 10.2,10.3,11.1,11.2,11.3,11.4,sles11 - zypper
sles10,suse10.1 - rug
@@ -92,10 +93,17 @@
}
my ($cmd,$send,$addsubj);
-if ($distro =~ /^fedora\d+$/) {
- $cmd = 'yum update';
- &prepare_msg($tmpfile,$cmd);
- ($send,$addsubj) = &check_with_yum($tmpfile);
+if ($distro =~ /^fedora(\d+)$/) {
+ my $version =$1;
+ if ($version > 21) {
+ $cmd = 'dnf update';
+ &prepare_msg($tmpfile,$cmd);
+ ($send,$addsubj) = &check_with_dnf($tmpfile);
+ } else {
+ $cmd = 'yum update';
+ &prepare_msg($tmpfile,$cmd);
+ ($send,$addsubj) = &check_with_yum($tmpfile);
+ }
} elsif ($distro =~ /^(suse|sles)9\.?\d?$/) {
$cmd = 'you';
&prepare_msg($tmpfile,$cmd);
@@ -245,6 +253,33 @@
return ($sendflag,$append_to_subj);
}
+sub check_with_dnf {
+ my ($tmpfile) = @_;
+ my $dnf = '/usr/bin/dnf';
+ my $sendflag = 0;
+ my $append_to_subj;
+
+ #
+ # Execute dnf command
+ my $command = $dnf.' check-update '.'>>'.$tmpfile;
+ system($command);
+
+ my $returnvalue = $?>>8;
+
+ #
+ # Determine status of dnf run
+ if (100 == $returnvalue) {
+ $sendflag = 1;
+ $append_to_subj = ' RPMS to upgrade';
+ } elsif (0 != $returnvalue) {
+ $sendflag = 1;
+ $append_to_subj = ' Error running RPM update script';
+ } else {
+ # dnf returned 0, so everything is up to date.
+ }
+ return ($sendflag,$append_to_subj);
+}
+
sub check_with_up2date {
my ($tmpfile) = @_;
my $up2date = '/usr/bin/up2date-nox';
More information about the LON-CAPA-cvs
mailing list