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