[Debconf-devel] Debconf - adding "treeselect" type(s)?

Steve McIntyre steve at einval.com
Sun Nov 29 19:21:54 GMT 2020


Hey folks,

On and off, I've been hacking on tasksel for quite a while to improve
the UI there and add better support for things like Blends. I've made
some progress in my hacking, but I think I've hit a brick wall and I
need to change tack. :-/

What I've ended up doing so far is hacking tasksel to give a poor
*approximation* of a tree-style layout: classifying some existing
tasks under headers and building a tree, then displaying each of the
nodes of the tree one level at a time via the existing debconf
setup. It just about works, but it's ugly as all hell and I'm not
happy with where I've got to. I've sunk a lot of development time into
this, but I don't think it's ready to fly this way. :-(

What I *actually* need here is proper support in debconf for
tree-style selection. I'm thinking of adding that, adding new types
"treeselect" as a tree-equivalent of "select" and "multitreeselect" as
an extension of "multitselect". The first one may not even be needed,
but would be a trivial simplification of the second, so *meh*.

Am I crazy to be considering this? I'm *not* sure that we need this to
work in the *general* case (i.e. supporting more packages using this
functionality, supporting all the panoply of Debconf
frontends). However, I'd also expect that other people might disagree
and see more general use cases than just tasksel. :-)

AFAICS I'd need to add at least basic support for the new type(s) into
all the frontends that *can* support it. So, I have a couple of
questions:

 1. How flexible is Debconf at coping with a frontend not including
    support for a type??

 2. Is anybody actually ever using the more obscure (to me!) frontends
    (e.g. kde, editor)? Is it worth spending time there?

-- 
Steve McIntyre, Cambridge, UK.                                steve at einval.com
We don't need no education.
We don't need no thought control.




More information about the Debconf-devel mailing list