#!/usr/bin/perl # a web interface to 'cvs rdiff'. This script makes it easy to query # the tags which are created by the build script. use CGI ':standard'; use File::Basename; use File::stat; use Data::Dumper; # the big datastructures are: # $RPM_FILE_BY_FQN{$fqn} is the full path rpm wich is discribed by the fqn # keys %SORTED_RECENT_FQN is the set of all package names # $SORTED_RECENT_FQN{$name} is an ordered list of the most recent # versions of this package # for a short time there are these datastrutures but they are large # and expensive to save to disk. # An rpm_package is a hash of: # $package{'fqn'}="perl-5.00502-3" # $package{'rpm_file'}="$RPMS_DIR/". # "./sparc/perl-5.00502-3.solaris2.6-sparc.rpm" # $package{'srpm_file'}="$SRPMS_DIR/". # "./perl-5.00502-3.src.rpm" # $package{'name'}="perl" # $package{'version'}="5.00502" # $package{'release'}="3" # fqn is "fully qualified name" # while the $pkg structure exists we find the pkg we want by looking # it up in this structure. This will hold many more packages then the # web page ever knows about. # $BY_NAME{$name}{$version}{$release}; sub usage { # If they are asking for help then they are clueless so reset all # their parameters for them, in case they are in a bad state. param(-name=>'Defaults', -value=>'on'); my $rpmdiff_version = `rpmdiff --version`; $usage =<