On 2020-09-18 21:01 +0100, Jessica Clarke wrote:

> On 18 Sep 2020, at 20:51, Sven Joachim <svenj...@gmx.de> wrote:
>>
>> It seems that cowdancer should not link with ncurses in the first place,
>> as it only uses the tinfo library.  In fact, rebuilding cowbuilder with
>> a current toolchain that defaults to the "--as-needed" linker flag
>> causes cowbuilder and cowdancer to depend on libtinfo6 only.
>
> Hm, that only defers the problem until libtinfo6 is similarly broken
> mid-upgrade, no?

It is certainly possible that one day libtinfo6 needs a new symbol from
libc6 and is unpacked before the new libc6 package that provides it,
albeit far less likely than the current situation.

> It seems to me like dpkg has done a very dodgy
> sequence of events that have resulted in the system being broken for a
> short period and, whilst most don't notice, cowdancer does. Why is this
> not a dpkg (or apt) bug? It should be possible to do that sequence in a
> way that preserves the system as working, no?

Well, dpkg ensures atomic upgrades, but only on the package level.
Unpacking all packages to be installed simultaneously is currently not
supported (and might not be feasible due to Conflicts+Replaces).

> But yes, there is the separate _minor_ issue that cowdancer is linking
> against more than it needs to.

That would normally a minor issue, but putting it into LD_PRELOAD makes
it a major one, as seen in this bug report.

> I don't know why I made it pull in all
> of ncurses, maybe an earlier version of the patch needed it and it no
> longer does, but it's been too long to have any hope of remembering
> what past me was thinking.

Pretty much every terminal supports colors these days, so maybe it would
be best to use them by default if stdout is a tty.  AFAIK this is what
everybody else does.

Cheers,
       Sven

Reply via email to