Mara does not resolve ncs.gov

Rick Moen rick at linuxmafia.com
Tue Mar 3 02:52:55 EST 2009


Quoting Sam Trenholme (strenholme.usenet at gmail.com):

> Do they even make sure there are conversion scripts that convert all
> relevant configuration files from one version of a given daemon to the
> next version?

Mu.  ;->

I can't remember all details, but the general technique does _not_
aspire, in any way, to convert raw conffiles from an old version's data
format to an incompatible new implentation's format.  Instead, when you
first install a package with significant configuration variations, you
are prompted (through the services of the debconf[1] utility) for your
choices on the basis of which the conffiles get written.  debconf stores
your answers to those questions in .templates files.  When it's
necessary to reimplement your configuration in a later and perhaps
marginally compatible later version of the package, your answers are
reapplied.  

This is of course not a magic bullet:  You can easily have situations
where you've directly hacked a system-managed conffile; it's debconf's
duty in those cases to inform you of this situation and offer various
options to deal with the diffs.  However, there's been a strong tendency
to ameliorate this category of problem by extracting locally-managed
details out of software conffiles as include files (or equivalent)
separate from the system-managed main conffile, so that smooth upgrades 
remain possible while usually avoiding what one might call the .rpmnew /
.rpmsave problem.

And indeed some changes are such sea changes that they're only arguably
the same program at all:

> For example, the BIND 4 -> BIND 8 config file conversion was
> non-trivial;

It was also so very long ago (1997) that neither Debian nor any other
*ix even dreamed of handling named.boot to named.conf conversion
programmatically.  ;->  (Joey Hess didn't even have debconf production
ready until around 2000.)

> in addition, I think Apache made some pretty significant changes from
> Apache 1 -> Apache 2.

And that's why apache2 is a different package from "apache" (1.3.x).

You can keep your old 1.3.x "apache" packages going, as you go from one 
stable release to another -- and they'll keep getting security updates
and fixes.   It won't break; it'll keep running.  It won't magically
turn into Apache2, which is different software.  Eventually, at some
point, though, it'll cease to be a supported package, and then you won't
get further updates.  In the case of the "apache" package, that's going
to happen with Debian 6.0 "Squeeze"'s release.  See:
http://www.debian.org/releases/stable/i386/release-notes/ch-upgrading.en.html#deprecated

(All of the above also applies in one way or another to all
Debian-family distributions, such as the *buntu group.  E.g., they all
use debconf, separately named packages for Apache httpd 1.3.x vs. 2.x,
and so on.)

[1] http://www.fifi.org/cgi-bin/man2html/usr/share/man/man8/debconf.8.gz



More information about the list mailing list