debconf/cdebconf coinstallability
Joey has been
campaigning
for a while to get everything in the archive changed to depend on debconf |
debconf-2.0
or similar rather than just debconf
, in order that we can
start rolling out cdebconf
as its replacement. Like most jobs that
involve touching the bulk of the archive, this looks set to take quite a
while, as the list of bugs should indicate.
Recently it occurred to me that we didn’t necessarily have to do it that way
round. In a bout of late-night hacking while staying awake to look after a
sick child (he seems mostly OK now, although the rushed trip to the hospital
earlier was a bit on the nerve-wracking side), I’ve shuffled things around
in the cdebconf package so that it no longer has any file conflicts with
debconf or debconf-doc, and changed the debconf confmodule to fire up the
cdebconf frontend rather than its own if the DEBCONF_USE_CDEBCONF
environment variable is non-empty. (The details of this may change before
it actually gets uploaded, as I’d like to get Joey to look it over and
approve it first.) This allows you to install cdebconf, set that
environment variable, and play around with cdebconf with relative ease; when
we come to switch to cdebconf for real, instead of a huge conflicting mess
that apt will probably have trouble resolving, it’ll just be a matter of
changing a couple of lines in /usr/share/debconf/confmodule
.
Of course, don’t expect cdebconf to be a complete working replacement for debconf just yet; if you try using it for a dist-upgrade run it’ll fall over. Due to its d-i heritage, it doesn’t yet load templates automatically; that has to be done by hand. Frontend names differ from debconf’s, which will need some migration code. At the moment it can only handle UTF-8 templates, which are mandated in the installer but only optional in the rest of the system. It doesn’t have all of debconf’s rich array of database modules. I haven’t adapted the Perl or Python confmodules yet. The list goes on. However, I think we at least stand a chance of getting a handle on the problem now.
(I’ll post this article to debian-devel once the changes have been reviewed and uploaded.)