← Back to team overview

ubuntugis team mailing list archive

Re: UbuntuGIS Thermometer script

 

Francesco,
I've stalled a bit on this email thread.
Do you mind if I commit my changes to your debian-gis script as an
updated version of your script? (My preference)
The alternative is for me to branch the script.

I don't have a good location to store the generated package
thermometer html page. Do you mind copying it to:
http://pkg-grass.alioth.debian.org/debiangis-status.html

On Tue, Jan 6, 2009 at 9:29 AM, Cameron Shorter
<cameron.shorter@xxxxxxxxx> wrote:
> Francesco,
> I've extended your dgis-status.pl script to return the Ubuntu status too.
> (Nice script, thanks for writing it).
> The extended script and output are attached.
>
> I'm interested to hear your thoughts on what we should do with future
> versions of the script and status page.
>
> I think it would be good if we only have the one script and status page for
> both projects so that improvements added to one script will apply to the
> other too.
>
>
> --
> Cameron Shorter
> Geospatial Systems Architect
> Tel: +61 (0)2 8570 5050
> Mob: +61 (0)419 142 254
>
> Think Globally, Fix Locally
> Geospatial Solutions enhanced with Open Standards and Open Source
> http://www.lisasoft.com
>
>
> UbuntuGIS home page.
>
> DebianGIS/UbuntuGIS Package Thermometer
>
> Package stabletestingunstablebpojauntyintrepidhardygutsydapper
> avce00 (PTS,UP) 1.3.0-22.0.0-22.0.0-2 2.0.0-22.0.0-22.0.0-12.0.0-11.3.0-2
> batik (PTS,UP)
> 1.6-31.6-41.6-4 1.7.dfsg-0ubuntu11.7.dfsg-0ubuntu11.6-31.6-31.6-2
> beam (UP)
> beat (UP)
> buoy (PTS,UP) 1.6-21.9-11.9-1 1.9-11.9-11.8-11.6-2
> cartoweb (UP)
> cgal (PTS,UP)
> 3.2.1-23.3.1-43.3.1-4 3.3.1-2ubuntu13.3.1-2ubuntu13.3.1-2ubuntu13.3-2
> chameleon-gis (UP)
> deegree (UP)
> demeter (UP)
> drawmap (PTS,UP) 2.5-22.5-32.5-3 2.5-32.5-32.5-32.5-32.5-1.1
> e00compr (PTS,UP) 1.0.0-61.0.0-71.0.0-7 1.0.0-71.0.0-71.0.0-61.0.0-61.0.0-2
> earth3d (PTS,UP)
> 1.0.5-11.0.5-1.11.0.5-1.1 1.0.5-1.11.0.5-1.11.0.5-11.0.5-11.0.4-1
> efoto (UP)
> fdo (UP)
> garmin-utils (UP)
> gdal (PTS,TODO,UP)
> 1.3.2-41.5.2-31.5.2-31.5.2-3~bpo40+11.5.2-31.5.2-21.4.4-1ubuntu31.4.1-6build11.2.6-1.3build1
> geoinformatica (UP)
> geoip (PTS,UP)
> 1.3.17-1.11.4.4.dfsg-31.4.4.dfsg-31.4.4.dfsg-1~bpo40+11.4.4.dfsg-31.4.4.dfsg-21.4.4.dfsg-11.3.17-1.11.3.14-2
> geojasper (UP)
> geopy (UP)
> geos (PTS,UP) 2.2.3-33.0.0-53.0.0-5 3.0.0-53.0.0-52.2.3-42.2.3-32.1.4-2
> geotools (UP)
> gmap (UP)
> gmt (PTS,UP)
> 4.1.2-1.14.3.1-34.3.1-3 4.3.1-34.3.1-34.2.0-1build14.1.4-0ubuntu14.0-2build1
> gosmore (PTS,UP)
>  0.0.0.20080704-10.0.0.20080704-1 0.0.0.20080704-10.0.0.20070901-30.0.0.20070901-2.1build1
> gpsbabel (PTS,UP)
> 1.3.2-21.3.5-1.11.3.5-1.1 1.3.5-1.11.3.5-0ubuntu11.3.3-21.3.3-21.2.7-1
> gpsd (PTS,UP)
> 2.33-4etch12.37-62.37-72.37-6~bpo40+12.37-62.37-42.36-22.33-52.30-1ubuntu3
> gpsdrive (PTS,TODO,UP)
> 2.09-2.12.10~pre4-6.dfsg-12.10~pre4-6.dfsg-1 2.10~pre4-6.dfsg-1ubuntu12.10~pre4-32.10~pre4-12.09-2.22.09-2ubuntu1
> gpsman (PTS,UP) 6.3.1-16.3.2-16.4-1 6.3.2-16.3.2-16.3.2-16.3.2-16.2.1-1
> gpstrans (PTS,UP)  0.41-10.41-1 0.41-10.40-3.10.40-3.10.40-20.39-3
> gpx2shp (PTS,UP) 0.69-20.69-30.69-3 0.69-30.69-30.69-30.69-20.69-1
> grace (PTS,UP)
> 1:5.1.20-51:5.1.22-11:5.1.22-1 1:5.1.22-11:5.1.22-11:5.1.21-1build11:5.1.21-11:5.1.18-4ubuntu1
> grace6 (PTS,UP)
> 5.99.1+dev4-35.99.1+dev4-5.15.99.1+dev4-5.1 5.99.1+dev4-5.15.99.1+dev4-5.15.99.1+dev4-4build15.99.1+dev4-35.99.0+final-9ubuntu3
> grass (PTS,TODO,UP)
> 6.0.2-66.2.3-2.16.2.3-2.16.2.3-2.1~bpo40+16.2.3-2.16.2.3-2.16.2.2-2ubuntu16.2.2-1ubuntu16.0.1-1ubuntu2
> gts (PTS,UP)
> 0.7.6-1.10.7.6+darcs080704-20.7.6+darcs080704-2 0.7.6+darcs080704-20.7.6-1.10.7.6-1.10.7.6-1.10.7.3-2
> gvsig (UP)
> h5utils (PTS,UP)
> 1.10-51.10-71.10-7 1.10-7ubuntu21.10-7ubuntu21.10-7ubuntu11.10-71.10-3
> hdf5 (PTS,UP)
> 1.6.5-31.6.6-41.6.6-4 1.6.6-4ubuntu11.6.6-4ubuntu11.6.5-5.2build11.6.5-51.6.4-4
> ircmarkers (PTS,UP) 0.12-10.14-10.14-1 0.14-10.14-10.13-10.12-10.8-1
> jama (PTS,UP) 1.0.2-21.0.2-21.0.2-2 1.0.2-21.0.2-21.0.2-21.0.2-21.0.2-2
> jgrass (UP)
> josm (PTS,UP)
>  0.0.0.20080713-10.0.0.20080713-1 0.0.0.20080713-1ubuntu10.0.0.20080713-1ubuntu10.0.0.20080330-1
> josm-plugins (PTS,UP)
>  0.0.0.20080413-20.0.0.20080413-2 0.0.0.20080413-20.0.0.20080413-2
> jts (PTS,UP) 1.6-21.7-11.7-1 1.7-11.7-11.7-11.7-11.6-2
> jump (UP)
> kflog (PTS,UP) 2.1.1-3.1      2.1.1-3.12.1.1-3ubuntu2
> libgdal-grass (PTS,UP)
> 1.3.2-11.5.2-11.5.2-11.5.2-1~bpo40+11.5.2-11.5.2-11.4.4-11.4.1-1ubuntu11.2.6-1build1
> libgeotiff-dfsg (PTS,UP)  1.2.4-31.2.4-3 1.2.4-31.2.4-31.2.4-3
> libgeotiff-epsg (PTS,UP)  1.2.4-31.2.4-3 1.2.4-31.2.4-31.2.4-3
> libhdf4 (PTS,UP)
> 4.1r4-18.14.1r4-224.1r4-22 4.1r4-224.1r4-224.1r4-214.1r4-214.1r4-18.1ubuntu1
> libjogl-java (PTS,UP)
>  1.1.1-11.1.1+dak1-4 1.1.1+dak1-1ubuntu21.1.1-2ubuntu1
> libkml (UP)
> liblas (UP)
> libterralib (PTS,UP) 3.0.3b2-3.1      3.0.3b2-3.1build13.0.3b2-3
> mapbender (UP)
> mapguide (UP)
> mapit (WNPP,UP)
> mapnik (PTS,UP)
>  0.5.1-30.5.1-30.5.1-1~bpo40+10.5.1-3ubuntu10.5.1-2ubuntu10.4.0-20.4.0-2
> mapserver (PTS,UP)
> 4.10.0-5.1+etch25.0.3-35.0.3-3 5.0.3-35.0.3-25.0.0-34.10.3-14.6.1-6ubuntu2
> marble (PTS,UP)
>  0.6+svn837399-20.6+svn837399-20.4.3-2~bpo40+1  0.4.3-20.4.3-1build1
> mkgmap (PTS,UP)  0.0.0+svn630-10.0.0+svn630-1 0.0.0+svn630-1
> musmap (WNPP,UP)
> netcdf (PTS,UP)
> 3.6.1-11:3.6.2-3.11:3.6.2-3.1 1:3.6.2-3.11:3.6.2-3.11:3.6.2-23.6.1-13.6.0+3.6.1-beta3-0ubuntu1
> netcdf-perl (PTS,UP) 1.2.1-8      1.2.3-11.2.1-7ubuntu1
> ogdi-dfsg (PTS,UP)
>  3.2.0~beta1-3.13.2.0~beta1-3.13.2.0~beta1-3~bpo.13.2.0~beta1-3.13.2.0~beta1-3.13.2.0~beta1-3ubuntu13.2.0~beta1-3ubuntu1
> opencv (PTS,UP)
> 0.9.7-41.0.0-6.11.0.0-6.1 1.0.0-6.1build11.0.0-6.11.0.0-4ubuntu11.0.0-3ubuntu30.9.6-4.1build1
> openev (WNPP,UP)
> openjump (PTS,UP) 1.0-21.0-31.0-3 1.0-31.0-31.0-31.0-2
> openscenegraph (PTS,UP)
> 1.2.0-22.4.0-1.12.4.0-1.1 2.4.0-1.12.4.0-1.12.2.0-2ubuntu21.2.0-4build10.9.9-7ubuntu5
> opticks (UP)
> orfeo (UP)
> osm2pgsql (PTS,UP)
>  0.52.20080408-20.52.20080408-20.52.20080408-2~bpo40+10.52.20080408-2build10.52.20080408-2build10.08.20071007-1
> ossim (UP)
> paraview (PTS,UP)  3.2.2-13.2.3-4 3.2.3-4ubuntu13.2.2-1
> postgis (PTS,UP) 1.1.6-21.3.3-31.3.3-3 1.3.3-31.3.3-31.3.3-11.2.1-21.0.0-1
> primagis (UP)
> proj (PTS,TODO,UP)
> 4.4.9d-24.6.0-24.6.0-24.6.0-1~bpo40+14.6.0-24.6.0-14.6.0-14.5.0-24.4.9d-2
> pygps (UP)
> python-pcl (UP)
> python-scientific (PTS,UP)
> 2.4.11-12.4.11-22.4.11-2 2.4.11-22.4.11-1.22.4.11-1ubuntu32.4.11-1ubuntu12.4.9-3ubuntu2
> qgis (PTS,UP) 0.7.4-5      0.8.0-5ubuntu20.7.4-2ubuntu1
> roadmap (WNPP,UP)
> roadnav (WNPP,UP)
> roadster (UP)
> savi (WNPP,UP)
> shapelib (PTS,UP)
> 1.2.10-31.2.10-4.11.2.10-4.1 1.2.10-4.11.2.10-41.2.10-31.2.10-31.2.10-3
> thuban (PTS,UP)
> 1.0.1-1.21.2.0-2.11.2.0-2.1 1.2.0-2.1ubuntu11.2.0-2.1ubuntu11.2.0-2.1ubuntu11.2.0-21.0.0-1ubuntu5
> udig (UP)
> viking (PTS,UP)  0.9.6-20.9.6-20.9.4-1~bpo40+10.9.6-20.9.6-20.9.3-2build1
> worldwind (PTS,UP)  0.5.0-10.5.0-6 0.5.0-60.5.0-1
> worldwind2d (WNPP,UP)
>
> Color legend
>
>
> Ubuntu version >= Debian
>
> Ubuntu behind Debian unstable
>
> Not packaged
>
> Obsolete
>
> Status at: Mon Jan 5 20:27:47 2009
>
> See also the .
>
> Generated by a derivative of this GPL licensed perl script
>
> written by: Francesco P. Lovergine for DebianGis use.
>
> #!/usr/bin/perl
> #
> #       dgis-status.pl - UbuntuGIS/DebianGis packages status script
> #
> #       $Id: dgis-status.pl 1145 2007-10-01 11:45:09Z frankie $
> #
> #       Copyright 2005-2007 (C) Francesco P. Lovergine <frankie@xxxxxxxxxx>
> #
> #       This program is free software; you can redistribute it and/or modify
> #       it under the terms of the GNU General Public License as published by
> #       the Free Software Foundation; either version 2 of the License, or
> #       (at your option) any later version.
> #
> #       This program is distributed in the hope that it will be useful,
> #       but WITHOUT ANY WARRANTY; without even the implied warranty of
> #       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> #       GNU General Public License for more details.
> #
> #       You should have received a copy of the GNU General Public License
> #       along with this program; if not, write to the Free Software
> #       Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
>  USA
> #
> #       On Debian GNU/Linux GPL is available under
> /usr/share/common-licenses
> #
> #       Installation:
> #       On a Debian based system,
> #         apt-get install libsvn-perl libcache-apt-perl
> #
> #       Authors:
> #         Francesco P. Lovergine (original author of dgis-status.pl)
> #         Cameron Shorter (extended to Ubuntu)
> #
>
> use strict 'vars';
>
> use Getopt::Std;
> use FileHandle;
> use SVN::Client;
>
> use AptPkg::Config '$_config';
> use AptPkg::System '$_system';
> use AptPkg::Version;
>
> getopts('odhvf:');    # -o option: only do difference (no wget)
> our ( $opt_o, $opt_h, $opt_v, $opt_b, $opt_c, $opt_d, $opt_f );
>
> #push @INC, $ENV{'HOME'}."/pkg-grass/scripts";
> push @INC, $ENV{'HOME'} . "work/ubuntugis/pkg-grass/scripts";
>
> my $_stable   = "fred";
> my $_unstable = "fred";
> my $_ubuntu   = "fred";
> my $_testing  = "fred";
> my $svn_repo  = "svn://svn.debian.org/pkg-grass";
> my $web_repo  = "http://svn.debian.org/wsvn/pkg-grass";;
>
> require "dgis-packages.inc";
>
> my %wget = (
>  'quiet'   => 'wget --passive-ftp --quiet -O ',
>  'verbose' => 'wget --passive-ftp -O '
> );
> my %gunzip =
>  ( 'quiet' => 'gunzip --force --quiet ', 'verbose' => 'gunzip --force' );
> my %paths = (
>  'stable' => [
>  "http://ftp.nl.debian.org/debian/dists/stable/main/source/";,
>  "http://ftp.nl.debian.org/debian/dists/stable/non-free/source/";,
>  "http://ftp.it.debian.org/debian/dists/stable/contrib/source/";
>  ],
>  'testing' => [
>  "http://ftp.nl.debian.org/debian/dists/testing/main/source/";,
>  "http://ftp.nl.debian.org/debian/dists/testing/non-free/source/";,
>  "http://ftp.it.debian.org/debian/dists/testing/contrib/source/";
>  ],
>  'unstable' => [
>  "http://ftp.nl.debian.org/debian/dists/unstable/main/source/";,
>  "http://ftp.nl.debian.org/debian/dists/unstable/non-free/source/";,
>  "http://ftp.it.debian.org/debian/dists/unstable/contrib/source/";
>  ],
>  'bpo' => [
>  "http://www.backports.org/debian/dists/etch-backports/main/source/";,
>  "http://www.backports.org/debian/dists/etch-backports/non-free/source/";,
>  "http://www.backports.org/debian/dists/etch-backports/contrib/source/";
>  ],
>  'jaunty' => [
>  "http://archive.ubuntu.com/ubuntu/dists/jaunty/main/source/";,
>  "http://archive.ubuntu.com/ubuntu/dists/jaunty/multiverse/source/";,
>  "http://archive.ubuntu.com/ubuntu/dists/jaunty/restricted/source/";,
>  "http://archive.ubuntu.com/ubuntu/dists/jaunty/universe/source/";
>  ],
>  'intrepid' => [
>  "http://archive.ubuntu.com/ubuntu/dists/intrepid/main/source/";,
>  "http://archive.ubuntu.com/ubuntu/dists/intrepid/multiverse/source/";,
>  "http://archive.ubuntu.com/ubuntu/dists/intrepid/restricted/source/";,
>  "http://archive.ubuntu.com/ubuntu/dists/intrepid/universe/source/";
>  ],
>  'hardy' => [
>  "http://archive.ubuntu.com/ubuntu/dists/hardy/main/source/";,
>  "http://archive.ubuntu.com/ubuntu/dists/hardy/multiverse/source/";,
>  "http://archive.ubuntu.com/ubuntu/dists/hardy/restricted/source/";,
>  "http://archive.ubuntu.com/ubuntu/dists/hardy/universe/source/";
>  ],
>  'gutsy' => [
>  "http://archive.ubuntu.com/ubuntu/dists/gutsy/main/source/";,
>  "http://archive.ubuntu.com/ubuntu/dists/gutsy/multiverse/source/";,
>  "http://archive.ubuntu.com/ubuntu/dists/gutsy/restricted/source/";,
>  "http://archive.ubuntu.com/ubuntu/dists/gutsy/universe/source/";
>  ],
>  'dapper' => [
>  "http://archive.ubuntu.com/ubuntu/dists/dapper/main/source/";,
>  "http://archive.ubuntu.com/ubuntu/dists/dapper/multiverse/source/";,
>  "http://archive.ubuntu.com/ubuntu/dists/dapper/restricted/source/";,
>  "http://archive.ubuntu.com/ubuntu/dists/dapper/universe/source/";
>  ],
> );
> my @versions = (
>  "stable", "testing", "unstable", "bpo", "jaunty", "intrepid",
>  "hardy",  "gutsy",   "dapper"
> );
> my $ubuntuVer = "jaunty";
> my $sources   = "Sources";
> my $sourcesgz = "$sources.gz";
> my $verbose   = 0;
>
> my $debug = $opt_d;
> my $verbose = $opt_v ? 'verbose' : 'quiet';
>
> if ($opt_h) {
>  print STDERR <<EOT;
> usage:   $0 [-odvh]
> options:
> -h this help...
> -o ONLY calculate differences on local files (don't wget Sources.gz)
> -d debug
> -v verbose
> EOT
>  exit;
> }
>
> sub GetSvnUrl {
>  my ( $source_package, $file_name ) = @_;
>
>  eval {
>  my $client =
>    SVN::Client->new( auth => [ SVN::Client::get_simple_provider() ] );
>  my $dirent =
>    $client->ls(
> "$svn_repo/packages/$source_package/trunk/debian/$file_name",
>   'HEAD', 1 );
>  };
>  return undef if $@;
>  return
> "$web_repo/packages/$source_package/trunk/debian/$file_name?op=file&rev=0&sc=0";
> }
>
> unless ($opt_o) {    # Skip wget if -o option "only difference"
>  for my $s ( keys %paths ) {
>  unlink "$s.$sources" if -f "$s.$sources";
>  for my $i ( 0 .. $#{ $paths{$s} } ) {
>   system("$wget{$verbose} $s.$sourcesgz $paths{$s}->[$i]/$sourcesgz");
>   system("$gunzip{$verbose} -c $s.$sourcesgz >> $s.$sources")
>     if -f "$s.$sourcesgz";
>   unlink "$s.$sourcesgz" if -f "$s.$sourcesgz";
>  }
>  }
> }
>
> #system("$wget{$verbose} bugs.txt
> http://merkel.debian.org/~hertzog/pts/bugs.txt";);
>
> my %files    = undef;
> my %dgishash = undef;
> my %tot_pkgs = undef;
>
> for my $s ( keys %paths ) {
>  $files{$s} = new FileHandle "<$s.$sources";
>  die "Cannot open $s: $!\n" if !defined $files{$s};
>  IO::Handle->input_record_separator("\n\n");
>  binmode $files{$s}, ":unix"
>   if $] > 5.007;    # To avoid UTF-8 interpretation as in perl 5.8...
> }
>
> for my $p ( keys %main::dgislist ) { $dgishash{$p} = {}; }
>
> for my $s ( keys %paths ) {
>  $tot_pkgs{$s} = 0;
>  my $F = $files{$s};
>  while (<$F>) {
>  if (/Package:\s(\S+).*\nVersion:\s(\S+)/s) {
>   my $package = $1;
>   my $version = $2;
>   if ( defined $dgishash{$package} ) {
>    $dgishash{$package}->{$s} = "$version";
>   }
>  }
>  $tot_pkgs{$s}++;
>  }
> }
>
> print <<EOF;
> <!doctype html public "-//w3c//dtd html 4.01//en"
> "http://www.w3.org/tr/html4/strict.dtd";>
> <html>
>  <style type="text/css">
> <!--
> table.pkg {
>        border-collapse: collapse;
> }
> .pkg th, .pkg td {
>        text-align: left;
>        border: 1px solid black;
>        padding: 0.2em;
> }
> .pkg thead {
>        background-color: silver;
>        color: #000000;
> }
> table.pkg tr.title {
>        color: #ffffff;
>        background-color: #df0451;
> }
>
> /* orange */
> table.pkg tr.ubuntuOutOfDate {
>        color: #000000;
>        background-color: #f09005;
> }
>
> /* white */
> table.pkg tr.unpackaged {
>        color: #000000;
>        background-color: #ffffff;
> }
>
> /* yellow */
> table.pkg tr.debianOutOfDate {
>        color: #000000;
>        background-color: #f0f005;
> }
>
> /* green */
> table.pkg tr.upToDate {
>        color: #000000;
>        background-color: #a0f005;
> }
>
> /* red */
> table.pkg tr.obsolete {
>        color: #000000;
>        background-color: #f03000;
> }
> table.pkg tr.othered {
>        color: #000000;
>        background-color: #dc5858;
> }
> -->
> </style>
>   <head>
>      <title>DebianGIS/UbuntuGIS Package Thermometer</title>
>   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
>   </head>
> <body>
> <p><a href="https://wiki.ubuntu.com/UbuntuGIS";>UbuntuGIS home page</a>.</p>
> <table border=0 cellspacing=10 cellpadding=5>
> <tr><td valign=top>
>
> <table class='pkg'>
> <caption><h3>DebianGIS/UbuntuGIS Package Thermometer</h3></caption>
> <tr class='title'>
> <TH>Package</TH>
> EOF
>
> for my $v (@versions) {
>  print("<TH>$v</TH>");
> }
> print("</tr>");
>
> $_config->init;
> $_system = $_config->system;
>
> my $vs = $_system->versioning;
>
> for my $p ( sort keys %dgishash ) {
>  next unless $p;
>  for my $s ( keys %paths ) {
>  $dgishash{$p}->{$s} = "&nbsp;" unless $dgishash{$p}->{$s};
>  }
>  my $p_url    = "<strong>$p</strong>";
>  my $tr_class = "class='upToDate'";
>  my $pkg_url  = $main::dgislist{$p}->{url};
>  my $todo_url = &GetSvnUrl( $p, 'TODO' );
>  if ($dgishash{$p}->{stable} ne "&nbsp;"
>  || $dgishash{$p}->{unstable} ne "&nbsp;" )
>  {
>  $p_url .= " (<a href='http://packages.qa.debian.org/$p'>PTS</a>,";
>  }
>  else {
>  $p_url .= " (" if $pkg_url;
>  my $pkg_wnpp = $main::dgislist{$p}->{wnpp};
>  $p_url .= "<a href='http://bugs.debian.org/$pkg_wnpp'>WNPP</a>,"
>    if $pkg_wnpp;
>  }
>  $p_url .= "<a href='$todo_url'>TODO</a>," if $todo_url;
>  $p_url .= "<a href='$pkg_url'>UP</a>)"    if $pkg_url;
>
>  # Set row color based on version status
>
>  $_stable   = $dgishash{$p}->{stable};
>  $_unstable = $dgishash{$p}->{unstable};
>  $_testing  = $dgishash{$p}->{testing};
>  $_ubuntu   = $dgishash{$p}->{$ubuntuVer};
>
>  $tr_class = "class='unpackaged'";
>
>  # UpToDate
>  if ($dgishash{$p}->{$ubuntuVer} ne "&nbsp;"
>  && $dgishash{$p}->{$ubuntuVer} ge $dgishash{$p}->{unstable} )
>  {
>  $tr_class = "class='upToDate'";
>  }
>
>  # debianOutOfDate
>  #if (
>  #  $dgishash{$p}->{unstable} ne "&nbsp;"
>  #   && $dgishash{$p}->{unstable} ne $dgishash{$p}->{stable}
>  #) {
>  #        $tr_class = "class='debianOutOfDate'";
>  #}
>
>  # ubuntuOutOfDate
>  if (
>  $dgishash{$p}->{unstable} ne "&nbsp;"
>  && ($dgishash{$p}->{$ubuntuVer} lt $dgishash{$p}->{unstable}
>   || $dgishash{$p}->{ubuntuVer} eq "&nbsp;" )
>   )
>  {
>  $tr_class = "class='ubuntuOutOfDate'";
>  }
>
>  # obsolete
>  if ($dgishash{$p}->{unstable} eq "&nbsp;"
>  && $dgishash{$p}->{stable} ne "&nbsp;" )
>  {
>  $tr_class = "class='obsolete'";
>  }
>
>  # unpackaged
>  if ($dgishash{$p}->{stable} eq "&nbsp;"
>  && $dgishash{$p}->{unstable}   eq "&nbsp;"
>  && $dgishash{$p}->{testing}    eq "&nbsp;"
>  && $dgishash{$p}->{$ubuntuVer} eq "&nbsp;" )
>  {
>  $tr_class = "class='unpackaged'";
>  }
>
> #        # UpToDate
> #       if (
> #          $dgishash{$p}->{stable} ne "&nbsp;"
> #          &&
> $vs->compare($dgishash{$p}->{stable},$dgishash{$p}->{unstable}) > 0
> #          && $vs->compare($dgishash{$p}->{stable},$dgishash{$p}->{testing})
>> 0
> #          &&
> $vs->compare($dgishash{$p}->{stable},$dgishash{$p}->{$ubuntuVer}) > 0
> #        ) {
> #               $tr_class = "class='upToDate'";
> #       }
> #
> #        # debianOutOfDate
> #       if (
> #          $dgishash{$p}->{unstable} ne "&nbsp;"
> #          &&
> $vs->compare($dgishash{$p}->{unstable},$dgishash{$p}->{stable}) > 1
> #        ) {
> #               $tr_class = "class='debianOutOfDate'";
> #       }
> #
> #        # ubuntuOutOfDate
> #       if (
> #          $dgishash{$p}->{unstable} ne "&nbsp;"
> #          &&
> $vs->compare($dgishash{$p}->{unstable},$dgishash{$p}->{$ubuntuVer}) > 1
> #        ) {
> #               $tr_class = "class='ubuntuOutOfDate'";
> #       }
> #
> #        # obsolete
> #       if (
> #          $dgishash{$p}->{unstable} eq "&nbsp;"
> #          && $dgishash{$p}->{stable} ne "&nbsp;"
> #        ) {
> #               $tr_class = "class='obsolete'";
> #       }
> #
> #        # unpackaged
> #       if (
> #          $dgishash{$p}->{stable} eq "&nbsp;"
> #          && $dgishash{$p}->{unstable} eq "&nbsp;"
> #          && $dgishash{$p}->{test} eq "&nbsp;"
> #          && $dgishash{$p}->{$ubuntuVer} eq "&nbsp;"
> #        ) {
> #               $tr_class = "class='unpackaged'";
> #       }
>
> #       if ( $dgishash{$p}->{unstable} ne "&nbsp;" &&
> $dgishash{$p}->{stable} eq "&nbsp;" ) {
> #               $tr_class = "class='upToDate'";
> #       }
> #       if ( $dgishash{$p}->{unstable} eq "&nbsp;" &&
> $dgishash{$p}->{stable} eq "&nbsp;" ) {
> #               $tr_class = "class='debianOutOfDate'";
> #       }
> #       if ( $dgishash{$p}->{unstable} ne "&nbsp;" &&
> $dgishash{$p}->{stable} ne "&nbsp;" &&
> #            $vs->compare($dgishash{$p}->{unstable},$dgishash{$p}->{stable})
>> 0 ) {
> #               $tr_class = "class='ubuntuOutOfDate'";
> #       }
> #       if ( $dgishash{$p}->{unstable} ne "&nbsp;" &&
> $dgishash{$p}->{testing} ne "&nbsp;" &&
> #
>  $vs->compare($dgishash{$p}->{unstable},$dgishash{$p}->{testing}) > 0 ) {
> #               $tr_class = "class='obsolete'";
> #       }
> #       if ( $dgishash{$p}->{unstable} ne "&nbsp;" &&
> $dgishash{$p}->{testing} eq "&nbsp;" ) {
> #               $tr_class = "class='obsolete'";
> #       }
>  print <<EOF;
> <tr $tr_class>
> <td >$p_url</td>
> EOF
>  for my $v (@versions) {
>  print("<td >$dgishash{$p}->{$v}</td>");
>  }
>  print("</tr>");
> }
>
> my $now = gmtime;
>
> print <<EOF;
> </table>
> </td>
>
> <td valign=top>
> </table>
> <table border=0>
> <caption><h3>Color legend</h3></caption>
>
> <tr>
> <td>
> <table class='pkg'>
> <tr class='upToDate'>
> <td>&nbsp;</td>
> </tr>
> </table>
> </td>
> <td>
> <small>Ubuntu version >= Debian</small>
> </td>
> </tr>
>
> <tr>
> <td>
> <table class='pkg'>
> <tr class='ubuntuOutOfDate'>
> <td>&nbsp;</td>
> </tr>
> </table>
> </td>
> <td>
> <small>Ubuntu behind Debian unstable</small>
> </td>
> </tr>
>
> <tr>
> <td>
> <table class='pkg'>
> <tr class='unpackaged'>
> <td>&nbsp;</td>
> </tr>
> </table>
> </td>
> <td>
> <small>Not packaged</small>
> </td>
> </tr>
>
> <tr>
> <td>
> <table class='pkg'>
> <tr class='obsolete'>
> <td>&nbsp;</td>
> </tr>
> </table>
> </td>
> <td>
> <small>Obsolete</small>
> </td>
> </tr>
>
> </td>
> </tr>
> </table>
>        <p>Status at: $now</p>
>        <p>See also the <a
> href="http://pkg-grass.alioth.debian.org/debiangis-status.html"DebianGis
> packages thermometer</a>.</p>
>        <p><small>Generated by a derivative of <a
> href="http://svn.debian.org/wsvn/pkg-grass/scripts/dgis-status.pl?op=file&rev=0&sc=0";>this
> GPL licensed perl script</a> </p>
>        <p>written by: <a href="mailto:frankie\@debian.org";>Francesco P.
> Lovergine</a> for DebianGis use.</small></p>
> </body>
> </htmL>
>
> EOF
>
>



-- 
Cameron Shorter
Geospatial Systems Architect
Tel: +61 (0)2 8570 5050
Mob: +61 (0)419 142 254

Think Globally, Fix Locally
Commercial Support for Geospatial Open Source Solutions
http://www.lisasoft.com/LISAsoft/SupportedProducts.html



Follow ups