#!/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>