Dynamically load compression libraries - #31550
Conversation
|
I'd really like to know if we can replace all these with libarchive first (see also #31131 (comment)) |
hmm, so we link against these libraries in journald for example to compress individual fields, does it really make sense to involve libarchive in that? does libarchive support uncompressing blobs that aren't tarballs/zipfiles? i kinda like the fact that if we make the individual compression libs dlopen-deps we truly minimize the dep tree, because people can pick one compressor only. After all libarchive itself does not employ dlopen() afaics. I mean: Hence I am very much inclined to merging this PR. In particular libbz2 I think is something we should try to get out of the deptree. By using libarchive for everyting we'd still link to it indirectly. |
|
lgtm, but some issues, see above. And I guess the CIs need some updating before we can merge this, because the deps are now implicit rather than explicit. @mrc0mmand any chance you can look into that? |
|
Please also add an extra commit that deletes/updates the relevant lines in the TODO file in the toplevel dir. the one containing "bzip2, xz, lz4" |
Yes, see
Indeed. However, as discussed in the other PR, While it would be great if bzip2 can be eliminated from the whole system, that won't happen any time soon. So instead of adding more dlopen()-ed deps, which are hard to manage, it seems more practical to me to reduce the number of direct deps first. |
|
IOW, the reduced dependency tree isn't really observable by users, in which case adding more code and introducing more packaging/CI changes really sounds like a pure burden. |
well, the focus here is really on building tiny systems for initrds for example. I don't see why you'd need gunpg/ffmpeg/… in an initrd... i mean, sure, on a full blown desktop they will end up int he full install, but even then, i see no reason they need to be in the initrd.
but libarchive itself doesn#t need to be in the initrd, no? |
6227699 to
8932cc8
Compare
8932cc8 to
3a2648f
Compare
|
Should I call This could be the cause of |
7c5a90d to
0631df0
Compare
No problem at all! Thanks for fixing it so quickly. |
Follow-up for 1c20c9f. Fixes systemd#31550 (comment).
Follow-up for 1c20c9f. Fixes #31550 (comment).
Follow-up to systemd#31550
Follow-up to systemd#31550
…y included Some required libraries that used to be statically included are in the process to be opened via `dlopen()`. References: - systemd/systemd#31131 - systemd/systemd#31550 - systemd/systemd#32019 Closes dracutdevs#2642
…y included Some required libraries that used to be statically included are in the process to be opened via `dlopen()`. References: - systemd/systemd#31131 - systemd/systemd#31550 - systemd/systemd#32019
…y included Some required libraries that used to be statically included are in the process to be opened via `dlopen()`. References: - systemd/systemd#31131 - systemd/systemd#31550 - systemd/systemd#32019
…y included Some required libraries that used to be statically included are in the process to be opened via `dlopen()`. References: - systemd/systemd#31131 - systemd/systemd#31550 - systemd/systemd#32019 Closes #2642
…y included Some required libraries that used to be statically included are in the process to be opened via `dlopen()`. References: - systemd/systemd#31131 - systemd/systemd#31550 - systemd/systemd#32019 Closes #2642
…y included Some required libraries that used to be statically included are in the process to be opened via `dlopen()`. References: - systemd/systemd#31131 - systemd/systemd#31550 - systemd/systemd#32019 Closes #2642
…y included Some required libraries that used to be statically included are in the process to be opened via `dlopen()`. References: - systemd/systemd#31131 - systemd/systemd#31550 - systemd/systemd#32019 Closes #2642
…y included Some required libraries that used to be statically included are in the process to be opened via `dlopen()`. References: - systemd/systemd#31131 - systemd/systemd#31550 - systemd/systemd#32019
Follow-up for 1c20c9f4fce3b2eb501a776fb6025d6b5567fc00. Fixes systemd/systemd#31550 (comment).
|
Thanks for saving the world @teknoraver - not sure if you've seen the latest Veritasium video. :-) |
This is the video - The Internet Was Weeks Away From Disaster and No One Knew :) |
|
Jesus Christ! I just saw the video. Thank you @teknoraver. |
Dynamically load compression libraries (LZ4, ZSTD, LZMA) so we can reduce the size of the initram images by omitting libraries which aren't really used.