[d-i]: cdebconf, persistency, rfc822db et al
I am working on a rfc822/debconf compatible backend for cdebconf. It
works - almost. There is a big hurdle, which I am not sure how to
work around in a clean way. Hacking around it can be done (by having
the question_set and template_set methods save the db and check if it
has been changed in the {template,question}_get methods. Ugly, but
works).
The textdb backend gets around this by always reading from file (which
won't work fine when you are changing the whole db all the time :/ ).
I don't have any very clean solutions ready, but here are some of my
ideas:
- add a method to debconf saying «reload your db, I have changed
stuff underneat your feet». This is ugly and suddenly the
application using debconf needs to know about this stuff.
- add the ugly hack I mentioned, cluttering the distinction between
set and save.
- add some sort of a semaphore file or something which means that the
questions/templates will be reloaded.
- something entirely else.
If you have no idea what I am talking about, please consider the
following scenario (which _will_ happen with d-i):
user boots floppy, debconf-loadtemplate is run, main-menu (with
debconf frontend) starts. User mounts cd and runs anna (via
main-menu). Anna downloads new packages and merges the templates from
the new packages with the old packages file (using
debconf-loadtemplate). Suddenly, templates.dat and config.dat on disk
don't match what the already-loaded debconf instance knows about.
At the moment, I have hacked around it with having it detect that file
has been changed and reload.
I will commit the rfc822db ASAP.
--
Tollef Fog Heen ,''`.
UNIX is user friendly, it's just picky about who its friends are : :' :
`. `'
`-
--
To UNSUBSCRIBE, email to debian-boot-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Reply to: