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

Re: kscreensaver: conffile prompt during testing update



On Fri, May 19, 2006 at 11:14:27AM -0400, Christopher Martin wrote:
> There is nothing we can do to control whether the user is prompted or 
> not.
> 
> In this case, the reason you were prompted (despite not having manually 
> altered the file) is probably because the file in question was 
> accidentally dropped from the packages some time ago, and only re-added 
> with the last upload. Thus the conffile updating mechanisms had no 
> record of an original file to compare against the new one, and 
> therefore no way to determine whether or not you'd updated the file 
> manually, so it erred on the side of caution and prompted you before 
> replacing it.
> 
> In short, it was not a bug, but a sign of a bug being fixed. It 
> shouldn't happen again.
Ah, thanks for the explanation.  The source of the problem, then, is
that:

  . the conffile got dropped at some point; and,
  . when the conffile got restored, it had different content;
    actually, this happens even if the version at which the conffile
    content changed isn't exactly the version at which it was
    restored; if the buggy package not own the conffile was installed
    (and the conffile was [deliberately] not removed by dpkg or the
    admin), and then the new package (including a new conffile) is
    installed

You can actually avoid the conffile prompt, though it may not be worth
it since I think that think doesn't affect stable upgrades (dpkg, by
definition handles conffile content changes gracefully, and
automatically, as long as the package owning the conffile doesn't
change [during the same upgrade as the content of the conffile
changes]).

Just make the preinstall script remove the file if:

  1 it is an upgrade (and not a fresh install), from an affected
    version
  2 the file exists
  3 the md5sum of the file matches that stored in the dpkg status
    database, 
  4 the md5sum of the file matches (one of) the expected md5sum(s)
    from the affected version(s)

2 is unnecessary if you use rm -f, and 4 is not strictly necessary,
but the world is a better place when there are more conditionals
around a noninteractive rm.

Justin

> On Friday 19 May 2006 09:33, Justin Pryzby wrote:
> > Package: kdebase-bin
> > Version: 3.5.2-2+b1
> > Severity: important
> > File: /etc/pam.d/kscreensaver
> >
> > I didn't make this change, so I should not be prompted about it.  I
> > couldn't reproduce it, though, so I'm not filing it as bug..
> >
> > Preparing to replace kdebase-bin 4:3.5.2-1 (using
> > .../kdebase-bin_4%3a3.5.2-2+b1_i386.deb) ...
> > Unpacking replacement kdebase-bin ...
> >
> > [...]
> >
> > Setting up kdebase-bin (3.5.2-2+b1) ...
> > Installing new version of config file /etc/pam.d/kcheckpass ...
> >
> > Configuration file `/etc/pam.d/kscreensaver'
> >  ==> File on system created by you or by a script.
> >  ==> File also in package provided by package maintainer.
> >    What would you like to do about it ?  Your options are:
> >     Y or I  : install the package maintainer's version
> >     N or O  : keep your currently-installed version
> >       D     : show the differences between the versions
> >       Z     : background this process to examine the situation
> >  The default action is to keep your current version.
> > *** kscreensaver (Y/I/N/O/D/Z) [default=N] ? D
> >
> > --- /etc/pam.d/kscreensaver     2004-04-11 14:46:01.000000000 -0400
> > +++ /etc/pam.d/kscreensaver.dpkg-new    2006-05-06 21:18:35.000000000
> > -0400 @@ -1,10 +1,6 @@
> >  #
> >  # /etc/pam.d/kscreensaver - specify the PAM behaviour of
> > kscreensaver #
> > -
> > -# The standard Unix authentication modules, used with
> > -# NIS (man nsswitch) as well as normal /etc/passwd and
> > -# /etc/shadow entries.
> >  @include common-auth
> >  @include common-account
> >  @include common-password



Reply to: