On 06/30/2015 08:49 AM, Michael Orlitzky wrote: > On 06/29/2015 11:25 PM, Zac Medico wrote: >> >> Considering that Go binaries are statically linked, you'll end up with a >> bunch of Go libraries installed that you don't need during run-time. >> > > They'll eventually give this up, because everyone does when their > language starts seeing serious use. I won't pretend that's a real > argument though.
Yeah, we'll see. We need to deal with the current version of reality though... > Suppose ten years from now everything is written in Go. I have 500 > statically linked Go packages on my system, all of whose dependencies > were built and compiled-in at install time. Now someone finds a remote > root vulnerability in the go-openssl library. I know some of the > packages I have installed were built against it. What do I do? Use slot-operator := deps, together with the emerge --with-bdeps=y option. Then, if you bump the sub-slot of the go-openssl library, all of your go packages that have it in DEPEND with a slot-operator := dependency will be rebuilt automatically. > At least with the useless dev-go/go-openssl installed, I can use > subslots to rebuild everything after an upgrade to the fixed version. As I mentioned in my reply to William [1], we might invent a notion of having one ebuild execute another ebuild in order to install static dependencies into a temporary build directory. That way, static libraries would be built on-demand, and discarded as soon as possible. [1] https://archives.gentoo.org/gentoo-dev/message/4b150fe36bf9e0ba1eb29b1d695a3193 -- Thanks, Zac