/[gentoo]/xml/htdocs/doc/en/handbook/hb-portage-files.xml
Gentoo

Diff of /xml/htdocs/doc/en/handbook/hb-portage-files.xml

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

Revision 1.21 Revision 1.22
1<?xml version='1.0' encoding='UTF-8'?> 1<?xml version='1.0' encoding='UTF-8'?>
2<!DOCTYPE sections SYSTEM "/dtd/book.dtd"> 2<!DOCTYPE sections SYSTEM "/dtd/book.dtd">
3 3
4<!-- The content of this document is licensed under the CC-BY-SA license --> 4<!-- The content of this document is licensed under the CC-BY-SA license -->
5<!-- See http://creativecommons.org/licenses/by-sa/2.5 --> 5<!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
6 6
7<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-portage-files.xml,v 1.21 2011/03/02 09:25:49 nightmorph Exp $ --> 7<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-portage-files.xml,v 1.22 2012/07/24 12:12:52 swift Exp $ -->
8 8
9<sections> 9<sections>
10 10
11<abstract> 11<abstract>
12Once you want to know Portage in-depth you need to know where it stores its 12Once you want to know Portage in-depth you need to know where it stores its
13files and data. 13files and data.
14</abstract> 14</abstract>
15 15
16<version>2</version> 16<version>3</version>
17<date>2011-03-02</date> 17<date>2012-07-24</date>
18 18
19<section> 19<section>
20<title>Portage Files</title> 20<title>Portage Files</title>
21<subsection> 21<subsection>
22<title>Configuration Directives</title> 22<title>Configuration Directives</title>
23<body> 23<body>
24 24
25<p> 25<p>
26Portage comes with a default configuration stored in 26Portage comes with a default configuration stored in
27<path>/etc/make.globals</path>. When you take a look at it, you'll notice that 27<path>/etc/make.globals</path>. When you take a look at it, you'll notice that
28all Portage configuration is handled through variables. What variables Portage 28all Portage configuration is handled through variables. What variables Portage
29listens to and what they mean are described later. 29listens to and what they mean are described later.
30</p> 30</p>
31 31
32<p> 32<p>
33Since many configuration directives differ between architectures, Portage also 33Since many configuration directives differ between architectures, Portage also
34has default configuration files which are part of your profile. Your profile is 34has default configuration files which are part of your profile. Your profile is
35pointed to by the <path>/etc/make.profile</path> symlink; Portage' 35pointed to by the <path>/etc/portage/make.profile</path> symlink; Portage'
36configurations are set in the <path>make.defaults</path> files of your profile 36configurations are set in the <path>make.defaults</path> files of your profile
37and all parent profiles. We'll explain more about profiles 37and all parent profiles. We'll explain more about profiles
38and the <path>/etc/make.profile</path> directory later on. 38and the <path>/etc/portage/make.profile</path> directory later on.
39</p> 39</p>
40 40
41<p> 41<p>
42If you're planning on changing a configuration variable, <e>don't</e> alter 42If you're planning on changing a configuration variable, <e>don't</e> alter
43<path>/etc/make.globals</path> or <path>make.defaults</path>. Instead use 43<path>/etc/make.globals</path> or <path>make.defaults</path>. Instead use
44<path>/etc/make.conf</path> which has precedence over the previous files. You'll 44<path>/etc/portage/make.conf</path> which has precedence over the previous
45also find a <path>/usr/share/portage/config/make.conf.example</path>. As the 45files. You'll also find a <path>/usr/share/portage/config/make.conf.example</path>.
46name implies, this is merely an example file - Portage does not read in this 46As the name implies, this is merely an example file - Portage does not read
47file. 47in this file.
48</p> 48</p>
49 49
50<p> 50<p>
51You can also define a Portage configuration variable as an environment variable, 51You can also define a Portage configuration variable as an environment variable,
52but we don't recommend this. 52but we don't recommend this.
53</p> 53</p>
54 54
55</body> 55</body>
56</subsection> 56</subsection>
57<subsection> 57<subsection>
58<title>Profile-Specific Information</title> 58<title>Profile-Specific Information</title>
59<body> 59<body>
60 60
61<p> 61<p>
62We've already encountered the <path>/etc/make.profile</path> directory. Well, 62We've already encountered the <path>/etc/portage/make.profile</path> directory.
63this isn't exactly a directory but a symbolic link to a profile, by default one 63Well, this isn't exactly a directory but a symbolic link to a profile, by
64inside <path>/usr/portage/profiles</path> although you can create your own 64default one inside <path>/usr/portage/profiles</path> although you can create
65profiles elsewhere and point to them. The profile this symlink points to is the 65your own profiles elsewhere and point to them. The profile this symlink points
66profile to which your system adheres. 66to is the profile to which your system adheres.
67</p> 67</p>
68 68
69<p> 69<p>
70A profile contains architecture-specific information for Portage, such as a 70A profile contains architecture-specific information for Portage, such as a
71list of packages that belong to the system corresponding with that profile, 71list of packages that belong to the system corresponding with that profile,
72a list of packages that don't work (or are masked-out) for that profile, etc. 72a list of packages that don't work (or are masked-out) for that profile, etc.
73</p> 73</p>
74 74
75</body> 75</body>
76</subsection> 76</subsection>
77<subsection> 77<subsection>
78<title>User-Specific Configuration</title> 78<title>User-Specific Configuration</title>
79<body> 79<body>
80 80
81<p> 81<p>
125</body> 125</body>
126</subsection> 126</subsection>
127<subsection> 127<subsection>
128<title>Changing Portage File &amp; Directory Locations</title> 128<title>Changing Portage File &amp; Directory Locations</title>
129<body> 129<body>
130 130
131<p> 131<p>
132The previously mentioned configuration files cannot be stored elsewhere - 132The previously mentioned configuration files cannot be stored elsewhere -
133Portage will always look for those configuration files at those exact locations. 133Portage will always look for those configuration files at those exact locations.
134However, Portage uses many other locations for various purposes: build 134However, Portage uses many other locations for various purposes: build
135directory, source code storage, Portage tree location, ... 135directory, source code storage, Portage tree location, ...
136</p> 136</p>
137 137
138<p> 138<p>
139All these purposes have well-known default locations but can be altered to your 139All these purposes have well-known default locations but can be altered to your
140own taste through <path>/etc/make.conf</path>. The rest of this chapter explains 140own taste through <path>/etc/portage/make.conf</path>. The rest of this chapter
141what special-purpose locations Portage uses and how to alter their placement on 141explains what special-purpose locations Portage uses and how to alter their
142your filesystem. 142placement on your filesystem.
143</p> 143</p>
144 144
145<p> 145<p>
146This document isn't meant to be used as a reference though. If you need 100% 146This document isn't meant to be used as a reference though. If you need 100%
147coverage, please consult the Portage and <path>make.conf</path> man pages: 147coverage, please consult the Portage and <path>make.conf</path> man pages:
148</p> 148</p>
149 149
150<pre caption="Reading the Portage and make.conf man pages"> 150<pre caption="Reading the Portage and make.conf man pages">
151$ <i>man portage</i> 151$ <i>man portage</i>
152$ <i>man make.conf</i> 152$ <i>man make.conf</i>
153</pre> 153</pre>
154 154
155</body> 155</body>
156</subsection> 156</subsection>
157</section> 157</section>
158<section> 158<section>
159<title>Storing Files</title> 159<title>Storing Files</title>
160<subsection> 160<subsection>
161<title>The Portage Tree</title> 161<title>The Portage Tree</title>
162<body> 162<body>
163 163
164<p> 164<p>
165The Portage tree default location is <path>/usr/portage</path>. This is defined 165The Portage tree default location is <path>/usr/portage</path>. This is defined
166by the PORTDIR variable. When you store the Portage tree elsewhere (by altering 166by the PORTDIR variable. When you store the Portage tree elsewhere (by altering
167this variable), don't forget to change the <path>/etc/make.profile</path> 167this variable), don't forget to change the <path>/etc/portage/make.profile</path>
168symbolic link accordingly. 168symbolic link accordingly.
169</p> 169</p>
170 170
171<p> 171<p>
172If you alter the PORTDIR variable, you might want to alter the following 172If you alter the PORTDIR variable, you might want to alter the following
173variables as well since they will not notice the PORTDIR change. This is due to 173variables as well since they will not notice the PORTDIR change. This is due to
174how Portage handles variables: PKGDIR, DISTDIR, RPMDIR. 174how Portage handles variables: PKGDIR, DISTDIR, RPMDIR.
175</p> 175</p>
176 176
177</body> 177</body>
178</subsection> 178</subsection>
179<subsection> 179<subsection>
180<title>Prebuilt Binaries</title> 180<title>Prebuilt Binaries</title>
181<body> 181<body>
182 182

Legend:
Removed from v.1.21  
changed lines
  Added in v.1.22

  ViewVC Help
Powered by ViewVC 1.1.20