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

Re: Dead-lock in replaced package scripts

On Tue, Nov 12, 2013, at 14:37, Tollef Fog Heen wrote:
> ]] Ondřej Surý 
> > Now the "nsd" user has been removed in nsd3.postinst, but it is still
> > needed by nsd (>= 4.0.0) package. Any ideas how to fix that? Or should I
> > just cross the fingers and hope nobody would do such thing?
> As others have said: stop removing the user

I will, but the harm has been already done at the time I become the nsd*

> but also, rm the old postrm script (with suitable checks). 

I'll use:

sed -i -e '/deluser --quiet nsd/ d' /var/lib/dpkg/info/nsd3.postrm

instead, but thanks for the hint. That helped me to break from
'/var/lib/dpkg/info is sacred' mindset.

> It's not pretty, but it's sometimes necessary.

On Tue, Nov 12, 2013, at 14:37, Raphael Hertzog wrote:
> You can check the status of the nsd3 package when you install/upgrade nsd
> and emit a warning pointing to some README.Debian that explains how to
> clean up the situation (or you can do it automatically, it's not very
> clean but should be rather straightforward).
> Or you can add a dependency on nsd3 (>= 4) to nsd for the time of a
> release cycle, thus forcing the user to keep a dummy package around.

That would create a dependency loop (since nsd3 needs to depend on nsd
(>= 4)).

> In any case, I would still fix the nsd package to not remove the user on
> postrm...

Already done in 4.0.0-3 (that is almost finished and waiting for a
solution for this).

Thanks to you both, this helped me to find the correct solution to
remedy the problem.

Ondřej Surý <ondrej@sury.org>
Knot DNS (https://www.knot-dns.cz/) – a high-performance DNS server

Reply to: