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

Bug#309627: upgrade-reports: Succesful update from archive, some php4 problems



On Wed, May 18, 2005 at 02:27:11PM +0200, Paul van Tilburg wrote:
> Package: upgrade-reports
> Severity: normal
> 
> Archive date: Tue May 16 19:00:01 UTC 2005
> Upgrade date: Tue May 17 16:35:00 UTC 2005
> uname -a: 2.4.25-distance
> Method: Following the release notes to the letter, e.g.
>   first install aptitude and doc-base, then proceeding with aptitude
[...]

> Further Comments/Problems:
> 
>   I had numerous questions about overwriting configfiles which dpkg claimed I
>   had changed, but I am sure of I really never have.
This is a moderately common mistake made by package maintainers.
Debian has an idea of a "configuration file", which is defined as "a
file in /etc/, which controls some global aspect of the operation of
some piece of software".  It is often the case that there is a useful
default configuration, and for this case, there is a special case
configuration file called a "conffile".  Conffiles are configuration
files which are included in the package.  Configuration files which
are not conffiles are NOT included in the package, but are generated
(usually) by the package's postinst script, and should probably be
tagged with something like "# Created by debconf; run dpkg-reconfigure
to edit".

Policy dictates that conffiles should never be editted by a maintainer
script, because that would violate the whole point of a conffile.  If
a maintscript *were* to modify a conffile, then every update of the
package would (potentially) ask the user "what do you want to do with
the changes made to this file".  (The whole point to a conffile being
that most updates non-interactively do what everyone wants).

This conffile prompt should happen ONLY when BOTH:
  
  1) You, the sysadmin of a machine, change some file in /etc/, a
     conffile, to customize a package; and,
  2) You later update the package, and the package maintainer has, in
     the updated version, included a version of that conffile which
     differs from the version of that conffile in your previously-
     installed of that package.

If neither of the above, or exactly one of the above happens, then the
upgrade can take place non-interactively, in the obvious way:

  - If you, the sysadmin, have never modified a conffile, but the
    package maintainer ships a new version of it, then, when upgrading
    the package, the new version replaces the old one.

  - If you, the sysadmin, modify a conffile, and then upgrade the
    package to a newer version, and the newer version uses the same
    conffile, then your changes are preserved, and the new conffile
    (from the Debian package maintainer) is discarded.

In the future, if you come across a package upgrade (whether a through
a dist-upgrade, a normal install, or an update) which gives the prompt
about a conffile being changed by both you, and by the maintainer, and
you know that you have not manually modified that file, then you
should feel free to open a bug ("important", probably, or "severe" if
it will affect upgrades from one stable release to another, or if you
feel it is a "core" package, likely to affect lots of people).

Cheers,
Justin



Reply to: