Annotation of loncom/build/rpmparse.pl, revision 1.1

1.1     ! harris41    1: #!/usr/bin/perl
        !             2: 
        !             3: my ($standard,$current)=@ARGV;
        !             4: 
        !             5: $standard=~s/[^\/\w]//g;
        !             6: $current=~s/[^\/\w]//g;
        !             7: my %svhash;
        !             8: my %sbhash;
        !             9: 
        !            10: my @oldrpms;
        !            11: my @badversionrpms;
        !            12: my @newrpms;
        !            13: my @externalrpms;
        !            14: 
        !            15: open IN, $standard;
        !            16: while(<IN>) {
        !            17:     chop;
        !            18:     my ($name,$version,$buildtime)=split(/\s+/);
        !            19:     $svhash{$name}=$version;
        !            20:     $sbhash{$name}=$buildtime;
        !            21: }
        !            22: close IN;
        !            23: 
        !            24: open IN, $current;
        !            25: while(<IN>) {
        !            26:     chop;
        !            27:     my ($name,$version,$buildtime)=split(/\s+/);
        !            28:     if ($svhash{$name}) {
        !            29: 	unless ($svhash{$name} eq $version) {
        !            30: 	    push @badversionrpms,"$name is version $version, should be $svhash{$name}\n";
        !            31: 	}
        !            32: 	if ($sbhash{$name}<$buildtime) {
        !            33: 	    push @newrpms,"$name was built ".localtime($buildtime)." when the expected build time was ".localtime($sbhash{$name})."\n";
        !            34: 	}
        !            35: 	if ($sbhash{$name}>$buildtime) {
        !            36: 	    push @newrpms,"$name was built ".localtime($sbhash{$name})." when the expected build time was ".localtime($buildtime)."\n";
        !            37: 	}
        !            38:     }
        !            39:     else {
        !            40: 	push @externalrpms,"$name (built ".localtime($buildtime).") is an RPM not expected to ever be on a LON-CAPA system\n";
        !            41:     }
        !            42: }
        !            43: close IN;
        !            44: 
        !            45: my $date=`date`; chop $date;
        !            46: my $hostname=hostname;
        !            47: print <<END;
        !            48: <HTML>
        !            49: <HEAD>
        !            50: <TITLE>LON-CAPA Software RPM Status Page</TITLE>
        !            51: </HEAD>
        !            52: <BODY>
        !            53: <FONT SIZE=+2>LON-CAPA Software RPM Status Page (done on $date for $hostname)</FONT>
        !            54: <BR>Michigan State University
        !            55: <BR>Learning Online with CAPA
        !            56: <BR>Contact korte@lon-capa.org
        !            57: <UL>
        !            58: <LI>About this file</LI>
        !            59: <LI>Bad RPM Versions</LI>
        !            60: <LI>Out-of-date RPMS</LI>
        !            61: <LI>Newer than expected RPMS</LI>
        !            62: <LI>RPMS external to LON-CAPA</LI>
        !            63: </UL>
        !            64: <FONT SIZE=+2>About this file</FONT>
        !            65: <P>
        !            66: This file is generated dynamically by <tt>make rpmstatuspost</tt>
        !            67: when this command is entered in the CVS:loncom/build directory.
        !            68: </P>
        !            69: END
        !            70:     print <<END;
        !            71: <FONT SIZE=+2>Bad RPM Versions</FONT>
        !            72: <PRE>
        !            73: END
        !            74: foreach my $rpminfo (@badversionrpms) {
        !            75:     print $rpminfo;
        !            76: }
        !            77: print <<END;
        !            78: </PRE>
        !            79: END
        !            80: print <<END;
        !            81: <FONT SIZE=+2>Out-of-date RPMS</FONT>
        !            82: <PRE>
        !            83: END
        !            84: foreach my $rpminfo (@oldrpms) {
        !            85:     print $rpminfo;
        !            86: }
        !            87: print <<END;
        !            88: </PRE>
        !            89: END
        !            90: print <<END;
        !            91: <FONT SIZE=+2>Newer than expected RPMS</FONT>
        !            92: <PRE>
        !            93: END
        !            94: foreach my $rpminfo (@newrpms) {
        !            95:     print $rpminfo;
        !            96: }
        !            97: print <<END;
        !            98: </PRE>
        !            99: END
        !           100: print <<END;
        !           101: <FONT SIZE=+2>RPMS external to LON-CAPA</FONT>
        !           102: <PRE>
        !           103: END
        !           104: foreach my $rpminfo (@externalrpms) {
        !           105:     print $rpminfo;
        !           106: }
        !           107: print <<END;
        !           108: </PRE>
        !           109: END

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