--- loncom/build/rpmparse.pl 2001/04/04 12:48:55 1.7 +++ loncom/build/rpmparse.pl 2001/05/03 15:18:06 1.8 @@ -1,16 +1,20 @@ #!/usr/bin/perl -my ($standard,$current)=@ARGV; +my ($standard,$current,$expected)=@ARGV; $standard=~s/[^\/\w\.]//g; $current=~s/[^\/\w\.]//g; +$expected=~s/[^\/\w\.]//g; my %svhash; my %sbhash; +my %chash; my @oldrpms; my @badversionrpms; my @newrpms; my @externalrpms; +my @barerpms; +my @developrpms; open IN, "<$standard"; while() { @@ -25,6 +29,7 @@ open IN, "<$current"; while() { chop; my ($name,$version,$buildtime)=split(/\s+/); + $chash{$name}=1; if ($svhash{$name}) { unless ($svhash{$name} eq $version) { push @badversionrpms,"$name is version $version, should be $svhash{$name}\n"; @@ -42,6 +47,22 @@ while() { } close IN; +open IN,"<$expected"; +while() { + chop; + next unless /^[YN] \w/; + /(.).(.*)/; + my $type=$1; + my $package=$2; + $package=~s/\-[^\-]*\-[^\-]*$//; + print "
$type $package\n"; + if (!$chash{$package}) { + push @barerpms,"$package is missing and is of basic necessity to a LON-CAPA system\n" if $type eq 'Y'; + push @developrpms,"$package is missing and may be useful for a LON-CAPA system\n" if $type eq 'N'; + } +} +close IN; + my $date=`date`; chop $date; my $hostname=`hostname`; chop $hostname; print <Learning Online with CAPA
Contact korte\@lon-capa.org
    +
  • Important warnings
  • About this file
  • Bad RPM Versions
  • Out-of-date RPMS
  • Newer than expected RPMS
  • RPMS external to LON-CAPA
  • +
  • RPMS from the "bare minimum" set that you are missing
  • +
  • RPMS from the "development" set that you are missing
+Important warnings +

+Never install LON-CAPA-setup on a running LON-CAPA machine. +This RPM package contains pre-installation files such as +/etc/group and /etc/passwd. You will lose all access to your +machine if you install this RPM. +

+

+If you are doing CVS-based upgrades of your LON-CAPA +software, then you do not need to upgrade your LON-CAPA-base +RPM. Upgrading with the LON-CAPA-base RPM +will cause you to lose many of your system-specific +configuration settings. +

+

+DO NOT UPGRADE YOUR KERNEL UNLESS YOU KNOW WHAT YOU ARE DOING. +Kernel upgrading involves packages beginning with the word +"kernel". +

About this file

This file is generated dynamically by make rpmstatuspost when this command is entered in the CVS:loncom/build directory.

+

+Managing software packages on any system, testing different +sets of software packages, tracking their dependencies, and maintaining +configuration information is an inexact science. While the LON-CAPA +recommended set of RPMs is a tested set with no missing dependencies, +we still highly recommend that RPM upgrades are only performed +by those with significant knowledge about standard Linux operating +systems. +

END print <Differing RPM Versions @@ -106,5 +158,25 @@ foreach my $rpminfo (@externalrpms) { print $rpminfo; } print < +END +print <RPMS from the "bare minimum" set that you are missing +
+END
+foreach my $rpminfo (@barerpms) {
+    print $rpminfo;
+}
+print <
+END
+print <RPMS from the "development" set that you are missing
+
+END
+foreach my $rpminfo (@developrpms) {
+    print $rpminfo;
+}
+print <
 END