Am Freitag, den 20.11.2020, 09:13 +0000 schrieb Niko Tyni: > I don't think this is related to the recent perl 5.30 -> 5.32 > transition. > The report is about a buster -> bullseye upgrade, and perl in > bullseye > was still at 5.30 at the time. > > In any case, the report says perl (presumably perl-base as well) was > still at the buster version when the breakage happened, so it didn't > have the libcrypt1 dependency. This is indeed the case. perl-base was only upgraded to the bullseye version after I manually fixed the breakage. (Indeed, when I wrote "Perl" I actually meant "perl-base", but perl itself was also at the buster version FWIW.) > FWIW the breakage can be reproduced just by manually unpacking the > new > libc6 on a buster system. > > I don't know why it hasn't been encountered earlier. I found out by now that the problem actually has been encountered earlier(#946599, where it broke libc's maintainer scripts). In my case, it broke the check-support-status hook providd by debian-security- support. (I'm not sure whether it's such a great idea for dpkg to run hooks when dependencies are broken, but that's what was happening on my system.) > > > Yeah, I missed the libcrypt1 -> libc6 dependency. That prevents this > option. (I wonder if the circular dependency is a factor in apt > choosing > the upgrade order that results in this breakage.) I'm not sure what's going on here, as libcrypt1's libc6 Depends should be satisfied by the buster version. So it seems to me like installing libcrypt1 before upgrading libc6 should be strictly better than doing it the other way round, even purely in terms of satisfaction of dependencies. Maybe it's worth investigating why apt decides to proceed the "wrong" way anyway, should I try setting up a VM to reproduce the problem? > > > Another option might be to have the new libc6 Conflict with old > > > versions > > > of Essential:yes packages that need libcrypt1, forcing those > > > Essential:yes > > > packages to get upgraded first. A quick check based on libcrypt1 > > > reverse > > > dependencies in sid shows perl-base, login and util-linux. I'm > > > not sure > > > if this list is exhaustive, though. Having libc6 Conflict with one of those packages should be enough, right? -- Alois
Attachment:
signature.asc
Description: This is a digitally signed message part