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

When to use debconf, and how much?



Hello all,

I know that there has been debate about the use and abuse of debconf;
some packages have been critized to be much to verbose and ask
unnecessary stuff.

However, to me it's not quite clear what necessary would mean. Therefore
I'm looking for a place where I could read about that (perhaps a thread
on debian-devel?): In which cases should a package just act silently,
when should it ask?

The concrete case I'm interested in is the package netenv which has the
"historic" version 0.82 in Debian; I want to adopt it and introduce the
current 0.94. It's a package which allows usage of mobile computers in
different network environments. It doesn't try to autodetect the current
situation with ping or arp-requests, like most others, but relies on the
user choosing one out of a couple of configurations.

If there is no working configuration, networking will problably not work
at all - this is bad, especially if by bad chance somebody installs the
package on a remotely administered machine. Therefore one option would
be to just install the package, but not make links to its init script.

On the other hand, practically every user that installs it on purpose
would be happy to find a working package, with the configuration based
on what he had before. He then can add others manually, using the first
as an example.

So this is the situation, but how should it get to a working
configuration? Unfortunately this is not possible without asking. The
old package asked questions in postinst, but the resulting configuration
worked only on laptops with PCMCIA cards, not with builtin network
adaptors. Furthermore, the automatic parsing of the existent
configuration didn't do so well (see the bug reports).

So I introduced debconf which does the following:

- Check wether there's an old configuration, if yes, do nothing, but
  inform the user; and ask him wether this information should be skipped
  upon future updates.

- Ask wether the laptop uses PCMCIA or not. 

  If yes, /etc/pcmcia/network.opts should contain the necessary
  information, it is parsed.

  If no a scheme is set up based on /etc/network/interfaces and
  /etc/resolv.conf

- Check if everything went well, if not disable use on boot time.

My sponsor now questioned wether it's good to use debconf here at all,
but he wasn't so sure that he would tell me "kick that out". So I'm
wondering what I should do: Disable and ask nothing (and hope that users
will find the Debian sections I added to the html documentation), or
keep asking debconf questions?

TIA, Frank



-- 
Frank Küster, Biozentrum der Univ. Basel
Abt. Biophysikalische Chemie



Reply to: