Am 22.05.20 um 07:29 schrieb Noah Meyerhans:
> On Sun, May 10, 2020 at 11:06:26PM +0200, Michael Biebl wrote:
>>> +echo "Waiting for the service to be available"
>>> +c=0
>>> +while ! nc -z -U /var/run/dovecot/auth-userdb; do
>>> +   c=$(($c+1))
>>> +   sleep 2
>>> +   if [ $c -gt 30 ]; then
>>> +           echo "Timed out waiting for the service to be available" >&2
>>> +           exit 1
>>> +   fi
>>> +done
>>
>> Looping until the service is ready appears to be a workaround/hack at
>> best imho.
> 
> I agree, however...
> 
>> The dovecot service should only signal its readiness when the
>> communication sockets are ready yet to accept connections. I.e. this
>> autopkgtest appears to point at a real issue that should be fixed properly.
> 
> I do not believe that this is an RC issue.  In order to address the
> stale upstream version and pending security updates in sid, and allow
> the package to again enter bullseye, I propose the following:

That's a policy determined by the release manager/ maintainers of debci.
The recommended that I should file such issues with RC severity.
If you don't agree with that policy, you should probably contact them
directly.

> I will upload a new upstream version to sid containing the workaround
> for the test failures.  I will leave this bug open, but will reduce the
> severity to 'normal'.  In a subsequent upload, I will apply a patch to
> implement sd_notify and will resolve the bug.  Please feel free to send
> a patch if you don't want to wait however long it'll take for me to get
> around to putting one together.

Please don't apply this hack. If you don't want to fix this properly to
get a (newer) version into testing, please just disable the test for the
time being.
It's great that the autopkgtest suite unconvered a real issue.
Let's not mutilate the test suite.


> Dovecot has been essentially unmaintained in Debian since August 2019,
> and there's quite a backlog of work to do.  I'm going to work on getting
> it back into shape, but it will be a little while before it's where it
> should be.  It won't happen all at once.> 
> noah
> 

The patch to add sd_notify is rather trivial. Problem is, that dovecot
unhelpfully clears the full environment. In src/master/main.c,
sd_notify() should be called around/after main_init().
Unfortunately, at this point master_service_env_clean() has been called,
clearing the process environment, including NOTIFY_SOCKET, which is
passed from systemd to dovecot and is needed to make sd_notify work.

I haven't found a way how to instruct dovecot not to clear the
NOTIFY_SOCKET env var.

Regards,
Michael


Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to