1 |
Hi, |
2 |
|
3 |
On Sun, 25 Jan 2015 14:59:01 +0100 Michał Górny wrote: |
4 |
> Dnia 2015-01-21, o godz. 11:05:34 |
5 |
> Michał Górny <mgorny@g.o> napisał(a): |
6 |
> |
7 |
> > Generic proxy solution |
8 |
> > ---------------------- |
9 |
> > |
10 |
> > The simplest solution so far seems to be setting a generic SOCKS proxy |
11 |
> > inside the build environment, and wrapping distcc so that it will use |
12 |
> > it for network access. |
13 |
> > |
14 |
> > Unless we do some extra magic which don't want to do, this means that |
15 |
> > other apps can also abuse the proxy to reach outside sandbox. However, |
16 |
> > network-sandbox is not really a security feature, so I don't think that |
17 |
> > is important. At least as long as we don't export it globally :). |
18 |
> > |
19 |
> > Of course, software is a problem. We'd need at least some SOCKS server |
20 |
> > for Portage (at least a very simple one), and as far as I'm aware |
21 |
> > distcc does not support SOCKS directly, so tsocks in addition to that. |
22 |
> |
23 |
> So finally went this way instead. |
24 |
|
25 |
I still don't understand why. This solution: |
26 |
1) is intrusive, it requires patching distcc and upstream as good |
27 |
as dead (see below); |
28 |
2) will require a _separate_ solution for icecream and thus a |
29 |
double effort; |
30 |
3) adds additional latency for distcc network path, which is |
31 |
undesirable. |
32 |
|
33 |
Parent namespace solution looks like the most reasonable for me |
34 |
based on both arguments above and years of heavy distcc usage |
35 |
experience. |
36 |
|
37 |
> [2]:https://code.google.com/p/distcc/issues/detail?id=149 |
38 |
|
39 |
Chances to have this upstream are close to zero. If it is not |
40 |
dead, it is very close to it. Number of bugs and patches is |
41 |
accumulating without any response. No releases from 2011. |
42 |
Probably someone should fork it... |
43 |
|
44 |
Distcc has a problem with -march=native right now: it just falls |
45 |
back to local compilation if encountered it. I sent them a patch |
46 |
1.5 years ago [1] and still no reply... It also requires some |
47 |
patches for successful cross-compilation when plain gcc is invoked |
48 |
by the client. (I have patches for amd64 <-> x86 only and they may |
49 |
broke pump mode (never used it anyway), thus I haven't send them |
50 |
upstream. |
51 |
|
52 |
[1] https://groups.google.com/forum/#!topic/distcc-patches/eeP-9pTgz7E |
53 |
|
54 |
In short, this patch expands "native" argument using gcc output, |
55 |
caches result (based on fingerprint of compiler being invoked) |
56 |
and sends expanded string to distcc servers. It is in my overlay |
57 |
(bircoph) if someone is interested. Works fine for me all these |
58 |
time. |
59 |
|
60 |
Best regards, |
61 |
Andrew Savchenko |