|
|
1 | <?xml version='1.0' encoding='UTF-8'?> |
|
|
2 | <!DOCTYPE sections SYSTEM "/dtd/book.dtd"> |
|
|
3 | |
| 1 | <!-- 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 --> |
| 2 | <!-- See http://creativecommons.org/licenses/by-sa/1.0 --> |
5 | <!-- See http://creativecommons.org/licenses/by-sa/2.0 --> |
| 3 | |
6 | |
| 4 | <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-working-portage.xml,v 1.1 2003/11/20 10:52:35 swift Exp $ --> |
7 | <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-working-portage.xml,v 1.54 2005/06/11 12:16:14 swift Exp $ --> |
| 5 | |
8 | |
| 6 | <sections> |
9 | <sections> |
|
|
10 | |
|
|
11 | <version>1.49</version> |
|
|
12 | <date>2005-06-11</date> |
|
|
13 | |
| 7 | <section> |
14 | <section> |
| 8 | <title>Obtaining Package Information</title> |
15 | <title>Welcome to Portage</title> |
| 9 | <subsection> |
|
|
| 10 | <title>The Lord of All Tools: emerge</title> |
|
|
| 11 | <body> |
|
|
| 12 | |
|
|
| 13 | </body> |
16 | <body> |
| 14 | </subsection> |
17 | |
| 15 | <subsection> |
18 | <p> |
| 16 | <title>Search for a Package</title> |
19 | Portage is probably Gentoo's most notable innovation in software management. |
|
|
20 | With its high flexibility and enormous amount of features it is frequently seen |
|
|
21 | as the best software management tool available for Linux. |
|
|
22 | </p> |
|
|
23 | |
|
|
24 | <p> |
|
|
25 | Portage is completely written in <uri link="http://www.python.org">Python</uri> |
|
|
26 | and <uri link="http://www.gnu.org/software/bash">Bash</uri> and therefore fully |
|
|
27 | visible to the users as both are scripting languages. |
|
|
28 | </p> |
|
|
29 | |
|
|
30 | <p> |
|
|
31 | Most users will work with Portage through the <c>emerge</c> tool. This chapter |
|
|
32 | is not meant to duplicate the information available from the emerge man page. |
|
|
33 | For a complete rundown of emerge's options, please consult the man page: |
|
|
34 | </p> |
|
|
35 | |
|
|
36 | <pre caption="Reading the emerge man page"> |
|
|
37 | $ <i>man emerge</i> |
|
|
38 | </pre> |
|
|
39 | |
| 17 | <body> |
40 | </body> |
| 18 | |
|
|
| 19 | </body> |
|
|
| 20 | </subsection> |
|
|
| 21 | </section> |
41 | </section> |
| 22 | <section> |
42 | <section> |
| 23 | <title>Updating Portage</title> |
43 | <title>The Portage Tree</title> |
| 24 | <subsection> |
|
|
| 25 | <title>Using rsync</title> |
|
|
| 26 | <body> |
|
|
| 27 | |
|
|
| 28 | </body> |
|
|
| 29 | </subsection> |
44 | <subsection> |
|
|
45 | <title>Ebuilds</title> |
|
|
46 | <body> |
|
|
47 | |
|
|
48 | <p> |
|
|
49 | When we talk about packages, we often mean software titles that are available to |
|
|
50 | the Gentoo users through the Portage tree. The Portage tree is a collection of |
|
|
51 | <e>ebuilds</e>, files that contain all information Portage needs to maintain |
|
|
52 | software (install, search, query, ...). These ebuilds reside in |
|
|
53 | <path>/usr/portage</path> by default. |
|
|
54 | </p> |
|
|
55 | |
|
|
56 | <p> |
|
|
57 | Whenever you ask Portage to perform some action regarding software titles, it |
|
|
58 | will use the ebuilds on your system as a base. It is therefore important that |
|
|
59 | you regularly update the ebuilds on your system so Portage knows about new |
|
|
60 | software, security updates, etc. |
|
|
61 | </p> |
|
|
62 | |
|
|
63 | </body> |
| 30 | <subsection> |
64 | </subsection> |
| 31 | <title>Using a Downloaded Snapshot</title> |
65 | <subsection> |
|
|
66 | <title>Updating the Portage Tree</title> |
| 32 | <body> |
67 | <body> |
|
|
68 | |
|
|
69 | <p> |
|
|
70 | The Portage tree is usually updated with <uri |
|
|
71 | link="http://rsync.samba.org/">rsync</uri>, a fast incremental file transfer |
|
|
72 | utility. Updating is fairly simple as the <c>emerge</c> command provides a |
|
|
73 | front-end for rsync: |
|
|
74 | </p> |
|
|
75 | |
|
|
76 | <pre caption="Updating the Portage tree"> |
|
|
77 | # <i>emerge --sync</i> |
|
|
78 | </pre> |
|
|
79 | |
|
|
80 | <p> |
|
|
81 | If you are unable to rsync due to firewall restrictions you can still update |
|
|
82 | your Portage tree by using our daily generated Portage tree snapshots. The |
|
|
83 | <c>emerge-webrsync</c> tool automatically fetches and installs the latest |
|
|
84 | snapshot on your system: |
|
|
85 | </p> |
|
|
86 | |
|
|
87 | <pre caption="Running emerge-webrsync"> |
|
|
88 | # <i>emerge-webrsync</i> |
|
|
89 | </pre> |
| 33 | |
90 | |
| 34 | </body> |
91 | </body> |
| 35 | </subsection> |
92 | </subsection> |
| 36 | </section> |
93 | </section> |
| 37 | <section> |
94 | <section> |
| 38 | <title>Maintaining Software</title> |
95 | <title>Maintaining Software</title> |
| 39 | <subsection> |
96 | <subsection> |
|
|
97 | <title>Searching for Software</title> |
|
|
98 | <body> |
|
|
99 | |
|
|
100 | <p> |
|
|
101 | To search through the Portage tree after software titles, you can use |
|
|
102 | <c>emerge</c> built-in search capabilities. By default, <c>emerge --search</c> |
|
|
103 | returns the names of packages whose title matches (either fully or partially) |
|
|
104 | the given search term. |
|
|
105 | </p> |
|
|
106 | |
|
|
107 | <p> |
|
|
108 | For instance, to search for all packages who have "pdf" in their name: |
|
|
109 | </p> |
|
|
110 | |
|
|
111 | <pre caption="Searching for pdf-named packages"> |
|
|
112 | $ <i>emerge --search pdf</i> |
|
|
113 | </pre> |
|
|
114 | |
|
|
115 | <p> |
|
|
116 | If you want to search through the descriptions as well you can use the |
|
|
117 | <c>--searchdesc</c> (or <c>-S</c>) switch: |
|
|
118 | </p> |
|
|
119 | |
|
|
120 | <pre caption="Searching for pdf-related packages"> |
|
|
121 | $ <i>emerge --searchdesc pdf</i> |
|
|
122 | </pre> |
|
|
123 | |
|
|
124 | <p> |
|
|
125 | When you take a look at the output, you'll notice that it gives you a lot of |
|
|
126 | information. The fields are clearly labelled so we won't go further into their |
|
|
127 | meanings: |
|
|
128 | </p> |
|
|
129 | |
|
|
130 | <pre caption="Example 'emerge --search' output"> |
|
|
131 | * net-print/cups-pdf |
|
|
132 | Latest version available: 1.5.2 |
|
|
133 | Latest version installed: [ Not Installed ] |
|
|
134 | Size of downloaded files: 15 kB |
|
|
135 | Homepage: http://cip.physik.uni-wuerzburg.de/~vrbehr/cups-pdf/ |
|
|
136 | Description: Provides a virtual printer for CUPS to produce PDF files. |
|
|
137 | License: GPL-2 |
|
|
138 | </pre> |
|
|
139 | |
|
|
140 | </body> |
|
|
141 | </subsection> |
|
|
142 | <subsection> |
| 40 | <title>Installing Software</title> |
143 | <title>Installing Software</title> |
| 41 | <body> |
144 | <body> |
| 42 | |
145 | |
|
|
146 | <p> |
|
|
147 | Once you've found a software title to your liking, you can easily install it |
|
|
148 | with <c>emerge</c>: just add the package name. For instance, to install |
|
|
149 | <c>gnumeric</c>: |
|
|
150 | </p> |
|
|
151 | |
|
|
152 | <pre caption="Installing gnumeric"> |
|
|
153 | # <i>emerge gnumeric</i> |
|
|
154 | </pre> |
|
|
155 | |
|
|
156 | <p> |
|
|
157 | Since many applications depend on each other, any attempt to install a certain |
|
|
158 | software package might result in the installation of several dependencies as |
|
|
159 | well. Don't worry, Portage handles dependencies well. If you want to find out |
|
|
160 | what Portage <e>would</e> install when you ask it to install a certain package, |
|
|
161 | add the <c>--pretend</c> switch. For instance: |
|
|
162 | </p> |
|
|
163 | |
|
|
164 | <pre caption="Pretend to install gnumeric"> |
|
|
165 | # <i>emerge --pretend gnumeric</i> |
|
|
166 | </pre> |
|
|
167 | |
|
|
168 | <p> |
|
|
169 | When you ask Portage to install a package, it will download the necessary source |
|
|
170 | code from the internet (if necessary) and store it by default in |
|
|
171 | <path>/usr/portage/distfiles</path>. After this it will unpack, compile and |
|
|
172 | install the package. If you want Portage to only download the sources without |
|
|
173 | installing them, add the <c>--fetchonly</c> option to the <c>emerge</c> command: |
|
|
174 | </p> |
|
|
175 | |
|
|
176 | <pre caption="Download the sourcecode for gnumeric"> |
|
|
177 | # <i>emerge --fetchonly gnumeric</i> |
|
|
178 | </pre> |
|
|
179 | |
| 43 | </body> |
180 | </body> |
| 44 | </subsection> |
|
|
| 45 | <subsection> |
181 | </subsection> |
| 46 | <title>Updating Software</title> |
182 | <subsection> |
|
|
183 | <title>Finding Installed Package Documentation</title> |
| 47 | <body> |
184 | <body> |
|
|
185 | |
|
|
186 | <p> |
|
|
187 | Many packages come with their own documentation. Sometimes, the <c>doc</c> USE |
|
|
188 | flag determines whether the package documentation should be installed or not. |
|
|
189 | You can check the existence of a <c>doc</c> USE flag with the <c>emerge -vp |
|
|
190 | <package name></c> command. |
|
|
191 | </p> |
|
|
192 | |
|
|
193 | <pre caption="Checking the existence of a doc USE flag"> |
|
|
194 | <comment>(alsa-lib is just an example, of course.)</comment> |
|
|
195 | # <i>emerge -vp alsa-lib</i> |
|
|
196 | [ebuild N ] media-libs/alsa-lib-1.0.9_rc3 +doc -jack 674 kB |
|
|
197 | </pre> |
|
|
198 | |
|
|
199 | <p> |
|
|
200 | You can enable or disable the <c>doc</c> USE flag either globally in the |
|
|
201 | <path>/etc/make.conf</path> file or per package in the |
|
|
202 | <path>/etc/portage/package.use</path> file. The <uri |
|
|
203 | link="?part=2&chap=2">USE Flags</uri> chapter covers this aspect in detail. |
|
|
204 | </p> |
|
|
205 | |
|
|
206 | <p> |
|
|
207 | Once the package installed, its documentation is generally found in a |
|
|
208 | subdirectory named after the package under the <path>/usr/share/doc</path> |
|
|
209 | directory. You can also list all installed files with the <c>equery</c> tool |
|
|
210 | which is part of the <c>app-portage/gentoolkit</c> <uri |
|
|
211 | link="/doc/en/gentoolkit.xml">package</uri>. |
|
|
212 | </p> |
|
|
213 | |
|
|
214 | <pre caption="Locating package documentation"> |
|
|
215 | # <i>ls -l /usr/share/doc/alsa-lib-1.0.9_rc3</i> |
|
|
216 | total 28 |
|
|
217 | -rw-r--r-- 1 root root 669 May 17 21:54 ChangeLog.gz |
|
|
218 | -rw-r--r-- 1 root root 9373 May 17 21:54 COPYING.gz |
|
|
219 | drwxr-xr-x 2 root root 8560 May 17 21:54 html |
|
|
220 | -rw-r--r-- 1 root root 196 May 17 21:54 TODO.gz |
|
|
221 | |
|
|
222 | <comment>(Alternatively, use equery to locate interesting files:)</comment> |
|
|
223 | # <i>equery files alsa-lib | less</i> |
|
|
224 | media-libs/alsa-lib-1.0.9_rc3 |
|
|
225 | * Contents of media-libs/alsa-lib-1.0.9_rc3: |
|
|
226 | /usr |
|
|
227 | /usr/bin |
|
|
228 | /usr/bin/alsalisp |
|
|
229 | <comment>(Output truncated)</comment> |
|
|
230 | </pre> |
| 48 | |
231 | |
| 49 | </body> |
232 | </body> |
| 50 | </subsection> |
233 | </subsection> |
| 51 | <subsection> |
234 | <subsection> |
| 52 | <title>Removing Software</title> |
235 | <title>Removing Software</title> |
| 53 | <body> |
236 | <body> |
|
|
237 | |
|
|
238 | <p> |
|
|
239 | When you want to remove a software package from your system, use <c>emerge |
|
|
240 | --unmerge</c>. This will tell Portage to remove all files installed by that |
|
|
241 | package from your system <e>except</e> the configuration files of that |
|
|
242 | application if you have altered those after the installation. Leaving the |
|
|
243 | configuration files allows you to continue working with the package if you ever |
|
|
244 | decide to install it again. |
|
|
245 | </p> |
|
|
246 | |
|
|
247 | <p> |
|
|
248 | However, a <brite>big warning</brite> applies: Portage will <e>not</e> check if |
|
|
249 | the package you want to remove is required by another package. It will however |
|
|
250 | warn you when you want to remove an important package that breaks your system |
|
|
251 | if you unmerge it. |
|
|
252 | </p> |
|
|
253 | |
|
|
254 | <pre caption="Removing gnumeric from the system"> |
|
|
255 | # <i>emerge --unmerge gnumeric</i> |
|
|
256 | </pre> |
|
|
257 | |
|
|
258 | <p> |
|
|
259 | When you remove a package from your system, the dependencies of that package |
|
|
260 | that were installed automatically when you installed the software are left. To |
|
|
261 | have Portage locate all dependencies that can now be removed, use |
|
|
262 | <c>emerge</c>'s <c>--depclean</c> functionality. We will talk about this later |
|
|
263 | on. |
|
|
264 | </p> |
|
|
265 | |
|
|
266 | </body> |
|
|
267 | </subsection> |
|
|
268 | <subsection> |
|
|
269 | <title>Updating your System</title> |
|
|
270 | <body> |
|
|
271 | |
|
|
272 | <p> |
|
|
273 | To keep your system in perfect shape (and not to mention install the latest |
|
|
274 | security updates) you need to update your system regularly. Since Portage only |
|
|
275 | checks the ebuilds in your Portage tree you first have to update your Portage |
|
|
276 | tree. When your Portage tree is updated, you can update your system with |
|
|
277 | <c>emerge --update world</c>: |
|
|
278 | </p> |
|
|
279 | |
|
|
280 | <pre caption="Updating your system"> |
|
|
281 | # <i>emerge --update world</i> |
|
|
282 | </pre> |
|
|
283 | |
|
|
284 | <p> |
|
|
285 | Portage will then search for newer version of the applications you have |
|
|
286 | installed. However, it will only verify the versions for the applications you |
|
|
287 | have explicitly installed - not the dependencies. If you want to update every |
|
|
288 | single package on your system, add the <c>--deep</c> argument: |
|
|
289 | </p> |
|
|
290 | |
|
|
291 | <pre caption="Updating your entire system"> |
|
|
292 | # <i>emerge --update --deep world</i> |
|
|
293 | </pre> |
|
|
294 | |
|
|
295 | <p> |
|
|
296 | Since security updates also happen in packages you have not explicitly installed |
|
|
297 | on your system (but that are pulled in as dependencies of other programs), it |
|
|
298 | is recommended to run this command once in a while. |
|
|
299 | </p> |
|
|
300 | |
|
|
301 | <p> |
|
|
302 | If you have altered any of your <uri link="?part=2&chap=2">USE flags</uri> |
|
|
303 | lately you might want to add <c>--newuse</c> as well. Portage will then verify |
|
|
304 | if the change requires the installation of new packages or recompilation of |
|
|
305 | existing ones: |
|
|
306 | </p> |
|
|
307 | |
|
|
308 | <pre caption="Performing a full update"> |
|
|
309 | # <i>emerge --update --deep --newuse world</i> |
|
|
310 | </pre> |
|
|
311 | |
|
|
312 | </body> |
|
|
313 | </subsection> |
|
|
314 | <subsection> |
|
|
315 | <title>Metapackages</title> |
|
|
316 | <body> |
|
|
317 | |
|
|
318 | <p> |
|
|
319 | Some packages in the Portage tree don't have any real content but are used to |
|
|
320 | install a collection of packages. For instance, the <c>kde</c> package will |
|
|
321 | install a complete KDE environment on your system by pulling in various |
|
|
322 | KDE-related packages as dependencies. |
|
|
323 | </p> |
|
|
324 | |
|
|
325 | <p> |
|
|
326 | If you ever want to remove such a package from your system, running <c>emerge |
|
|
327 | --unmerge</c> on the package won't have much effect as the dependencies remain |
|
|
328 | on the system. |
|
|
329 | </p> |
|
|
330 | |
|
|
331 | <p> |
|
|
332 | Portage has the functionality to remove orphaned dependencies as well, but since |
|
|
333 | the availability of software is dynamically dependent you first need to update |
|
|
334 | your entire system fully, including the new changes you applied when changing |
|
|
335 | USE flags. After this you can run <c>emerge --depclean</c> to remove the |
|
|
336 | orphaned dependencies. When this is done, you need to rebuild the applications |
|
|
337 | that were dynamically linked to the now-removed software titles but don't |
|
|
338 | require them anymore. |
|
|
339 | </p> |
|
|
340 | |
|
|
341 | <p> |
|
|
342 | All this is handled with the following three commands: |
|
|
343 | </p> |
|
|
344 | |
|
|
345 | <pre caption="Removing orphaned dependencies"> |
|
|
346 | # <i>emerge --update --deep --newuse world</i> |
|
|
347 | # <i>emerge --depclean</i> |
|
|
348 | # <i>revdep-rebuild</i> |
|
|
349 | </pre> |
|
|
350 | |
|
|
351 | <p> |
|
|
352 | <c>revdep-rebuild</c> is provided by the <c>gentoolkit</c> package; don't forget |
|
|
353 | to emerge it first: |
|
|
354 | </p> |
|
|
355 | |
|
|
356 | <pre caption="Installing the gentoolkit package"> |
|
|
357 | # <i>emerge gentoolkit</i> |
|
|
358 | </pre> |
| 54 | |
359 | |
| 55 | </body> |
360 | </body> |
| 56 | </subsection> |
361 | </subsection> |
| 57 | </section> |
362 | </section> |
| 58 | <section> |
363 | <section> |
| 59 | <title>Software Availability</title> |
364 | <title>When Portage is Complaining...</title> |
| 60 | <subsection> |
|
|
| 61 | <title>ARCH or not?</title> |
|
|
| 62 | <body> |
|
|
| 63 | |
|
|
| 64 | </body> |
|
|
| 65 | </subsection> |
365 | <subsection> |
|
|
366 | <title>About SLOTs, Virtuals, Branches, Architectures and Profiles</title> |
|
|
367 | <body> |
|
|
368 | |
|
|
369 | <p> |
|
|
370 | As we stated before, Portage is extremely powerful and supports many features |
|
|
371 | that other software management tools lack. To understand this, we explain a few |
|
|
372 | aspects of Portage without going into too much detail. |
|
|
373 | </p> |
|
|
374 | |
|
|
375 | <p> |
|
|
376 | With Portage different versions of a single package can coexist on a system. |
|
|
377 | While other distributions tend to name their package to those versions (like |
|
|
378 | <c>freetype</c> and <c>freetype2</c>) Portage uses a technology called |
|
|
379 | <e>SLOT</e>s. An ebuild declares a certain SLOT for its version. Ebuilds with |
|
|
380 | different SLOTs can coexist on the same system. For instance, the |
|
|
381 | <c>freetype</c> package has ebuilds with <c>SLOT="1"</c> and <c>SLOT="2"</c>. |
|
|
382 | </p> |
|
|
383 | |
|
|
384 | <p> |
|
|
385 | There are also packages that provide the same functionality but are implemented |
|
|
386 | differently. For instance, <c>metalogd</c>, <c>sysklogd</c> and <c>syslog-ng</c> |
|
|
387 | are all system loggers. Applications that rely on the availability of "a system |
|
|
388 | logger" cannot depend on, for instance, <c>metalogd</c>, as the other system |
|
|
389 | loggers are as good a choice as any. Portage allows for <e>virtuals</e>: each |
|
|
390 | system logger provides <c>virtual/syslog</c> so that applications can depend on |
|
|
391 | <c>virtual/syslog</c>. |
|
|
392 | </p> |
|
|
393 | |
|
|
394 | <p> |
|
|
395 | Software in the Portage tree can reside in different branches. By default your |
|
|
396 | system only accepts packages that Gentoo deems stable. Most new software titles, |
|
|
397 | when committed, are added to the testing branch, meaning more testing needs to |
|
|
398 | be done before it is marked as stable. Although you will see the ebuilds for |
|
|
399 | those software in the Portage tree, Portage will not update them before they are |
|
|
400 | placed in the stable branch. |
|
|
401 | </p> |
|
|
402 | |
|
|
403 | <p> |
|
|
404 | Some software is only available for a few architectures. Or the software doesn't |
|
|
405 | work on the other architectures, or it needs more testing, or the developer that |
|
|
406 | committed the software to the Portage tree is unable to verify if the package |
|
|
407 | works on different architectures. |
|
|
408 | </p> |
|
|
409 | |
|
|
410 | <p> |
|
|
411 | Each Gentoo installation adheres to a certain <c>profile</c> which contains, |
|
|
412 | amongst other information, the list of packages that are required for a system |
|
|
413 | to function normally. |
|
|
414 | </p> |
|
|
415 | |
|
|
416 | </body> |
| 66 | <subsection> |
417 | </subsection> |
|
|
418 | <subsection id="blocked"> |
|
|
419 | <title>Blocked Packages</title> |
|
|
420 | <body> |
|
|
421 | |
|
|
422 | <pre caption="Portage warning about blocked packages (with --pretend)"> |
|
|
423 | [blocks B ] gnome-base/bonobo-activation (from pkg gnome-base/libbonobo-2.4.0) |
|
|
424 | </pre> |
|
|
425 | |
|
|
426 | <pre caption="Portage warning about blocked packages (without --pretend)"> |
|
|
427 | !!! Error: the gnome-base/bonobo-activation package conflicts with another package. |
|
|
428 | !!! both can't be installed on the same system together. |
|
|
429 | !!! Please use 'emerge --pretend' to determine blockers. |
|
|
430 | </pre> |
|
|
431 | |
|
|
432 | <p> |
|
|
433 | Ebuilds contain specific fields that inform Portage about its dependencies. |
|
|
434 | There are two possible dependencies: build dependencies, declared in |
|
|
435 | <c>DEPEND</c> and run-time dependencies, declared in <c>RDEPEND</c>. When one of |
|
|
436 | these dependencies explicitly marks a package or virtual as being <e>not</e> |
|
|
437 | compatible, it triggers a blockage. |
|
|
438 | </p> |
|
|
439 | |
|
|
440 | <p> |
|
|
441 | To fix a blockage, you can choose to not install the package or unmerge the |
|
|
442 | conflicting package first. In the given example, you can opt not to install |
|
|
443 | <c>libbonobo</c> or to remove <c>bonobo-activation</c> first. |
|
|
444 | </p> |
|
|
445 | |
|
|
446 | </body> |
|
|
447 | </subsection> |
|
|
448 | <subsection id="masked"> |
| 67 | <title>Masked Packages</title> |
449 | <title>Masked Packages</title> |
| 68 | <body> |
450 | <body> |
| 69 | |
451 | |
|
|
452 | <pre caption="Portage warning about masked packages"> |
|
|
453 | !!! all ebuilds that could satisfy "bootsplash" have been masked. |
|
|
454 | </pre> |
|
|
455 | |
|
|
456 | <pre caption="Portage warning about masked packages - reason"> |
|
|
457 | !!! possible candidates are: |
|
|
458 | |
|
|
459 | - gnome-base/gnome-2.8.0_pre1 (masked by: <i>~x86 keyword</i>) |
|
|
460 | - lm-sensors/lm-sensors-2.8.7 (masked by: <i>-sparc keyword</i>) |
|
|
461 | - sys-libs/glibc-2.3.4.20040808 (masked by: <i>-* keyword</i>) |
|
|
462 | - dev-util/cvsd-1.0.2 (masked by: <i>missing keyword</i>) |
|
|
463 | - media-video/ati-gatos-4.3.0 (masked by: <i>package.mask</i>) |
|
|
464 | - sys-libs/glibc-2.3.2-r11 (masked by: <i>profile</i>) |
|
|
465 | </pre> |
|
|
466 | |
|
|
467 | <p> |
|
|
468 | When you want to install a package that isn't available for your system, you |
|
|
469 | will receive this masking error. You should try installing a different |
|
|
470 | application that is available for your system or wait until the package is put |
|
|
471 | available. There is always a reason why a package is masked: |
|
|
472 | </p> |
|
|
473 | |
|
|
474 | <ul> |
|
|
475 | <li> |
|
|
476 | <b>~arch keyword</b> means that the application is not tested sufficiently |
|
|
477 | to be put in the stable branch. Wait a few days or weeks and try again. |
|
|
478 | </li> |
|
|
479 | <li> |
|
|
480 | <b>-arch keyword</b> or <b>-* keyword</b> means that the application does |
|
|
481 | not work on your architecture. If you believe the package does work file |
|
|
482 | a bug at our <uri link="http://bugs.gentoo.org">bugzilla</uri> website. |
|
|
483 | </li> |
|
|
484 | <li> |
|
|
485 | <b>missing keyword</b> means that the application has not been tested on |
|
|
486 | your architecture yet. Ask the architecture porting team to test the package |
|
|
487 | or test it for them and report your findings on our <uri |
|
|
488 | link="http://bugs.gentoo.org">bugzilla</uri> website. |
|
|
489 | </li> |
|
|
490 | <li> |
|
|
491 | <b>package.mask</b> means that the package has been found corrupt, unstable |
|
|
492 | or worse and has been deliberately marked as do-not-use. |
|
|
493 | </li> |
|
|
494 | <li> |
|
|
495 | <b>profile</b> means that the package has been found not suitable for your |
|
|
496 | profile. The application might break your system if you installed it or is |
|
|
497 | just not compatible with the profile you use. |
|
|
498 | </li> |
|
|
499 | </ul> |
|
|
500 | |
| 70 | </body> |
501 | </body> |
| 71 | </subsection> |
|
|
| 72 | <subsection> |
502 | </subsection> |
| 73 | <title>Blocked Packages</title> |
503 | <subsection id="missingdependencies"> |
|
|
504 | <title>Missing Dependencies</title> |
|
|
505 | <body> |
|
|
506 | |
|
|
507 | <pre caption="Portage warning about missing dependency"> |
|
|
508 | emerge: there are no ebuilds to satisfy ">=sys-devel/gcc-3.4.2-r4". |
|
|
509 | |
|
|
510 | !!! Problem with ebuild sys-devel/gcc-3.4.2-r2 |
|
|
511 | !!! Possibly a DEPEND/*DEPEND problem. |
|
|
512 | </pre> |
|
|
513 | |
|
|
514 | <p> |
|
|
515 | The application you are trying to install depends on another package that is not |
|
|
516 | available for your system. Please check <uri |
|
|
517 | link="http://bugs.gentoo.org">bugzilla</uri> if the issue is known and if not, |
|
|
518 | please report it. Unless you are mixing branches this should not occur and is |
|
|
519 | therefore a bug. |
|
|
520 | </p> |
|
|
521 | |
| 74 | <body> |
522 | </body> |
|
|
523 | </subsection> |
|
|
524 | <subsection id="ambiguousebuild"> |
|
|
525 | <title>Ambiguous Ebuild Name</title> |
|
|
526 | <body> |
|
|
527 | |
|
|
528 | <pre caption="Portage warning about ambiguous ebuild names"> |
|
|
529 | !!! The short ebuild name "aterm" is ambiguous. Please specify |
|
|
530 | !!! one of the following fully-qualified ebuild names instead: |
|
|
531 | |
|
|
532 | dev-libs/aterm |
|
|
533 | x11-terms/aterm |
|
|
534 | </pre> |
|
|
535 | |
|
|
536 | <p> |
|
|
537 | The application you want to install has a name that corresponds with more than |
|
|
538 | one package. You need to supply the category name as well. Portage will inform |
|
|
539 | you of possible matches to choose from. |
|
|
540 | </p> |
|
|
541 | |
|
|
542 | </body> |
|
|
543 | </subsection> |
|
|
544 | <subsection id="circulardependencies"> |
|
|
545 | <title>Circular Dependencies</title> |
|
|
546 | <body> |
|
|
547 | |
|
|
548 | <pre caption="Portage warning about circular dependencies"> |
|
|
549 | !!! Error: circular dependencies: |
|
|
550 | |
|
|
551 | ebuild / net-print/cups-1.1.15-r2 depends on ebuild / app-text/ghostscript-7.05.3-r1 |
|
|
552 | ebuild / app-text/ghostscript-7.05.3-r1 depends on ebuild / net-print/cups-1.1.15-r2 |
|
|
553 | </pre> |
|
|
554 | |
|
|
555 | <p> |
|
|
556 | Two (or more) packages you want to install depend on each other and can |
|
|
557 | therefore not be installed. This is most likely a bug in the Portage tree. |
|
|
558 | Please resync after a while and try again. You can also check <uri |
|
|
559 | link="http://bugs.gentoo.org">bugzilla</uri> if the issue is known and if not, |
|
|
560 | report it. |
|
|
561 | </p> |
|
|
562 | |
|
|
563 | </body> |
|
|
564 | </subsection> |
|
|
565 | <subsection id="fetchfailed"> |
|
|
566 | <title>Fetch failed</title> |
|
|
567 | <body> |
|
|
568 | |
|
|
569 | <pre caption="Portage warning about fetch failed"> |
|
|
570 | !!! Fetch failed for sys-libs/ncurses-5.4-r5, continuing... |
|
|
571 | <comment>(...)</comment> |
|
|
572 | !!! Some fetch errors were encountered. Please see above for details. |
|
|
573 | </pre> |
|
|
574 | |
|
|
575 | <p> |
|
|
576 | Portage was unable to download the sources for the given application and will |
|
|
577 | try to continue installing the other applications (if applicable). This failure |
|
|
578 | can be due to a mirror that has not synchronised correctly or because the ebuild |
|
|
579 | points to an incorrect location. The server where the sources reside can also be |
|
|
580 | down for some reason. |
|
|
581 | </p> |
|
|
582 | |
|
|
583 | <p> |
|
|
584 | Retry after one hour to see if the issue still persists. |
|
|
585 | </p> |
|
|
586 | |
|
|
587 | </body> |
|
|
588 | </subsection> |
|
|
589 | <subsection id="profileprotect"> |
|
|
590 | <title>System Profile Protection</title> |
|
|
591 | <body> |
|
|
592 | |
|
|
593 | <pre caption="Portage warning about profile-protected package"> |
|
|
594 | !!! Trying to unmerge package(s) in system profile. 'sys-apps/portage' |
|
|
595 | !!! This could be damaging to your system. |
|
|
596 | </pre> |
|
|
597 | |
|
|
598 | <p> |
|
|
599 | You have asked to remove a package that is part of your system's core packages. |
|
|
600 | It is listed in your profile as required and should therefore not be removed |
|
|
601 | from the system. |
|
|
602 | </p> |
| 75 | |
603 | |
| 76 | </body> |
604 | </body> |
| 77 | </subsection> |
605 | </subsection> |
| 78 | </section> |
606 | </section> |
| 79 | </sections> |
607 | </sections> |