On 11-Sep-2008, Joey Hess wrote:
> Ben Finney wrote:
> > I maintain that the error message (as initially reported) is unhelpful 
> > for knowing what's wrong. The 'Suggests' control field is good, but 
> > the error message doesn't lead the user to look there. If a plugin is 
> > installed by the 'ikiwiki' package, it's rather counter-intuitive that 
> > the plugin won't work at all until further packages are installed.
> 
> It's actually not counterintuitive for minor package features or unusual
> configuration options to require suggested packages be installed. This is
> a common pattern in debian, with countless examples.

Perhaps there is such precedent. My point remains that the error 
message is quite unhelpful for addressing the problem; that ikiwiki's 
implementation, or its packaging, or both, should be modified to 
improve this; and that's what this bug report is about.

> > Since you say that certain libraries are required for any external 
> > plugins to work, would it not make sense to have those external 
> > plugins in a separate 'ikiwiki-plugins' package that itself 
> > depends on the required libraries?
> > 
> > Then, 'ikiwiki' could 'Suggests: ikiwiki-plugins', and it would be 
> > much clearer at install time that to get any plugins working, the 
> > 'ikiwiki-plugins' package must be installed.
> 
> The hypothetical ikiwiki-plugins package would depend on rather a 
> lot of stuff, that would be unlikely to be used by most users who 
> only use a plugin or two from it:

My suggestion for the 'Depends' was only for the librar{y,ies} that 
you referred to as necessary for *all* external plugins to function.

In other words, if I want users to have (in this case) the 'rst' 
plugin working, it is reasonable to expect that I'll know to install 
support for reStructuredText.

It's not reasonable for me to know that one arbitrary set of ikiwiki 
plugins needs extra libraries because of an implementation detail in 
ikiwiki, while others work fine without that. Knowledge like that is 
the responsibility of the programmer (by detecting the problem at 
run-time) or the package manager (by declaring dependencies as 
necessary for the implementation).

> And yet even with this change, ikiwiki could still be configured in 
> ways that make it complain about missing packages that are not in 
> its dependencies

If it complained "about missing packages", this bug report would be 
resolved. That's not what happens, though: it spits an error at 
run-time that occurs for one plugin but not for others, and there's no 
indication (for someone not knowledgeable about the implementation) of 
what package needs to be installed to resolve the error.

> The approach I've chosen for ikiwiki is to make packages that all, 
> or all except for very unusual configurations need be in the 
> Depends; packages that a typical wiki will need be in the 
> Recommends; and all else in the Suggests.

I've no complaint about the use of the dependencies; what you describe 
above seems like the priorities are well chosen.

That's orthogonal to the point of this bug report, which remains: The 
error message when one of these library packages is missing gives no 
clue to a user ignorant about the implementation as to why one plugin 
breaks and others don't, and what to do about it.

-- 
 \       “Corporation, n. An ingenious device for obtaining individual |
  `\       profit without individual responsibility.” —Ambrose Bierce, |
_o__)                                   _The Devil's Dictionary_, 1906 |
Ben Finney <[EMAIL PROTECTED]>

Attachment: signature.asc
Description: Digital signature

Reply via email to