[Debconf-devel] debconf cache cruft and questions owned by
themselves
Jeremy S Bygott
jsb_no_spm at jsbygott.fsnet.co.uk
Thu Mar 22 12:47:40 CET 2007
Hi,
My debconf cache contains a mass of stuff that it shouldn't.
1) is this a common problem?
2) what causes it?
3) is there a recommended solution? (delete the whole cache and start again?)
This system began as slink and got upgraded to each new stable release: slink
-> potato -> woody -> sarge. Of course I also installed and purged packages
at other times. Now, /var/cache/debconf/* contains lots of stuff that it
shouldn't. For example, package 'slay' was purged long ago. However:
# grep slay /var/cache/debconf/config.dat-old
Name: slay/butthead
Template: slay/butthead
Owners: slay/butthead
Name: slay/punish
Template: slay/punish
Owners: slay/punish
If I now install slay, it registers an additional owner 'slay' for each of
those questions. If I purge again, only that additional owner goes away.
So perhaps the problem is that questions/templates wrongly got registered to
owner themselves, rather than owner their package? Perhaps this was a bug in
an old version of (some component of) debconf? I can't find it in BTS, though.
I can list the purged packages that left stuff behind...
# chmod 644 /var/cache/debconf/*
$ debconf-show --listowners | sed 's#/.*##' | sort | uniq >
owners_top_level
$ dpkg -l `cat owners_top_level` | grep '^pn'
pn acct <none> (no description available)
pn apsfilter <none> (no description available)
pn atlas2 <none> (no description available)
pn dotfile <none> (no description available)
pn dotfile-fvwm1 <none> (no description available)
pn dotfile-fvwm2 <none> (no description available)
pn groff <none> (no description available)
pn lprng <none> (no description available)
pn lynx <none> (no description available)
pn lynx-ssl <none> (no description available)
pn minicom <none> (no description available)
pn nn <none> (no description available)
pn powermgmt-base <none> (no description available)
pn setserial <none> (no description available)
pn slay <none> (no description available)
pn tmpreaper <none> (no description available)
pn xcdroast <none> (no description available)
... but this is just the tip of the iceberg. I see that a huge number of
installed packages also have templates registered to themselves, or registered
to both themselves and their package, e.g.
Name: ppp/maxfail
Template: ppp/maxfail
Owners: ppp, ppp/maxfail
So just wading through the purged packages by hand with commands like
# debconf -o'slay/butthead' 'echo purge'
will only clean up the tip of the iceberg (and only on this one computer).
I don't like the status quo, because of this sort of scenario: Admin A purges
foo, but some questions (and answers) remain in the cache. Some months later,
Admin A (or Admin B) installs foo but doesn't get shown the questions because
debconf thinks they've been seen. This seems to defeat the design.
Maybe /usr/share/debconf/fix_db.pl would be a place to fix this? But globally
replacing 'Owners: foo/bar' with 'Owners: foo' would make a mess of shared
templates, I suppose.
Any suggestions?
Regards,
Jeremy
==================
(Dr) Jeremy Bygott
Oxford
More information about the Debconf-devel
mailing list