[Bug 1228759] New: Partial systemd installation before the kernel gets installed
https://bugzilla.suse.com/show_bug.cgi?id=1228759 Bug ID: 1228759 Summary: Partial systemd installation before the kernel gets installed Classification: openSUSE Product: openSUSE Tumbleweed Version: Slowroll Hardware: Other OS: Other Status: NEW Severity: Normal Priority: P5 - None Component: Kernel Assignee: kernel-bugs@opensuse.org Reporter: aplanas@suse.com QA Contact: qa-bugs@suse.de Target Milestone: --- Found By: --- Blocker: --- Working on https://bugzilla.opensuse.org/show_bug.cgi?id=1228659 we found an ordering issue, where the kernel gets installed before some packages from systemd. See comments 27 and 28 Some %post scriptlets will require to execute binaries that come from those packages, but a partial systemd upgrade makes those binaries from the old systemd fail because the libraries are updated. At least there are two packages from systemd that needs to be updated before the kernel: udev and systemd-boot. IIUC the order can be fixed with adding in the .spec file this: Requires: udev Requires: (systemd-boot if sdbootutil) or maybe Requires: (systemd-boot if systemd-boot) -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1228759 https://bugzilla.suse.com/show_bug.cgi?id=1228759#c1 --- Comment #1 from Alberto Planas Dominguez <aplanas@suse.com> --- Another solution is to move all the %post scriptlets to %posttrans, but somehow the Requires fix seems more correct to me. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1228759 https://bugzilla.suse.com/show_bug.cgi?id=1228759#c2 --- Comment #2 from Alberto Planas Dominguez <aplanas@suse.com> --- On a second thought maybe the Requires should be in suse-module-tools? I am not sure if libsolv will use this information to fix the ordering -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1228759 https://bugzilla.suse.com/show_bug.cgi?id=1228759#c8 --- Comment #8 from Alberto Planas Dominguez <aplanas@suse.com> --- (In reply to Takashi Iwai from comment #5)
(In reply to Michal Suchanek from comment #4)
And suse-module-tools does not have the scripts, those are in yet another package, especially the sdboot support.
Ah I thought it's sdbootutil call in kernel-scriptlets/rpm-scriptlet. Is this bug about a different call?
That is correct. The bootctl (systemd-boot) issue is because kernel-scriptlets/rpm-script does call sdbootutil to install the new kernel (and create the boot entry) -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1228759 https://bugzilla.suse.com/show_bug.cgi?id=1228759#c9 --- Comment #9 from Alberto Planas Dominguez <aplanas@suse.com> --- (In reply to Michal Suchanek from comment #4)
And suse-module-tools does not have the scripts, those are in yet another package, especially the sdboot support.
suse-module-tools calls sdbootutil
As for usev what from udev is called and by what?
That is only a guess, but there are references to udevadm in udev-trigger-generator from suse-module-tools.
I do not see how kernel would need it to install.
Right. Maybe this is a question for mls but I am starting to suspect that maybe the fix should be placed in sdbootutil and suse-module-tools. I do not know how libsolv will set the order here, but if the kernel Requires(post) suse-module-tools, and this makes use of udevadm then suse-module-tools should make this explicit? The same for sdbootutil, as it calls bootctl maybe the Supplements systemd-boot is not enough and should be converted to a Requires. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1228759 https://bugzilla.suse.com/show_bug.cgi?id=1228759#c10 --- Comment #10 from Alberto Planas Dominguez <aplanas@suse.com> --- (In reply to Michal Suchanek from comment #7)
Also I do not see any call to systemd-sdboot for that matter.
That is the easy one. bootctl is called in sdbootutil, that is called from kernel-scriptlets/rpm-script -- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@suse.com