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

Bug#152299: acknowledged by developer (Re: Bug#152299: dpkg: Should warn when 3rd-party file effects (un)installation)

On Mon, Jul 08, 2002 at 02:25:41PM -0700, Michael Toomim wrote:
> >>When dpkg encounters a package's installed file that has been modified
> >>by the user, it doesn't by default replace it with a new version.
> >>Instead, it just leaves the file there and skips the new version's
> >>file.
> >
> >
> >Er, only conffiles get such treatment.
> >
> >
> >>This is a prime source of system-breakage.  For instance, I've had X
> >>become broken twice in the last year when dpkg didn't replace an old
> >>.so driver file for my video card on upgrade, and have had it happen
> >>in other cases as well.
> >
> >
> >A .so is a binary file.  And .sos reside in /usr.  This file is not a
> >conffile.  So, the file will be overwritten.
> >
> >
> >>While I think it's a good thing for dpkg to be conservative and keep
> >>the 3rd-party file, I think that we could solve the system-breakage
> >>problem by giving a warning during dpkg's install/uninstall process
> >>when a 3rd-party file is not removed/replaced.  If I had seen such a
> >>warning during my last upgrades, I would have been saved from a lot of
> >>ugly debugging.
> >
> >
> >There was no warning to give, so no warning was printed.
> >
> >If you have something wrong, then say so.  Hand waving will be dismissed as
> >such.
> >
> I'm confused.  What do you mean by hand waving here?  Was I leaving out 
> some information?  Was I wrong about some information?
> I thought that when I upgraded X, my mga drivers in 
> /usr/X11R6/lib/modules/drivers/mga* didn't get replaced, and that the 
> mismatch caused the new X to segfault.  I thought that this was because 
> dpkg doesn't replace files that are modified by the user after the 
> original installation.  Am I wrong?

Actually the problem is probably quite the opposite.

It is likely that you have installed the drivers from matrox over the
top of the ones in the debian xfree86 packages. These files are not
conffiles, thusly your changes to them are not preserved.

If you install the drivers from matrox, you get mga_hal.o as well as

mga_hal is not in the debian xfree86 packages, because it is
gratuitously non-free, and only available in binary form.

When xfree86 is next upgraded, mga.o is overwritten with the version
in the xfree86 package. mga_hal.o is untouched, since it is not in any
package. You now have different versions of mga.o and mga_hal.o; this
invariably causes the server to segfault.

  .''`.  ** Debian GNU/Linux ** | Andrew Suffield
 : :' :  http://www.debian.org/ | Dept. of Computing,
 `. `'                          | Imperial College,
   `-             -><-          | London, UK

Attachment: pgp4o1JGNeygv.pgp
Description: PGP signature

Reply to: