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

Re: debconf reconfiguration from postinst of another package



Hi Charles,

Quoting Charles Plessy (2014-04-20 15:14:17)
> Le Fri, Apr 18, 2014 at 03:56:41PM +0200, Jonas Smedegaard a écrit :
>>
>> I find it worrisome if only mutually coordinated packages can 
>> configure each other: I fear that that scales badly.

> [...] I do not see how [reconfiguring one package from another] can 
> happen without a minimum of coordination: otherwise you will end up 
> with a package where the chances of being broken by an uncoordinated 
> upload add up with each of its targets.
> 
> This minimal coordiation could be based on:
> 
>  - packages providing directories in which other packages can drop
>    configuration files.

That approach is inferior to debconf, in that the configured package 
promises only to override own settings with whatever is thrown at it - 
it makes no promise to *maintain* settings.

True, debconf simply obeys latest request for each question - but that's 
hardly any different from layered configfile handling.

What _is_ different is that a package can choose to do sanity check on 
combinations of choices - e.g. invalidate some options to one choice 
based on setting of another choice.  With layered configfile handling 
such breakage goes unnoticed until the actual combination of addon 
packages are installed together - quite difficult to detect ahead due to 
the snippets being application- and context-specific.


>  - packages ready to reconfigure themselves via dpkg triggers.

Triggers are indeed promises offered by the configurable package, as 
debconf is, but AIUI only *when* a trigger happens is defined - I 
believe that approach lacks semantics of *what* to change, unlike 
debconf.


> Is your number of targets so large that this level of coordination is 
> not reachable ?

Quite a few packages use debconf, and those packages have by now a 
stable and semantically relatively strong interface for changing 
settings which the package maintainer chooses to offer maintenance for.

It makes best sense for me to use such already commonly used mechanism - 
and then look at special-casing in those situations where it becomes so 
popular to "remote-control configurations" that clashes occur.

...and because of debconf being a uniform interface not only for 
interaction but also for the content exchanged, I believe it is far 
easier to check for clashes should that become a problem.


 - Jonas

-- 
 * Jonas Smedegaard - idealist & Internet-arkitekt
 * Tlf.: +45 40843136  Website: http://dr.jones.dk/

 [x] quote me freely  [ ] ask before reusing  [ ] keep private

Attachment: signature.asc
Description: signature


Reply to: