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

Re: the XFree86 packages' UCF-like approach to configuration files



Branden Robinson <branden@debian.org> wrote:
> On Thu, Jan 08, 2004 at 02:30:43PM +0100, Andreas Metzler wrote:
[...]
>> I see. You misunderstood me. The way Branden chose for X and the
>> thing I offered (exim4.conf.template) are completely different things:
> [...]
>> * OTOH afaik the X11 packages use an ucf-like[2] approach, dexconf
>> generates the file and the md5sum is saved, next time the dexconf
>> scripts run (upgrade or dpkg-reconfigure) first it is checked whether
>> the saved md5sum matches, if it does not the file won't be touched,
>> otherwise it will be overwritten by dexconf and the new md5sum is
>> saved.[3]

> Correct.

>> I won't explain the pros and cons of either approach here unless
>> somebody asks for it.

> Please let me know what cons you see in my approach.
[...]

* It is probably more work and more difficult to implement. I've split
  the task into rather simple small ones: I keep the debconf generated
  part in an easy to parse file and let dpkg do the hard job of
  preserving user-configuration in the hard to parse file.

* exim4 offers the normal dpkg "conffile changed..." prompting. X11's
  approach requires manual intervention (move modified file to a safe
  place and reset the md5sum, generate new file, compare and merge)
  just to check whether the latest maintainer-provided version differs
  from the one I based my modification on.

* debconf data and the configuration in the actual file are not
  synced, as the file is not parsed. (Sucks if you don't backup
  /var/cache/debconf/config.dat)

Downsides:
* The exim approach uses a quite complex and ugly file as template
  file, it contains configuration for all supported setups (satellite
  system, smarthost,...) and the actually selectd one is activated
  with ifdefs. (As X11 does not support ifdefs some other hack would
  need to be used.) X11's approach generates a small file tailored for
  the system.

* The file exim actually reads is not one of the ones in /etc, it is
  generated by a script and lives in /var. This is actually good for
  exim, as you should not edit the conffile of the running daemon and the
  init-script invokes the script automatically.

I would not suggest to change X11 to use exim4's approach, it does not
fit. I actually liked the approach X11 used in woody but am aware of
why you had to dump it.
             cu andreas
-- 
Hey, da ist ein Ballonautomat auf der Toilette!
Unofficial _Debian-packages_ of latest unstable _tin_
http://www.logic.univie.ac.at/~ametzler/debian/tin-snapshot/



Reply to: