Re: Running ldconfig after the RPM transaction

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Dan Čermák:

> Hi Florian,
>
> Florian Weimer <fweimer@xxxxxxxxxx> writes:
>
>> * Dan Čermák:
>>
>>> it has been recently proposed to switch openSUSE to run ldconfig via a
>>> %transfiletriggerin/-un scriptlet instead of manually in %post & %postun
>>> the same way as Fedora does it at the moment.
>>>
>>> However, an interesting issue has been raised: what happens if package A
>>> gets upgraded in the same transaction as package B, but B needs A during
>>> the upgrade. A will install a new shared library, but ldconfig will run
>>> after B has already tried to upgrade.
>>
>> Fedora ships the soname links in the package, addressing this issue.
>> For example, openssl-libs contains:
>>
>> /usr/lib64/libcrypto.so.1.1
>> /usr/lib64/libcrypto.so.1.1.1k
>> /usr/lib64/libssl.so.1.1
>> /usr/lib64/libssl.so.1.1.1k
>>
>> As a result, running ldconfig is purely an optimization.
>
> Would that still be the case when the SONAME is bumped? I would assume
> that the old symlink is no longer valid. Or is that also not an issue
> because we rebuild the dependency on a SONAME bump?

The symbolic link will be updated once the package is unpacked, along
with the real file.  For /usr/lib64, the glibc dynamic loader will use
files there even if they are not in the cache, as long the soname is
available there.

Once symbolic links are involved, soname changes are more problematic
with ldconfig, actually.  RPM does not delete old files immediately.  If
ldconfig runs with the old files still around, it may adjust the soname
symbolic links to point to the wrong version of the library.  That is
why we eliminated the symbolic link indirection in glibc 2.34.

Thanks,
Florian
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux