3 ms·
Yes, there was an effort to turn all the dependencies into on demand loads, where possible. It started in 2020 with libpcre2: https://github.com/systemd/systemd
by teknoraver 3y ago
Yes, there was an effort to turn all the dependencies into on demand loads, where possible.
It started in 2020 with libpcre2:
https://github.com/systemd/systemd/pull/16260 https://github.com/systemd/systemd/pull/16260
But many others followed, like libselinux:
https://github.com/systemd/systemd/pull/19997 https://github.com/systemd/systemd/pull/19997
libqrencode:
https://github.com/systemd/systemd/pull/16145 https://github.com/systemd/systemd/pull/16145
p11kit:
https://github.com/systemd/systemd/pull/25771 https://github.com/systemd/systemd/pull/25771
tpm2-util:
https://github.com/systemd/systemd/pull/28333 https://github.com/systemd/systemd/pull/28333
libiptc:
https://github.com/systemd/systemd/pull/29836 https://github.com/systemd/systemd/pull/29836
libkmod:
https://github.com/systemd/systemd/pull/31131 https://github.com/systemd/systemd/pull/31131
Exactly during the development of the libkmod PR, someone noted that libxz could be lazily loaded too:
https://github.com/systemd/systemd/pull/31131#issuecomment-1963334057 https://github.com/systemd/systemd/pull/31131#issuecomment-1...
And so I proposed myself to to the job, nothing less, nothing more.
If you look at the code of the other PRs, you see that they are very very similar, there are also macros to easy this task, like DLSYM_FUNCTION()
- teknoraver 3y agoHi @rsc, I just saw your update on the timeline. To be more precise, the first public comment asking to dlopenify lzma was dated 30 Jan by Daan: https://github.com/systemd/systemd/pull/31131#issuecomment-1917693005 https://github.com/systemd/systemd/pull/31131#issuecomment-1... The day after, it was reiterated by Lennart: https://github.com/systemd/systemd/pull/31131#issuecomment-1918667390 https://github.com/systemd/systemd/pull/31131#issuecomment-1... But if you look in the systemd repo there is a TODO file with a section of libraries which needs to be lazy loaded. liblzma was added in this list in June 2020 (https://github.com/systemd/systemd/commit/cdfd853744ee9348691e9bbe4d2775e5415ba119 https://github.com/systemd/systemd/commit/cdfd853744ee934869...) by Lennart, and removed by me just after that my PR was merged.
- rsc 3y agoUpdated. Thanks!