3 ms·
The reproducibility story with system package managers is an absolute nightmare. In general, language package management systems, containerization and fully st
by ImprobableTruth 4y ago
The reproducibility story with system package managers is an absolute nightmare.
In general, language package management systems, containerization and fully statically linked distributions (appimage, flatpak, snaps, etc.) are all a direct response to system package managers being woefully inadequate in all sorts of ways.
And unless something like Nix takes over which actually allows reproducible builds, we'll continue to see alternative solutions continue to encroach on system package managers.
- cmrdporcupine 4y agoAbsolutely, I understand why these systems are there. And see the issue. The problem is the rapid propagation of them. There's too many, and they live outside the purvey of the distribution management, and often (... NPM, etc.) have poor auditing and moderation. I see why they happen. I don't blame the people to make them. I just think it's a potentially awkward situation when it comes to something as core as the kernel; which has traditionally only required GCC.
- jupp0r 4y agoRapid propagation? Fully statically linked binaries have been a thing for decades. The practice only got broken under most Linux distros when glibc decided to make it impossible to be linked against statically.
- SubjectToChange 4y ago> I just think it's a potentially awkward situation when it comes to something as core as the kernel; which has traditionally only required GCC. Clang is starting to leapfrog GCC here. IIRC, some features are better supported and/or more advanced on Clang, other features (e.g. LTO) are exclusive to it. Not to mention it's almost a certainty for Clang to land kernel PGO support long before GCC, in fact Google already uses it in production Android kernels. Anyway, rust or not, linux is being decoupled from GCC.
- dralley 4y agoLTO is not exclusive to clang. "thin" LTO is. It just happens to be more commonly used, since it's faster and uses less memory.
- SubjectToChange 4y ago> LTO is not exclusive to clang. This is in the context of the Linux kernel, which only mainlined Clang LTO support in 5.12. AFAIK, GCC LTO has yet to be accepted.
- corrral 4y agoIMO distros shouldn't be packaging the world anymore, anyway. Base system from the distro, everything else from a separate, probably cross-distro package manager. The trouble, of course, is that this is hell for a Linux desktop system, because you can't cleanly put the GUI stack in either "base system" or "everything else", especially with all the shared libs and such.