Bug 2223783

Summary: after upgrading to libwbclient-4.18.3-100.el9.x86_64 there is a dangling symbolic link
Product: Red Hat Enterprise Linux 9 Reporter: Andrew Schorr <ajschorr>
Component: sambaAssignee: Andreas Schneider <asn>
Status: CLOSED DUPLICATE QA Contact: sssd-qe
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: CentOS StreamCC: asn, bstinson, dkarpele, jwboyer, pfilipen
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-07-25 11:56:04 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Andrew Schorr 2023-07-18 22:13:09 UTC
Description of problem:
After upgrading to libwbclient-4.18.3-100.el9.x86_64, I have this invalid symlink:
bash-5.1$ ls -l /etc/alternatives/libwbclient.so.0.15-64 
lrwxrwxrwx 1 root root 45 Jun 22  2022 /etc/alternatives/libwbclient.so.0.15-64 -> /usr/lib64/samba/wbclient/libwbclient.so.0.15
bash-5.1$ wc /etc/alternatives/libwbclient.so.0.15-64 
wc: /etc/alternatives/libwbclient.so.0.15-64: No such file or directory


Version-Release number of selected component (if applicable):
libwbclient-4.18.3-100.el9.x86_64


How reproducible:
Always

Steps to Reproduce:
1. rpm -Uvh libwbclient-4.18.3-100.el9.x86_64.rpm
2. wc /etc/alternatives/libwbclient.so.0.15-64
3.

Actual results:
wc: /etc/alternatives/libwbclient.so.0.15-64: No such file or directory


Expected results:
File does not exist


Additional info:
I think the preuninstall scriptlet is broken. It says:

bash-5.1$ rpm --scripts -q libwbclient
preuninstall scriptlet (using /bin/sh):
if [ $1 -eq 0 ]; then
    /usr/sbin/update-alternatives \
            --remove \
            libwbclient.so.0.16-64 \
            /usr/lib64/samba/wbclient/libwbclient.so.0.16
fi
/sbin/ldconfig
posttrans scriptlet (using /bin/sh):
# It has to be posttrans here to make sure all files of a previous version
# without alternatives support are removed
/usr/sbin/update-alternatives \
        --install \
        /usr/lib64/libwbclient.so.0.16 \
        libwbclient.so.0.16-64 \
        /usr/lib64/samba/wbclient/libwbclient.so.0.16 \
        10

I believe the [ $1 -eq 0 ] test means that the alternative is removed
only on uninstall, so an upgrade to a new version leaves the dangling
symlink behind.

Regards,
Andy

Comment 1 Andreas Schneider 2023-07-25 11:56:04 UTC

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