Description of problem: During the upgrade of glibc (from version 2.29-22 to 2.29-26), the post-installation failed at one of its steps. Version-Release number of selected component (if applicable): 2.29-26 How reproducible: The problem occurs during the initial upgrade and re-occurs when reinstall is attempted. Steps to Reproduce: 1. $ sudo dnf update glibc and 2. $ sudo dnf reinstall glibc Actual results: During the post-installation stage, the following error message is displayed: Running scriptlet: glibc-2.29-22.fc30.x86_64 12/12 /var/tmp/rpm-tmp.QGQxmK: line 5: /sbin/sln: No such file or directory Expected results: The post-installation should complete with no error messages related to '/sbin/sln'. Additional info: Included in the RPM package 'man-pages-4.16-4.fc30' is a manual page for 'sln', which is a program that creates static links. But there is no file 'sln' included in Fedora 30 that would perform this function. This appears to be a prerequisite for 'glibc' that is missing from Fedora 30. Or, the RPM for 'glibc' needs to be changed to provide this capability in the absence of 'sln'. A search for 'sln' via 'dnf search sln' does not provide any packages that would provide 'sln'.
RPM doesn't log the cause of all scriptlet execution, so this line is confusing: Running scriptlet: glibc-2.29-22.fc30.x86_64 12/12 It does not mean that the following error message comes from a glibc scriptlet. Feel free to reassign this to the appropriate component once you have discover that.
(In reply to Florian Weimer from comment #1) > RPM doesn't log the cause of all scriptlet execution, so this line is > confusing: > > Running scriptlet: glibc-2.29-22.fc30.x86_64 12/12 > > It does not mean that the following error message comes from a glibc > scriptlet. > > Feel free to reassign this to the appropriate component once you have > discover that. Note that the problem occurs during reinstall, also: $ sudo dnf reinstall glibc ... Running scriptlet: glibc-2.29-26.fc30.x86_64 1/2 Reinstalling : glibc-2.29-26.fc30.x86_64 1/2 Running scriptlet: glibc-2.29-26.fc30.x86_64 1/2 Cleanup : glibc-2.29-26.fc30.x86_64 2/2 Running scriptlet: glibc-2.29-26.fc30.x86_64 2/2 /var/tmp/rpm-tmp.ngY1WL: line 5: /sbin/sln: No such file or directory ...
Can you attach the /var/tmp/rpm-tmp* file?
(In reply to Kevin Fenzi from comment #3) > Can you attach the /var/tmp/rpm-tmp* file? That file does not exist. Is there a way to preserve the file when issuing the 'dnf reinstall' command? A new version of the file is created (and deleted) each time 'sudo dnf reinstall glibc' is run.
Created attachment 1642261 [details] /var/tmp/rpm-tmp.X58dLH, from $ dnf reinstall glibc This temporary file (somehow) remained after running 'dnf reinstall glibc'.
This bug is in the redhat-lsb package. Moving there...
*** This bug has been marked as a duplicate of bug 1625584 ***
Thanks for tracking this down. It turns out this is a known issue.
(In reply to Mark Harig from comment #5) > Created attachment 1642261 [details] > /var/tmp/rpm-tmp.X58dLH, from $ dnf reinstall glibc > > This temporary file (somehow) remained after running 'dnf reinstall glibc'. For future reference, the dnf option to preserve /var/tmp/rpm-tmp.* files is '--rpmverbosity=debug': $ sudo dnf --rpmverbosity=debug reinstall glibc
(In reply to Kevin Fenzi from comment #6) > This bug is in the redhat-lsb package. Moving there... Is there some reference to 'sln' in 'redhat-lsb' that I'm missing? $ rpm -q -scripts redhat-lsb preinstall scriptlet (using /bin/sh): # remove the extra symlink /bin/mailx -> /bin/mail if [ -e /bin/mailx ]; then if [ -L /bin/mailx ]; then rm -f /bin/mailx fi fi $ sudo dnf --rpmverbosity=debug reinstall redhat-lsb $ sudo cat /tmp/rpm-tmp.u5p5r7 set -x # remove the extra symlink /bin/mailx -> /bin/mail if [ -e /bin/mailx ]; then if [ -L /bin/mailx ]; then rm -f /bin/mailx fi fi
It's a trigger for glibc. Reinstalling redhat-lsb does not activate it, only reinstalling glibc does. rpm --scripts doesn't show it, either, you have to use rpm --triggers.
(In reply to Florian Weimer from comment #11) > It's a trigger for glibc. Reinstalling redhat-lsb does not activate it, only > reinstalling glibc does. rpm --scripts doesn't show it, either, you have to > use rpm --triggers. Thank you. I see it now: $ rpm -q --triggers redhat-lsb triggerpostun scriptlet (using /bin/sh) -- glibc if [ -x /usr/sbin/redhat_lsb_trigger.x86_64 ]; then /usr/sbin/redhat_lsb_trigger.x86_64 fi /sbin/sln ld-linux-x86-64.so.2 /lib64/ld-lsb-x86-64.so || :