On 07/04/2015 01:24 PM, William Hubbs wrote:
> On Sat, Jul 04, 2015 at 12:43:37PM -0700, Zac Medico wrote:
>> On 07/04/2015 12:32 PM, William Hubbs wrote:
>>> On Sat, Jul 04, 2015 at 12:19:28PM -0700, Zac Medico wrote:
>>>> On 06/30/2015 03:08 PM, William Hubbs wrote:
>>>>>  The source code is where the compatibility between versions of Go is,
>>>>>  not the static objects, so what if, for third-party go packages, we
>>>>> skip installing the static objects?
>>>>>
>>>>> The only down side of this would be that there might be longer rebuilds
>>>>> if the packages have multiple consumers, but it gets rid of the static
>>>>> objects.
>>>>>
>>>>> What do you think?
>>>>
>>>> I'll give real example involving go-tools. The go-tools build requires
>>>> go-net, which in turn requires go-text. If the go-net *.a files are
>>>> installed, then it is possible to build go-tools against go-net without
>>>> having go-text installed. If the go-net *.a files are not installed,
>>>> then you will have to install go-text before you can build go-tools. It
>>>> introduces an indirect build-time dependency between go-tools and go-text.
>>>
>>> Sure, but what I'm proposing is that we do not install any *.a files
>>> for Go software that is not part of dev-lang/go.
>>
>> Exactly the same type of situation can arise for packages that are not
>> part of dev-lang/go. For example, if consul's static api.a library is
>> not installed, then it will introduce indirect build-time dependencies
>> for the consul-template package.
> 
> Hmm, I haven't looked at either consul or consul-template yet, but I'm
> thinking that if you use golang-build.eclass to install everything and
> make sure GOPATH is set correctly, consul-template will pick up
> everything it needs.
> 
> What am I missing?

You need to recognize that "build-time for package A" is not the same as
"build-time for package B". When you build go-tools, you can't rely on
the build-time dependencies of go-net being present. Likewise, you can't
rely on the build-time dependencies of consul being present when
consul-template is built.
-- 
Thanks,
Zac

Reply via email to