File:  [LON-CAPA] / loncom / build / Attic / loncapaverifypackages
Revision 1.3: download - view: text, annotated - select for diffs
Wed Oct 25 23:50:21 2000 UTC (23 years, 7 months ago) by harris41
Branches: MAIN
CVS tags: version_0_4, stable_2002_spring, stable_2002_july, stable_2002_april, stable_2001_fall, STABLE, HEAD, Before_rewrite
can't remember

#!/usr/bin/perl

# loncapaverifypackages

# This tool helps with system verification.  It looks at the
# RPM packages on the system.  It downloads a list of expected
# RPMs from install.lon-capa.org.  It makes two comparisons.
# Which packages are missing?  Which packages are unexpected?

# Scott Harrison, 10/25/2000

use strict;

my @current_rpms=`/bin/rpm -qa`;
my %chash=map {($_,1)} @current_rpms;
my @ideal_rpms=`/usr/bin/lynx -source http://install.lon-capa.org/3.1/otherfiles/rpm_list.txt | /bin/grep '^[[:alpha:]][[:space:]][[:alpha:]]' | /usr/bin/cut -b3-`;
my %ihash=map {($_,1)} @ideal_rpms;

my @not_current_but_ideal=map {"- $_"} grep {!$chash{$_}} @ideal_rpms;
my @not_ideal_but_current=map {"+ $_"} grep {!$ihash{$_}} @current_rpms;

print <<END if @not_current_but_ideal;
These packages below are missing and should be on your system.
END
print join("",@not_current_but_ideal);
print <<END if @not_ideal_but_current;
These packages below are on your system but, according to install.lon-capa.org,
should not be.  This may be due to not having an upgraded package, a package added
by the administrator of this machine to enhance functionality, changes in the
LON-CAPA system, or malicious activity.  You may want to remove or upgrade these.
END
print join("",@not_ideal_but_current);

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>