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

Re: postinst scripts failing because a new conffile wasn't accepted: Is it a bug?

Henning Makholm <henning@makholm.net> wrote:

> Scripsit Frank Küster <frank@debian.org>
>> Henning Makholm <henning@makholm.net> wrote:
>>> You seem to assume that the *only* way to get this change into the
>>> file is to forcibly discard all of the sysadmin's local adaptations
>>> and install a pristine upstream version of the conffile.
>> No, of course there is an other way:  dpkg offers an option to start a
>> shell (or put itself in the background or whatever) to clear up the
>> situation; or one can simply log in on a different terminal.
> Exactly, but what happens then is
>   1. User backgrounds dpkg, or switches to another window.
>   2. User edits the file to take into account the new variable name.
>   3. User returns to dpkg.
>   4. User selects the "No, I'm happy with my own version as it look
>      now" menu option.
> Your proposal, if I understand you correctly, is to make (4) result in
> the postinst failing even though the user _has_ taken care of the problem.

You must have misunderstood me.  I don't check whether the installed
file is the one I expect; I simply run "fmtutil --all" - and that will
fail if he hasn't solved the problem.

>> But if the local admin doesn't want to do that, but delay merging
>> the configuration file, there are only two possibilities: Either he
>> accepts the new maintainer's version, or he refuses it.  And the
>> latter choice leads to a failure of the postinst script in some
>> cases.
> This is not true. 

It is - with "that" I meant to edit the file now.

> If he edits the file himself (but refuses the
> maintainer's version because accepting it would lead to his own
> changes being overwritten) things still work fine.

Of course they will.  In particular, I won't get a bug report and won't
have to consider closing or downgrading it, and ask questions on -devel

>>> Why do you want to deny the sysadmin the opportunity to do the changes
>>> himself?
>> I don't.
> You want the postinst to fail if he does the changes himself rather
> than abandoning all of his local changes, right?

No, if I have written something like this I must have been insane.  All
I want to say is:  If he does the changes himself bug does it wrong, the
fmtutil call (or updmap or whatever) in postinst will fail.  

But this is in fact a corner case, the usual situation is that the user
pressed "keep local version" without thinking, or simply uses the
noninteractive frontend and doesn't bother himself with looking at any
*.dpkg-new files before reporting the bug.

>> All I do is request some support for the view that if he decides to
>> do so, he should in fact do it before filing a bug;
> Of course it is not a bug if the package fails because the admin does
> not properly adjust his conffiles.

So finally there is one person who simply says "yes" to the question in
the first mail, thank you.  

By the way, I don't think that the answer should be a simple "yes": If a
failure to configure might cause the system to be inaccessible over the
net, the package maintainer has to take care to avoid this (i.e. ask a
non-debconfized question in preinst, as glibc does).

Regards, Frank

Frank Küster
Inst. f. Biochemie der Univ. Zürich
Debian Developer

Reply to: