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

[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: