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

Re: Woody to Sarge upgrade and Debian menu.



On Tue, Jan 11, 2005 at 05:10:23PM +0100, Bill Allombert wrote:
> Adam C Powell IV has reported a problem (bug #289702) when upgrading
> from Woody to Sarge.

> Background:
> The packages below in woody had buggy postinst/postrm scripts that does
> not check whether update-menus was executable before calling it:

> ghostview gwm joe vim-gtk vim-perl vim-python vim-ruby vim-tcl vim xodo
> xvier wn

> (I believe the list is complete)

> update-menus is shipped as non-executable in the deb and made executable
> in the postinst. This is meant to avoid other postinst script to call
> it while menu is unpacked but not configured.

> In the above list, ghostview and gwm have been removed from Sarge, so
> there is no way to fix their maintainers scripts.

> Adam proposed I change menu to Conflicts with ghostview and gwm to
> prevent them to be removed when menu is unpacked but not configured.

> Do you think this will work ? I tried to reproduce the situation in
> a sandbox but the problem did not show up (due to different packages
> ordering by apt).

> Alternatively I can ship update-menus executable in the final release
> for sarge. The risk being that some dependencies of update-menus is
> not configured when update-menus is run. However with the curent
> dependency the risk might be low:

> Depends: libc6 (>= 2.3.2.ds1-4), libgcc1 (>= 1:3.4.1-3), libstdc++5 (>=
> 1:3.3.4-1), dpkg (>= 1.10)

> So what would you advise me to do ?

Of these packages, one is essential and one is virtually essential.  The
other two (libgcc1 and libstdc++5) are neither; although in this case they
*should* work just fine in a half-configured state, that seems like a hairy
solution.

I had a quick look at policy's description of maintainer script behavior
and confirmed that a simple Conflict with the obsoleted packages from woody
would ensure that they would be removed while the old version of menu was
still in a configured state.  So as long as you don't mind conflicting with
obsoleted packages from woody (and this seems fine to me), this is a viable
option.

What solution do you plan to use for handling broken woody prerms of
packages that *aren't* obsoleted in sarge?  Versioned << Confilcts are
discouraged in policy, because they make for messy upgrades (c.f. kde).

I think the idea of always having an executable, functional
/usr/bin/update-menus script in place (even if it's just a shell wrapper
that checks the executability of the real program) also has merit as a means
of disposing of these bugs; the current policy has always seemed a little
too easy to get wrong...

-- 
Steve Langasek
postmodern programmer

Attachment: signature.asc
Description: Digital signature


Reply to: