Just started to update one of our Fedora Servers (F38)
I got the message:
Executed scriptlet: libvirt-dbus-1.4.1-1.fc38.x86_64 124/132 Cleaning up : libvirt-dbus-1.4.1-1.fc38.x86_64 124/132 Executed scriptlet: libvirt-dbus-1.4.1-1.fc38.x86_64 124/132 /var/tmp/rpm-tmp.BXEIBt: Zeile 1: fg: No Job control in this shell. Warning: %postun(libvirt-dbus-1.4.1-1.fc38.x86_64) Scriptlet failed, Exit-status 1
Error in POSTUN scriptlet in rpm package libvirt-dbus Cleaning up : libacl-2.3.1-6.fc38.x86_64 125/132
Warning or error, what is it?
Can I be sure that a reboot will be successful?
My experiences with reports of this kind are quite mixed. From problem-free reboots to total failure, everything is possible. Unfortunately, reports of this kind do not exactly boost confidence in the reliability and usability of our Fedora.
We should improve this and make reports of problems clearer.
-- Peter Boy https://fedoraproject.org/wiki/User:Pboy PBoy@fedoraproject.org
Timezone: CET (UTC+1) / CEST (UTC+2)
Fedora Server Edition Working Group member Fedora Docs team contributor and board member Java developer and enthusiast
On 2024-01-04 00:20, Peter Boy wrote:
Just started to update one of our Fedora Servers (F38)
I got the message:
Executed scriptlet: libvirt-dbus-1.4.1-1.fc38.x86_64 124/132 Cleaning up : libvirt-dbus-1.4.1-1.fc38.x86_64 124/132 Executed scriptlet: libvirt-dbus-1.4.1-1.fc38.x86_64 124/132 /var/tmp/rpm-tmp.BXEIBt: Zeile 1: fg: No Job control in this shell. Warning: %postun(libvirt-dbus-1.4.1-1.fc38.x86_64) Scriptlet failed, Exit-status 1
Error in POSTUN scriptlet in rpm package libvirt-dbus Cleaning up : libacl-2.3.1-6.fc38.x86_64 125/132
Warning or error, what is it?
Both. It's an error in the scriptlet. As far as dnf/rpm is concerned, scriptlet errors are warnings (it warns you about them, but continues, as failing the entire transaction on them is unlikely ever to be a better choice).
Can I be sure that a reboot will be successful?
Nope. This is a fundamental issue with packages in general: package scriptlets are just...entirely arbitrary code running as root on your system. What does a scriptlet do? Nobody but the packager can say with much confidence. How bad is it if it fails? Again, impossible to say except on a case-by-case investigation basis.
My experiences with reports of this kind are quite mixed. From problem-free reboots to total failure, everything is possible. Unfortunately, reports of this kind do not exactly boost confidence in the reliability and usability of our Fedora.
We should improve this and make reports of problems clearer.
It's fundamentally difficult to do so in the context of RPM packages. All the package system can know is "the scriptlet of this package failed".
Looking into this specific case, it looks like the 1.4.1-1 package %postun tries to do:
%systemd_postun_with_reload %{name}.service
but that macro doesn't seem to exist on F38, AFAICT. It exists on Rawhide, but not F38.
The 1.4.1-2 package changes this to:
%systemd_postun_with_restart %{name}.service
which *does* exist on F38, so it should work. Ironically, you see the bug in the 1.4.1-1 package when you upgrade to 1.4.1-2, as the %postun of 1.4.1-1 runs when it's being removed to install 1.4.1-2.
This particular case shouldn't cause any real problems, since the macro does nothing on upgrade anyway (only on package removal), and the scriptlet did not want to do anything after that.