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 the solution is to make the error message unnecessary, by > having the dependencies structured differently: > > 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: libsearch-xapian-perl, xapian-omega, librpc-xml-perl, libtext-wikiformat-perl, python, python-docutils, polygen, tidy, libxml-feed-perl, libmailtools-perl, perlmagick, libfile-mimeinfo-perl, libcrypt-ssleay-perl, libtext-typography-perl, libtext-csv-perl, libdigest-sha1-perl, graphviz, libnet-amazon-s3-perl, sparkline-php, texlive, dvipng But, even assuming that the VCS plugins and other core plugins (inline, etc) are not included in ikiwiki-plugins, it would not be uncommon to need to install it, pulling all of the above in. (And I don't think that splitting things up to ever finer levels of granularity to deal with that is a good path.) 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, including: gcc, libc6-dev, subversion, git-core, tla, bzr, mercurial, monotone, libxml-simple-perl, libnet-openid-consumer-perl, liblwpx-paranoidagent-perl, libtimedate-perl, libcgi-formbuilder-perl, libcgi-session-perl, libmail-sendmail-perl, libauthen-passphrase-perl You certianly don't want to install all of these as hard dependencies, but based on the configuration various ones will be needed. 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. -- see shy jo
signature.asc
Description: Digital signature

