Comment # 35 on bug 1228659 from Andrei Borzenkov
(In reply to Alberto Planas Dominguez from comment #34)
> 
> > How libsolv (actually, RPM) is
> > supposed to know that systemd-udev v255 became unusable after systemd v256
> > has been installed and it needs systemd-udev v256?
> 
> That is a good point.  libsolv can known it as it will use all the
> information to decide that because the kernel Requires(post)
> suse-module-tools, and suse-module-tools Requires sdbootutil, and sdbootutil
> Requires systemd-boot, using the transitive operation, the kernel
> Requires(post) systemd-boot.
> 

The problem is dependencies are computed once for the whole transaction. So,
when transaction starts, all dependencies are correct. Now, in the middle of
transaction zypper updates systemd from v255 to v256 and it immediately
invalidates all computed dependencies involving other systemd subpackages.

Yes, if zypper computed dependencies *now* it probably would have noticed that
existing systemd-boot v255 has missing dependency on systemd v255 and would
first update systemd-boot to version v256. But it is too late. To implement it,
zypper (or libzypp or libsolv) would effectively need to recompute dependencies
after every package. I wonder what zypper maintainers think about it :)


You are receiving this mail because: