Re: programmatic way to fetch latest release for a given major.minor version - Mailing list pgsql-general

From Magnus Hagander
Subject Re: programmatic way to fetch latest release for a given major.minor version
Date
Msg-id 20070410081558.GB24976@svr2.hagander.net
Whole thread Raw
In response to Re: programmatic way to fetch latest release for a given major.minor version  (Dave Page <dpage@postgresql.org>)
Responses Re: programmatic way to fetch latest release for a given major.minor version  (Dave Page <dpage@postgresql.org>)
List pgsql-general
On Tue, Apr 10, 2007 at 08:36:10AM +0100, Dave Page wrote:
> Andrew Hammond wrote:
> > On 4/9/07, CAJ CAJ <pguser@gmail.com> wrote:
> >> On 9 Apr 2007 14:47:20 -0700, Andrew Hammond
> >> <andrew.george.hammond@gmail.com> wrote:
> >> > I'm writing a script that wants to know the latest release for a given
> >> > major.minor version. Is there some better way than parsing
> >> > http://www.postgresql.org/ftp/source/ or trying to
> >> connect to ftp
> >> > (which is invariably timing out on me today. Is that box getting
> >> > hammered or something?) and doing the parsing that? Both approaches
> >> > feel quite awkward to me.
> >>
> >> Use wget to download via  HTTP (added recently).  Probably wise to add a
> >> couple mirrors in your script.
> >
> > I'm not asking how to download stuff. I'm asking how to figure out the
> > current release number for a given major.minor. I thought that was
> > clear in my original post, but I guess not. For example, how do I
> > determine (programmatically) the lastest version of 8.1.
>
> Currently you can't without parsing pages.

I've been meaning to do this for a while now, and I guess this might be a
good motivator ;-) The idea would, of course, be to build this from a set of
common data with the frontpage of the website, so they're always in sync.
As I see it, there are basically three ways of doing it:

1) Fold it into mirrors.xml. That's going to be a bit hard given how the
schema is (since the root element is mirror), but it would work. Another
downside is that is that people who just want to check the latest version
will have to pull down the whole mirror list file. This file is also
rewritten often, so checks on If-Modified-Since will fail.

2) Create a new file with a specific schema. Something like:
<version>
 <version major="8.2" minor="8.2.3" />
 <version major="8.1" minor="8.1.8" />
</version>
This is the most lightweight solution.

3) Use RSS format. Not exactly sure how it would look, but it can certainly
be done in RSS...


I think I prefer option 2, but what do others think?

//Magnus


pgsql-general by date:

Previous
From: Alban Hertroys
Date:
Subject: Re: No of triggers of one single table
Next
From: Dave Page
Date:
Subject: Re: programmatic way to fetch latest release for a given major.minor version