Hi!

On Thu, 2016-02-11 at 00:08:12 +0100, Michael Biebl wrote:
> Somehow this looks like an issue in dpkg, if it triggers a package which
> is in an inconsistent state.

After a very quick look it does not seem to me to be an issue in either
systemd nor dpkg, see below.

> But maybe we just made a mistake in our use of triggers in systemd:
>  
> https://anonscm.debian.org/cgit/pkg-systemd/systemd.git/tree/debian/systemd.triggers
>  
> https://anonscm.debian.org/cgit/pkg-systemd/systemd.git/tree/debian/systemd.postinst#n15

These look fine.

> Am 09.02.2016 um 14:12 schrieb Zack Weinberg:
> > Package: systemd
> > Version: 228-6
> > Severity: normal
> > 
> > libpam-systemd, systemd, and libsystemd0 have = dependencies on each
> > other.  This invariant can be temporarily violated in the middle of a
> > large upgrade, and AIUI that is normal and to be expected.  However,
> > systemd has several dpkg triggers that can fire while the = dependencies
> > are violated, and when this happens, the entire upgrade bombs out.
> > Worse, one of those triggers seems to be armed and immediately fired *by
> > upgrading libsystemd0*, before dpkg has had a chance to upgrade systemd
> > proper, so this is guaranteed to happen any time the systemd packages
> > are upgraded.
> > 
> > It's possible to recover by manually installing the new versions of
> > libpam-systemd, systemd, and libsystemd0, but there's got to be some
> > way to make apt do the Right Thing, right?  (I don't really understand
> > triggers.  I thought they were supposed to postpone work until the *end*
> > of a large upgrade, but they seem to go off all the time in the middle.)
> > 
> > Example upgrade transcript:
> > 
> > # aptitude safe-upgrade
> > [...]
> > Extracting templates from packages: 100%
> > Preconfiguring packages ...
> > [...snip...]
> > (Reading database ... 289818 files and directories currently installed.)
> > Preparing to unpack .../linux-image-4.3.0-1-amd64_4.3.5-1_amd64.deb ...
> > Unpacking linux-image-4.3.0-1-amd64 (4.3.5-1) over (4.3.3-7) ...
> > Preparing to unpack .../archives/udev_228-6_amd64.deb ...
> > Unpacking udev (228-6) over (228-5) ...
> > Preparing to unpack .../libpam-systemd_228-6_amd64.deb ...
> > Unpacking libpam-systemd:amd64 (228-6) over (228-5) ...
> > Preparing to unpack .../libsystemd0_228-6_amd64.deb ...
> > Unpacking libsystemd0:amd64 (228-6) over (228-5) ...
> > Setting up libsystemd0:amd64 (228-6) ...
> > Processing triggers for libc-bin (2.21-7) ...
> > dpkg: dependency problems prevent processing triggers for systemd:
> >  systemd depends on libsystemd0 (= 228-5); however:
> >   Version of libsystemd0:amd64 on system is 228-6.
> > 
> > dpkg: error processing package systemd (--triggers-only):
> >  dependency problems - leaving triggers unprocessed
> > Processing triggers for man-db (2.7.5-1) ...
> > Errors were encountered while processing:
> >  systemd
> > E: Sub-process /usr/bin/dpkg returned an error code (1)

Well it does not seem like aptitude even tried to unpack systemd
itself. And then it was requested via --triggers-only to process
triggers, so any attempt to get the dependencies sorted out will fail.

> > Failed to perform requested operation on package.  Trying to recover:
> > Setting up libquadmath0:amd64 (5.3.1-8) ...
> > Setting up linux-image-4.3.0-1-amd64 (4.3.5-1) ...
> > [...snip...]
> > Setting up libobjc4:amd64 (5.3.1-8) ...
> > dpkg: dependency problems prevent configuration of libpam-systemd:amd64:
> >  libpam-systemd:amd64 depends on systemd (= 228-6); however:
> >   Version of systemd on system is 228-5.
> > 
> > dpkg: error processing package libpam-systemd:amd64 (--configure):
> >  dependency problems - leaving unconfigured
> > Setting up libx32gcc1 (1:5.3.1-8) ...
> > [...snip...]
> > Setting up udev (228-6) ...
> > addgroup: The group `input' already exists as a system group. Exiting.
> > update-initramfs: deferring update (trigger activated)
> > dpkg: dependency problems prevent processing triggers for systemd:
> >  systemd depends on libsystemd0 (= 228-5); however:
> >   Version of libsystemd0:amd64 on system is 228-6.
> > 
> > dpkg: error processing package systemd (--configure):
> >  dependency problems - leaving triggers unprocessed
> > Setting up libx32asan2 (5.3.1-8) ...
> > [..snip...]
> > Processing triggers for libc-bin (2.21-7) ...
> > Processing triggers for initramfs-tools (0.122) ...
> > update-initramfs: Generating /boot/initrd.img-4.3.0-1-amd64
> > Errors were encountered while processing:
> >  libpam-systemd:amd64
> >  systemd
> > Press Return to continue.
> > 
> > # aptitude safe-upgrade
> > Performing actions...
> > Reading changelogs... Done
> > Extracting templates from packages: 100%
> > Preconfiguring packages ...
> > (Reading database ... 289818 files and directories currently installed.)
> > Preparing to unpack .../acl_2.2.52-3_amd64.deb ...
> > Unpacking acl (2.2.52-3) over (2.2.52-2) ...
> > Preparing to unpack .../libacl1_2.2.52-3_amd64.deb ...
> > Unpacking libacl1:amd64 (2.2.52-3) over (2.2.52-2) ...
> > Setting up libacl1:amd64 (2.2.52-3) ...
> > Processing triggers for libc-bin (2.21-7) ...
> > dpkg: dependency problems prevent processing triggers for systemd:
> >  systemd depends on libsystemd0 (= 228-5); however:
> >   Version of libsystemd0:amd64 on system is 228-6.
> > 
> > dpkg: error processing package systemd (--triggers-only):
> >  dependency problems - leaving triggers unprocessed
> > Processing triggers for man-db (2.7.5-1) ...
> > Errors were encountered while processing:
> >  systemd
> > E: Sub-process /usr/bin/dpkg returned an error code (1)
> > Failed to perform requested operation on package.  Trying to recover:
> > dpkg: dependency problems prevent configuration of libpam-systemd:amd64:
> >  libpam-systemd:amd64 depends on systemd (= 228-6); however:
> >   Version of systemd on system is 228-5.
> > 
> > dpkg: error processing package libpam-systemd:amd64 (--configure):
> >  dependency problems - leaving unconfigured
> > dpkg: dependency problems prevent processing triggers for systemd:
> >  systemd depends on libsystemd0 (= 228-5); however:
> >   Version of libsystemd0:amd64 on system is 228-6.
> > 
> > dpkg: error processing package systemd (--configure):
> >  dependency problems - leaving triggers unprocessed
> > Setting up acl (2.2.52-3) ...
> > Errors were encountered while processing:
> >  libpam-systemd:amd64
> >  systemd
> > Press Return to continue.
> > 
> > # dpkg -i /var/cache/apt/archives/*systemd*_228-6_amd64.deb
> > (Reading database ... 289815 files and directories currently installed.)
> > Preparing to unpack .../libpam-systemd_228-6_amd64.deb ...
> > Unpacking libpam-systemd:amd64 (228-6) over (228-6) ...
> > Preparing to unpack .../libsystemd0_228-6_amd64.deb ...
> > Unpacking libsystemd0:amd64 (228-6) over (228-6) ...
> > Preparing to unpack .../systemd_228-6_amd64.deb ...
> > Unpacking systemd (228-6) over (228-5) ...
> > Preparing to unpack .../systemd-sysv_228-6_amd64.deb ...
> > Unpacking systemd-sysv (228-6) over (228-5) ...
> > Setting up libsystemd0:amd64 (228-6) ...
> > Setting up systemd (228-6) ...
> > addgroup: The group `systemd-journal' already exists as a system group. 
> > Exiting.
> > Setting up systemd-sysv (228-6) ...
> > Setting up libpam-systemd:amd64 (228-6) ...
> > Processing triggers for man-db (2.7.5-1) ...
> > Processing triggers for dbus (1.10.6-1) ...
> > Processing triggers for libc-bin (2.21-7) ...

Right, as long as systemd is not unpacked no further progress can be
made, but that's not something that dpkg controls, it's how it gets
invoked by the frontend.

Thanks,
Guillem

_______________________________________________
Pkg-systemd-maintainers mailing list
Pkg-systemd-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-systemd-maintainers

Reply via email to