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

Re: are packages with diversions not downgradeable?



tag 237509 + wontfix
thanks

(There is no "cantfix" tag.)

On Thu, Mar 11, 2004 at 02:44:35AM -0500, Branden Robinson wrote:
> [I am not subscribed to debian-dpkg; please reply to -devel as well.]
> 
> Here's a transcript of me testing xft 2.1.2-6, which gets rid of some
> diversions.
> 
> As you can see, I ran into some problems when upgrading libxft-dev
> 2.1.2-5 (which used dpkg-divert) to libxft-dev 2.1.2-6 (which removes
> them), then downgrading to 2.1.2-5 and trying to re-upgrade to 2.1.2-6.
> 
> Am I using diversions wrong?  Is this a bug in dpkg-divert?

I tried making libxft-dev declare a version Conflicts with itself (<<
2.1.2-6), to see if that would persuade dpkg to remove the previous
version before running the current libxft-dev's preinst script.  dpkg
ignored the declared relationship.

I tried moving the diversion removals to the postinst script insted of
the preinst script; that made no difference.

There appears to be no clean fix for this at the package level.  It's
impossible for a package to undivert renamed files without declaring a
conflict with all other packages that provide it.

If your package makes diversions, I guess you're supposed to
unconditionally remove all of them in your prerm script.

Andrew Suffield suggested on IRC that diversions might be better handled
with a special binary package control file (a la DEBIAN/conffiles), and
diversion handling moved into dpkg itself.

Given that this bug only affects upgrades from libxft-dev 2.1.2-[1-5]
(which weren't in woody), I am going to let it go unfixed.  If it
affects you, the workaround is to "dpkg -r libxft-dev" before installing
libxft-dev >= 2.1.2-6.

-- 
G. Branden Robinson                |    The best place to hide something is
Debian GNU/Linux                   |    in documentation.
branden@debian.org                 |    -- Ethan Benson
http://people.debian.org/~branden/ |

Attachment: signature.asc
Description: Digital signature


Reply to: