On 2020-11-13 18:23 +0100, Niels Thykier wrote: > Control: reassign -1 perl-base > Control: affects -1 upgrade-reports > Control: severity -1 grave > > Hi Perl team, > > I have reassigned this bug to perl because perl-base being essential > must remain functional during an upgrade and AFAICT perl-base fails in > this case here. > > If it is a direct linkage, then you might be needing a Pre-Depends. If > it is an indirect linkage then I am not sure how to fix it. :-/
I don't think perl-base is doing anything wrong here, it already uses Pre-Depends. AFAICS the problem is that libcrypt.so.1 can temporarily go missing if libc6 2.31-4 is unpacked before libcrypt1, breaking the assumption that binaries from essential packages are always usable. I don't have a good idea how to fix that, though. :-( Cheers, Sven > Alois Wohlschlager: >> Package: upgrade-reports >> Severity: critical >> Justification: breaks the whole system >> X-Debbugs-Cc: alo...@gmx-topmail.de >> >> Dear Maintainer, >> >> *** Reporter, please consider answering these questions, where appropriate >> *** >> >> * What led up to the situation? >> >> Do an upgrade from buster to bullseye. >> >> >> * What exactly did you do (or not do) that was effective (or >> ineffective)? >> >> 1. adjust sources.list >> 2. apt upgrade >> 3. apt dist-upgrade >> >> * What was the outcome of this action? >> >> apt dist-upgrade goes horribly wrong. Excerpt from the log: >> >> --- >> Entpacken von libc6:amd64 (2.31-4) über (2.28-10) ... >> Vormals nicht ausgewähltes Paket libc6:i386 wird gewählt. >> Vorbereitung zum Entpacken von .../4-libc6_2.31-4_i386.deb ... >> Entpacken von libc6:i386 (2.31-4) ... >> Vormals nicht ausgewähltes Paket libgcc-s1:i386 wird gewählt. >> Vorbereitung zum Entpacken von .../5-libgcc-s1_10.2.0-16_i386.deb ... >> Entpacken von libgcc-s1:i386 (10.2.0-16) ... >> Vormals nicht ausgewähltes Paket gcc-10-base:i386 wird gewählt. >> Vorbereitung zum Entpacken von .../6-gcc-10-base_10.2.0-16_i386.deb ... >> Entpacken von gcc-10-base:i386 (10.2.0-16) ... >> /usr/bin/perl: error while loading shared libraries: libcrypt.so.1: cannot >> open >> shared object file: No such file or directory >> dpkg: Fehler: Fehler beim Ausführen des Hooks »if [ -x /usr/share/debian- >> security-support/check-support-status.hook ] ; then /usr/sh >> are/debian-security-support/check-support-status.hook ; fi«, Exitkode 32512 >> --- >> >> At this point, perl is still the version from buster, and libcrypt1 is not >> yet installed. The missing libcrypt.so.1 also completely breaks PAM, so login >> and sudo don't work any more. >> To recover from this outcome, I had to boot with "init=/bin/sh", install >> the >> libcrypt1 package with dpkg and run "apt -f install" twice. This rendered the >> system operational again and a further "apt dist-upgrade" ran through >> smoothly. >> >> * What outcome did you expect instead? >> >> libcrypt1 is installed before libcrypt.so.1 is required again, so the >> dist- >> upgrade can proceed normally. >> >> [...]