Bug 1779296 - Lingering references to sln in scriptlets
Summary: Lingering references to sln in scriptlets
Keywords:
Status: CLOSED DUPLICATE of bug 1625584
Alias: None
Product: Fedora
Classification: Fedora
Component: redhat-lsb
Version: 30
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Ondrej Vasik
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-12-03 17:13 UTC by Mark Harig
Modified: 2019-12-05 14:12 UTC (History)
14 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2019-12-05 08:13:36 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
/var/tmp/rpm-tmp.X58dLH, from $ dnf reinstall glibc (162 bytes, text/plain)
2019-12-05 02:46 UTC, Mark Harig
no flags Details

Description Mark Harig 2019-12-03 17:13:48 UTC
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'.

Comment 1 Florian Weimer 2019-12-03 17:20:49 UTC
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.

Comment 2 Mark Harig 2019-12-03 17:48:51 UTC
(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
...

Comment 3 Kevin Fenzi 2019-12-04 17:44:16 UTC
Can you attach the /var/tmp/rpm-tmp* file?

Comment 4 Mark Harig 2019-12-04 18:37:30 UTC
(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.

Comment 5 Mark Harig 2019-12-05 02:46:05 UTC
Created attachment 1642261 [details]
/var/tmp/rpm-tmp.X58dLH, from $ dnf reinstall glibc

This temporary file (somehow) remained after running 'dnf reinstall glibc'.

Comment 6 Kevin Fenzi 2019-12-05 06:07:04 UTC
This bug is in the redhat-lsb package. Moving there...

Comment 7 Florian Weimer 2019-12-05 08:13:36 UTC

*** This bug has been marked as a duplicate of bug 1625584 ***

Comment 8 Florian Weimer 2019-12-05 08:14:09 UTC
Thanks for tracking this down. It turns out this is a known issue.

Comment 9 Mark Harig 2019-12-05 13:11:02 UTC
(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

Comment 10 Mark Harig 2019-12-05 13:25:21 UTC
(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

Comment 11 Florian Weimer 2019-12-05 13:57:29 UTC
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.

Comment 12 Mark Harig 2019-12-05 14:12:35 UTC
(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 || :


Note You need to log in before you can comment on or make changes to this bug.