[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

PostgreSQL upgrade from slink - proposed solution



Summary of the problem: postgresql needs to use the binaries of the previous
release to make a dump of the database, if the old database version is built
by an earlier release.  However, those binaries are no longer available
by the time postgresql knows they are needed, because apt is likely to
delete the old package before installing the new one.  6.5.3-18 and later
handle this by saving the binaries in their prerm.  However slink does not
have this feature, and it is too late to introduce it.  This is likely
to lead to upgrade problems from slink to potato.

Proposed solution: postgresql must depend on a package that contains only
the old binaries.  These will have to be collected for each architecture
and the package will contain uuencoded versions.  This package will
be called postgresql-slink.  In view of library changes from slink to
potato, I will probably have to build this on a potato system from 6.3.2
source; alternatively, it will have dependencies on the slink library
versions (is that feasible?).

The postinst of postgresql will look for binaries presaved by the old
package.  If it does not find them, it will look for a uuencoded version
from postgresql-slink.  If it doesn't find those, it will try to use ones
copied by the preinst.

This expedient will be used only for slink to potato upgrading.
postgresql 6.5.3-19 will depend on postgresql-slink.  postgresql 7.0-final-1
and later will not.

Comments please.

-- 
Oliver Elphick                                Oliver.Elphick@lfix.co.uk
Isle of Wight                              http://www.lfix.co.uk/oliver
               PGP key from public servers; key ID 32B8FAA1
                 ========================================
     "O come, let us worship and bow down; let us kneel
      before the LORD our maker."          Psalms 95:6 




Reply to: