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

Re: advice sought for fluxbox (release-critical, possible dpkg bug)



also sprach Steve Langasek <vorlon@debian.org> [2005.05.23.1229 +0200]:
> Meh.  This definitely looks like a dpkg bug, and it also explains
> how bug #309485 got to be the way it was.  Well, at least we have
> an explanation now.

#310390

> > A problem arises (#310050) when 0.9.11-* is used to upgrade the
> > woody version. 0.9.11-* does not provide /usr/bin/bsetbg
> > anymore, but 0.1.7-3 is not given a chance to remove it, since
> > on an upgrade, old-postrm/remove is (obvioulsy) not called.
> 
> That part is a fluxbox bug, and not even a bug in the previous
> version but in the current one; you can't remove a diversion for
> a file until you've removed your version of the file, otherwise
> you get a file collision.

If the file was part of the previous package but not of the current
one, I should be able to assume that by the time new-postinst is
called, the file should not be on the disk anymore. Thanks to the
aforementioned dpkg bug, this assumption was false.

fluxbox does not have a bug here. It did what it should, but
dpkg-divert should have no reason to err out on the removal request
here. This is a consequence of dpkg's bug.

> For further fun (and to see the exact bug that libldap2 was tripping
> across), remove blackbox and then un-divert (by hand, in this case) bsetbg.
> You get a nice little file named /usr/bin/bsetbg, which dpkg knows nothing
> about.

I cannot confirm this:

  root@woody:/# dpkg -l fluxbox blackbox | grep ^ii
  ii  fluxbox        0.1.7-3        Highly configurable and low resource X11 Win
  ii  blackbox       0.62.1-1       Window manager for X
  root@woody:/# dpkg --remove blackbox
  (Reading database ... 8262 files and directories currently installed.)
  Removing blackbox ...
  root@woody:/# dpkg -S /usr/bin/bsetbg 
  diversion by fluxbox from: /usr/bin/bsetbg
  diversion by fluxbox to: /usr/bin/bsetbg.blackbox
  fluxbox: /usr/bin/bsetbg
  root@woody:/# dpkg-divert --remove --package fluxbox --rename /usr/bin/bsetbg
  Removing `diversion of /usr/bin/bsetbg to /usr/bin/bsetbg.blackbox by fluxbox'
  root@woody:/# dpkg -S /usr/bin/bsetbg 
  fluxbox: /usr/bin/bsetbg
  root@woody:/# md5sum /usr/bin/bsetbg
  2ea340efa4ee7d20cb76c2d48adf3fbf  /usr/bin/bsetbg

Looks good to me.

> >     if [ -f /usr/share/man/man1/bsetbg.1.gz ] \
> >       && [ -f /usr/share/man/man1/bsetbg.1.gz.blackbox ] \
> >       && dpkg-divert --list /usr/bin/bsetbg | \
> >           grep -q '^diversion.*by fluxbox$'; then
> 
> I think checking the output of dpkg-divert --list is probably redundant
> here, FWIW.

It won't hurt and makes me feel better about this. If such a hack
is necessary, it's best to define the conditions under which it is
applied as closely as possible.

-- 
Please do not send copies of list mail to me; I read the list!
 
 .''`.     martin f. krafft <madduck@debian.org>
: :'  :    proud Debian developer, admin, user, and author
`. `'`
  `-  Debian - when you have better things to do than fixing a system
 
Invalid/expired PGP subkeys? Use subkeys.pgp.net as keyserver!
 
"and no one sings me lullabies,
 and no one makes me close my eyes,
 and so i throw the windows wide,
 and call to you across the sky"
                                                   -- pink floyd, 1971

Attachment: signature.asc
Description: Digital signature


Reply to: