On Wed, Sep 27, 2006 at 03:18:51PM -0700, Steve Langasek wrote:
> On Wed, Sep 27, 2006 at 11:02:32PM +0200, Bill Allombert wrote:
> > On Wed, Sep 27, 2006 at 09:50:17PM +0100, Isaac Clerencia wrote:
> > > On Wednesday, 27 September 2006 21:07, Bill Allombert wrote:
> > > > Package: moodle
> > > > Version: 1.6.2-1
> > > > Severity: serious
> > > >
> > > > Hello Isaac,
> > > >
> > > > There is an error when attempting to install moodle:
> > > >   Setting up moodle (1.6.2-1) ...
> > > >
> > > >   Creating config file /etc/moodle/config.php with new version
> > > >   ln: creating symbolic link `/etc/apache/conf.d/moodle' to
> > > > `/etc/moodle/apache.conf': No such file or directory dpkg: error 
> > > > processing
> > > > moodle (--configure):
> > > >    subprocess post-installation script returned error exit status 1
> > > Did you get the debconf dialog to ask you which server do you wanted to 
> > > configure?
> 
> > It was non-interactive install, so no.
> 
> Priorities
>        [...]
>        high   Questions that don't have a reasonable default.
> 
> debconf(7)
> 
> There is no release requirement that a package be installable when
> high-priority debconf questions are skipped.

What if the question, while being priority high, does have a reasonable
default ? Gratuituous high-priority questions is a major issue for any
attempt to perform test upgrade between release.

Since there can be only one webserver installed, there is a reasonable default:
the webserver which is installed.

> > > Did you choose apache 1? Do you have apache installed?
> 
> > Neither. The offending code is there:
> 
> >         if [ ! -e /etc/${webserver}/conf.d/moodle ]
> >         then
> >            ln -s /etc/moodle/apache.conf /etc/${webserver}/conf.d/moodle
> >         fi
> 
> > Either check /etc/${webserver}/conf.d/ exist or mkdir it.
> 
> That would still result in an unusable package if the webserver chosen in
> the debconf interface is not the one actually installed; so there's no

In that case the debconf question should be replaced by a script that
check what httpd is installed. There is no point asking trick questions
to the user.

> reason that mkdir (postponing the failure) is inherently preferable to an
> immediate failure in the maintainer script.

The user do not know they need to install a webserver prior
seeing the debconf question, so they should be given a chance to
complete the install and then install the webserver they specified,
else the debconf question is useless. Alternatively, if you assume the
user will not actually install the webserver he specified, then the
debconf question is still useless.

If you really have to fail if the webserver is not configured before the
package you should at least give a clear notice explaining the situation
and how to fix it, not just
ln: creating symbolic link `/etc/apache/conf.d/moodle' to
`/etc/moodle/apache.conf': No such file or directory dpkg: error
processing

Cheers,
-- 
Bill. <[EMAIL PROTECTED]>

Imagine a large red swirl here. 


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to