1 |
On 07/04/2015 12:32 PM, William Hubbs wrote: |
2 |
> On Sat, Jul 04, 2015 at 12:19:28PM -0700, Zac Medico wrote: |
3 |
>> On 06/30/2015 03:08 PM, William Hubbs wrote: |
4 |
>>> The source code is where the compatibility between versions of Go is, |
5 |
>>> not the static objects, so what if, for third-party go packages, we |
6 |
>>> skip installing the static objects? |
7 |
>>> |
8 |
>>> The only down side of this would be that there might be longer rebuilds |
9 |
>>> if the packages have multiple consumers, but it gets rid of the static |
10 |
>>> objects. |
11 |
>>> |
12 |
>>> What do you think? |
13 |
>> |
14 |
>> I'll give real example involving go-tools. The go-tools build requires |
15 |
>> go-net, which in turn requires go-text. If the go-net *.a files are |
16 |
>> installed, then it is possible to build go-tools against go-net without |
17 |
>> having go-text installed. If the go-net *.a files are not installed, |
18 |
>> then you will have to install go-text before you can build go-tools. It |
19 |
>> introduces an indirect build-time dependency between go-tools and go-text. |
20 |
> |
21 |
> Sure, but what I'm proposing is that we do not install any *.a files |
22 |
> for Go software that is not part of dev-lang/go. |
23 |
|
24 |
Exactly the same type of situation can arise for packages that are not |
25 |
part of dev-lang/go. For example, if consul's static api.a library is |
26 |
not installed, then it will introduce indirect build-time dependencies |
27 |
for the consul-template package. |
28 |
-- |
29 |
Thanks, |
30 |
Zac |