[Pkg-postgresql-private] virtual packages for Sarge?

Oliver Elphick olly@lfix.co.uk
Tue, 02 Nov 2004 10:19:53 +0000


On Tue, 2004-11-02 at 10:13 +0100, Martin Pitt wrote:
> Hi!
> 
> I'd like to upload 7.4.6-3 soon, but before I do that I would like to
> make sure that the current package is in shape for Sarge and, in
> particular, will allow us to switch to the multiversion architecture
> in Sarge + 1.
> 
> When upgrading to Sarge+1 we can assume that 7.4 is present (in
> package postgresql), so we want to keep that version by default. It
> should be possible to install 8.0 in parallel.
> 
> To make this upgrading smooth, we probably have to introduce some
> virtual package names in the Sarge version (like Provides:
> postgresql-74). Oliver, do you already have a concrete idea for this?
> BTW, if your multiversion architecture is half-working, would you mind
> to upload it to experimental? Then it can already pass the NEW queue
> and we can play with it.


I get moments here and there when I have time to do things! and I picked
it up again last week.  I realised that the main packaging problem I
face is how to arrange the libraries and development packages.

Here's what I think the package structure will be:

postgresql  --  Depends:  postgresql7.4 (dummy package to force upgrade)

postgresql-common

postgresql7.2  --  Depends:  postgresql-common, postgresql7.2-client
postgresql7.3  --  Depends:  postgresql-common, postgresql7.3-client
postgresql7.4  --  Provides: postgresql 
                   Depends:  postgresql-common, postgresql7.4-client
postgresql8.0  --  Provides: postgresql
                   Depends:  postgresql-common, postgresql8.0-client

postgresql7.2-contrib  --  Depends: postgresql7.2
postgresql7.3-contrib  --  Depends: postgresql7.3
postgresql7.4-contrib  --  Depends: postgresql7.4
postgresql8.0-contrib  --  Depends: postgresql8.0

postgresql7.2-client  -- Depends: postgresql-common, libpgsql2
postgresql7.3-client  -- Depends: postgresql-common, libpq3
postgresql7.4-client  -- Depends: postgresql-common, libpq3.1
postgresql8.0-client  -- Depends: postgresql-common, libpq3.2

postgresql7.2-doc
postgresql7.3-doc
postgresql7.4-doc
postgresql8.0-doc

libpgsql2         -- from 7.2
libpq3            -- from 7.3
libpq3.1          -- from 7.4
libpq3.2          -- from 8.0

postgresql-dev    -- from 8.0;  Depends: libpq3.2

libecpg3          -- from 7.2
libecpg4          -- from 7.4
libecpg4.2        -- from 8.0;  Depends: libpq3.2

libecpg-dev       -- from 8.0;  Depends: libecpg4.2, postgresql-dev

pgxs7.4     -- provides source tree for packages like Slony-I
pgxs8.0     -- which are intimately associated with a particular build

This scheme provides server, client and libpq library for each supported
version.  The development packages are for the latest version only
I don't know what to do about things like libpgtcl and libpgperl which
are in woody.  My inclination is to abandon them.

-- 
Oliver Elphick                                          olly@lfix.co.uk
Isle of Wight                              http://www.lfix.co.uk/oliver
GPG: 1024D/A54310EA  92C8 39E7 280E 3631 3F0E  1EC0 5664 7A2F A543 10EA
                 ========================================
     "Fear none of those things which thou shalt suffer; 
      behold, the devil shall cast some of you into prison, 
      that ye may be tried; and ye shall have tribulation 
      ten days; be thou faithful unto death, and I will give
      thee a crown of life."           Revelation 2:10