3 ms·
So you would rather have them waste that exact same amount of space on every computer, just so you don’t have to download it when you want to build a package?
by tinus_hn 5y ago
So you would rather have them waste that exact same amount of space on every computer, just so you don’t have to download it when you want to build a package?
- creshal 5y agoI don't have any Debian machine that doesn't end up with build-essential and dozens of header packages installed; it just comes up too often. Adding the header files directly to the packages saves time and frustration, and probably even saves space since a lot these packages are 50% overhead (dpkg meta files, db entries, etc.) by size.
- tinus_hn 5y agoI refuse to believe that these meta files and database entries are occupying anywhere near a relevant amount of space.
- creshal 5y agoRelatively. Absolutely, it's negligible - because the space consumption of header files is also negligible. It's such a bizarre design choice to split out a single 30 line .h file into a separate package.
- _d7dt 5y agoI don't install build-essential on a server, in a container, on a VM, etc. It really matters in those places. If you combine them then you lose the ability to deploy a small rootfs.
- creshal 5y agoServers, VMs etc. always end up getting build-essential to handle random python/ruby/npm/... package installations, as the shipped versions are hopelessly outdated and creating your own debian packages for all of them is about as enjoyable as performing appendix surgery on yourself. Multi-stage builds do make it a bit easier to get rid of them for containers, yes, but during the build stage it's still required.
- cookiengineer 5y ago> So you would rather have them waste that exact same amount of space on every computer, just so you don’t have to download it when you want to build a package? Header files are literally less than a couple kB per package, and Megabyte-sized headers are the exception for huge frameworks like QT or GACL. Arch packages don't ship the source codes, only the binaries (.so files) and headers (.h files). Overall, the /usr/include folder on my system has less than 230MB, which is a damn lot because I have all kinds of compilers, programming languages and libraries installed. I even have 32Bit and atmel libraries installed because I do embedded reverse engineering and cross-compiling development on other architectures; so I also have gcc, LLVM, rust, go, C/C++ and other programming languages and their dependencies installed. So it's very likely much less than that for others. If you cannot afford that, you should maybe choose another, smaller, distribution like "Damn Small Linux", Alpine or similar. Debian wouldn't be a good choice for that matter anyways.
- seba_dos1 5y ago> Arch packages don't ship the source codes Neither do Debian's -dev packages.
- tinus_hn 5y agoI’m not sure what the argument is here. Either the header files you have to download are big so you shouldn’t have them on your system if you don’t need them, or they’re not big so it’s not a problem to just use the apt command to download all the header packages you need to build the package you want.