/[gentoo]/xml/htdocs/doc/en/handbook/hb-working-features.xml
Gentoo

Diff of /xml/htdocs/doc/en/handbook/hb-working-features.xml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.1 Revision 1.2
1<!-- The content of this document is licensed under the CC-BY-SA license --> 1<!-- The content of this document is licensed under the CC-BY-SA license -->
2<!-- See http://creativecommons.org/licenses/by-sa/1.0 --> 2<!-- See http://creativecommons.org/licenses/by-sa/1.0 -->
3 3
4<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-working-features.xml,v 1.1 2003/11/20 10:52:35 swift Exp $ --> 4<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-working-features.xml,v 1.2 2003/11/26 20:19:59 swift Exp $ -->
5 5
6<sections> 6<sections>
7<section> 7<section>
8<title>DistCC</title> 8<title>DistCC</title>
9<subsection> 9<subsection>
10<title>What is DistCC?</title> 10<title>What is DistCC?</title>
11<body> 11<body>
12 12
13<p>
14<c>distcc</c> is a program to distribute compilations across several, not
15necessarily identical, machines on a network. The <c>distcc</c> client sends all
16necessary information to the available DistCC servers (running <c>distccd</c>)
17so they can compile pieces of sourcecode for the client. The net result is a
18faster compilation time.
19</p>
20
21<p>
22You can find more elaborate information about <c>distcc</c> (and information on
23how to have it work with Gentoo) in our <uri link="/doc/en/distcc.xml">Gentoo
24Distcc Documentation</uri>.
25</p>
26
13</body> 27</body>
14</subsection> 28</subsection>
15<subsection> 29<subsection>
16<title>Installing DistCC</title> 30<title>Installing DistCC</title>
17<body> 31<body>
18 32
33<p>
34Distcc ships with a graphical monitor to monitor tasks that your computer is
35sending away for compilation. If you use Gnome then put 'gnome' in your
36<c>USE</c> setting. However, if you don't use Gnome and would still like to have
37the monitor then you should put 'gtk' in your <c>USE</c> setting.
38</p>
39
40<p>
41Installing distcc is, as is with all software available through Gentoo's
42Portage, extremely easy:
43</p>
44
45<note>
46From now on, as you now know how to install binary packages if you want, we will
47omit the <c>--usepkg</c> option throughout the rest of the Gentoo Handbook.
48</note>
49
50<pre caption="Installing Distcc">
51# <i>emerge distcc</i>
52</pre>
53
19</body> 54</body>
20</subsection> 55</subsection>
21<subsection> 56<subsection>
22<title>Activating Portage Support</title> 57<title>Activating Portage Support</title>
23<body> 58<body>
59
60<p>
61Well, if installation is easy, the rest should be easy too :) So let us quickly
62activate the Portage support for <c>distcc</c>.
63</p>
64
65<p>
66First, open <path>/etc/make.conf</path> and edit the <c>FEATURES</c> variable so
67it contains the <c>distcc</c> keyword. Next, edit the <c>MAKEOPTS</c> variable
68so it reads <c>-jX</c> with <c>X</c> the number of active <c>distccd</c> hosts
69(including the host that will use <c>distcc</c> even though it doesn't
70necessarily need to run <c>distccd</c>) plus one:
71</p>
72
73<pre caption="Possible MAKEOPTS setting in /etc/make.conf">
74<comment># Suppose you have 6 distccd hosts excluding this host:</comment>
75MAKEOPTS="-j8"
76</pre>
77
78<p>
79Now, still inside <path>/etc/make.conf</path>, uncomment the
80<c>PORTAGE_TMPDIR</c> line and add the following line at the end
81of the file:
82</p>
83
84<pre caption="Add an extra, distcc-specific variable to /etc/make.conf">
85<comment># Don't forget to uncomment the PORTAGE_TMPDIR variable</comment>
86DISTCC_DIR=${PORTAGE_TMPDIR}/portage/.distcc
87</pre>
24 88
25</body> 89</body>
26</subsection> 90</subsection>
27</section> 91</section>
28<section> 92<section>
47</subsection> 111</subsection>
48</section> 112</section>
49<section> 113<section>
50<title>Binary Packages</title> 114<title>Binary Packages</title>
51<subsection> 115<subsection>
52<title>What are binary packages?</title>
53<body>
54
55</body>
56</subsection>
57<subsection>
58<title>Creating binary packages</title> 116<title>Creating binary packages</title>
59<body> 117<body>
60 118
61</body> 119<p>
62</subsection> 120We have already discussed how to work with prebuild packages, but how do you
63<subsection> 121create your own prebuild packages?
64<title>Automatically creating binary packages</title> 122</p>
65<body> 123
124<p>
125If the package is already installed, you can use the <c>quickpkg</c> command
126which will make a tarball of the installed files. This is very interesting for
127backup purposes!
128</p>
129
130<pre caption="Using quickpkg">
131# <i>quickpkg gnumeric</i>
132</pre>
133
134<p>
135If the package isn't installed yet, you can install it using <c>emerge</c> and
136ask to build a binary package too. <c>emerge</c> uses the <c>--buildpkg</c>
137option (<c>-b</c> in short) for this:
138</p>
139
140<pre caption="Installing gnumeric and building binary packages too">
141# <i>emerge --buildpkg gnumeric</i>
142</pre>
143
144<p>
145If you want Portage to do this by default, you should set the <c>buildpkg</c>
146keyword in the <c>FEATURES</c> variable declared in <path>/etc/make.conf</path>.
147</p>
148
149<p>
150If you don't want to install the software, but only build the package, you can
151use the <c>--buildpkgonly</c> option (<c>-B</c> in short):
152</p>
153
154<pre caption="Building a binary package for gnumeric">
155# <i>emerge --buildpkgonly gnumeric</i>
156</pre>
66 157
67</body> 158</body>
68</subsection> 159</subsection>
69</section> 160</section>
70</sections> 161</sections>

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

  ViewVC Help
Powered by ViewVC 1.1.20