I’m talking about things like “python3-blabla” and “libsomething”. How bad would it be if nobody used these library-packages and everyone just added all kinds of libraries as part of an application’s package?
I’m talking about things like “python3-blabla” and “libsomething”. How bad would it be if nobody used these library-packages and everyone just added all kinds of libraries as part of an application’s package?
The norm for most Rust packages is to statically compile everything. That’s why every Rust application needs a rebuild and update every time a vulnerability is found in a package like RustTLS (which many projects don’t do). This allows a Rust program to run basically anywhere a modern enough version of the C library is installed, without any worries about dependencies, at the cost of disk space.
You end up with binaries tens or hundreds of megabytes that are kilobytes in size for most C code. GUI and networked applications are especially fat, because they’re often full of frameworks and other projects.
I would estimate the size difference as “10x the size of your /usr/bin, but without 99% of /usr/lib”. My /usr/bin is about 2.3GB in size, my /usr/lib is about 17GB. I wouldn’t be surprised if it would increase the footprint by a few gigabytes. In theory file system level de-duplication may help, but only if the offsets happen to line up.
In theory you could test this on a distro like Gentoo: if you edit the build scripts right, you can get the entire OS to be compiled with static compilation.
Thank you, great answer! (I like numbers)