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

Reply via email to