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

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

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

Revision 1.4 Revision 1.22
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/1.0 -->
3 6
4<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-working-portage.xml,v 1.4 2003/11/27 11:08:00 swift Exp $ --> 7<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-working-portage.xml,v 1.22 2004/02/03 20:25:45 swift Exp $ -->
5 8
6<sections> 9<sections>
7<section> 10<section>
8<title>Obtaining Package Information</title> 11<title>Obtaining Package Information</title>
9<subsection> 12<subsection>
10<title>The Lord of All Tools: emerge</title> 13<title>The Lord of All Tools: emerge</title>
11<body> 14<body>
12 15
13<p> 16<p>
14We have briefly encountered <c>emerge</c> in the previous chapter, but not to 17The main Portage tool that most users will use is <c>emerge</c>. We have already
15the extent that you are now able to work with it to its fullest potential. We 18used it during the Gentoo installation and in the previous chapter, but we just
16will fix that right now ;-) 19briefly explained how to use it. This chapter will elaborate on <c>emerge</c>
20and teach you how to use <c>emerge</c> to fix all your software-related needs.
17</p> 21</p>
18 22
19<p> 23<p>
20<c>emerge</c> is the command used to install, remove, query and maintain 24<c>emerge</c> is the command used to install, remove, query and maintain
21software packages. It is a front-end for <c>ebuild</c>; people interested in 25software packages. It is a front-end for <c>ebuild</c>; people interested in
42<body> 46<body>
43 47
44<p> 48<p>
45Before we continue describing <c>emerge</c>, let us first take a look at the 49Before we continue describing <c>emerge</c>, let us first take a look at the
46Portage Tree. Go to <path>/usr/portage</path> and do a listing of the available 50Portage Tree. Go to <path>/usr/portage</path> and do a listing of the available
47directories. 51directories. We use <c>ls --classify</c> to list the contents of a
52directory as it will show directories with a trailing "/".
48</p> 53</p>
49 54
50<pre caption="Viewing the Portage Tree"> 55<pre caption="Viewing the Portage Tree">
51# <i>cd /usr/portage; ls --classify</i> 56# <i>cd /usr/portage; ls --classify</i>
52<comment>(The --classify will append a special character to note the filetype)</comment>
53app-admin/ dev-ml/ gnome-libs/ net-print/ 57app-admin/ dev-ml/ gnome-libs/ net-print/
54app-arch/ dev-perl/ gnome-office/ net-wireless/ 58app-arch/ dev-perl/ gnome-office/ net-wireless/
55app-benchmarks/ dev-php/ header.txt net-www/ 59app-benchmarks/ dev-php/ header.txt net-www/
56app-cdr/ dev-python/ incoming/ net-zope/ 60app-cdr/ dev-python/ incoming/ net-zope/
57app-crypt/ dev-ruby/ jython/ packages/ 61app-crypt/ dev-ruby/ jython/ packages/
102gnofin/ khacc/ mrproject/ phprojekt/ texmacs/ 106gnofin/ khacc/ mrproject/ phprojekt/ texmacs/
103</pre> 107</pre>
104 108
105<p> 109<p>
106Inside a category you will find the packages belonging to that category, with a 110Inside a category you will find the packages belonging to that category, with a
107seperate directory for each package. Let us take a look at the <c>openoffice</c> 111separate directory for each package. Let us take a look at the <c>openoffice</c>
108package: 112package:
109</p> 113</p>
110 114
111<pre caption="Viewing a package"> 115<pre caption="Viewing a package">
112# <i>cd openoffice; ls --classify</i> 116# <i>cd openoffice; ls --classify</i>
124</p> 128</p>
125 129
126<p> 130<p>
127The other files are the <path>ChangeLog</path> (which contains a listing of all 131The other files are the <path>ChangeLog</path> (which contains a listing of all
128the changes done to the ebuilds), <path>Manifest</path> (which contains the 132the changes done to the ebuilds), <path>Manifest</path> (which contains the
129checksums and permissions of all the files in the directory) and 133checksums and filesizes of all the files in the directory) and
130<path>metadata.xml</path> (which contains more information about the package, 134<path>metadata.xml</path> (which contains more information about the package,
131such as the responsible development group -- called <e>herd</e> and a more 135such as the responsible development group -- called <e>herd</e> -- and a more
132extensive description). 136extensive description).
133</p> 137</p>
134 138
135<p> 139<p>
136Inside the <path>files</path> directory you will find extra files, needed by 140Inside the <path>files</path> directory you will find extra files, needed by
222</p> 226</p>
223 227
224<p> 228<p>
225You see something new? Yes, <e>downloaded files</e>. When you tell Portage to 229You see something new? Yes, <e>downloaded files</e>. When you tell Portage to
226install a package, it of course needs to have the necessary sources (or 230install a package, it of course needs to have the necessary sources (or
227precompiled packages) available. It therefor checks the contents of 231precompiled packages) available. It therefore checks the contents of
228<path>/usr/portage/distfiles</path> (for sourcecode) or 232<path>/usr/portage/distfiles</path> (for source code) or
229<path>/usr/portage/packages/All</path> (for precompiled packages) to see if the 233<path>/usr/portage/packages/All</path> (for precompiled packages) to see if the
230necessary files are already available. If not, it downloads the necessary files 234necessary files are already available. If not, it downloads the necessary files
231and places them in those directories. 235and places them in those directories.
232</p> 236</p>
233 237
238<!--
234<note> 239<note>
235Searching the Portage Tree, especially when using <c>--searchdesc</c>, is very 240Searching the Portage Tree, especially when using <c>- -searchdesc</c>, is very
236time consuming. There are other, more performant tools available. We will 241time consuming. There are other, more performant tools available. We will
237describe those in the chapter on <uri link="?part=2&amp;chap=7">Gentoolkit and 242describe those in the chapter on <uri link="?part=2&amp;chap=7">Gentoolkit and
238Other Tools</uri>. 243Other Tools</uri>.
239</note> 244</note>
245-->
240 246
241</body> 247</body>
242</subsection> 248</subsection>
243<subsection> 249<subsection>
244<title>Viewing the ChangeLog</title> 250<title>Viewing the ChangeLog</title>
245<body> 251<body>
246 252
247<p> 253<p>
248While browsing through the Portage Tree, you saw that there was a ChangeLog for 254While browsing through the Portage Tree, you saw that there was a ChangeLog for
249each package. You can view this ChangeLog with <c>emerge</c> too. Use the 255each package. You can view the ChangeLog entries between the available version
256and the installed version with <c>emerge</c> too. Use the
250<c>--pretend --changelog</c> (<c>-pl</c> in short) options. As an example we 257<c>--pretend --changelog</c> (<c>-pl</c> in short) options. As an example we
251will view the ChangeLog entries for <c>gnumeric</c>: 258will view the ChangeLog entries for <c>gnumeric</c>:
252</p> 259</p>
253 260
254<pre caption="Viewing the ChangeLog entries for gnumeric"> 261<pre caption="Viewing the ChangeLog entries for gnumeric">
255# <i>emerge --pretend --changelog gnumeric</i> 262# <i>emerge --pretend --changelog gnumeric</i>
263<comment>(Some output removed to improve readability)</comment>
264*gnumeric-1.2.2
265
266 27 Nov 2003; foser &lt;foser@gentoo.org&gt; gnumeric-1.2.2.ebuild :
267 New release, requested in #34492
268 updated deps
269
270 12 Nov 2003; Jason Wever &lt;weeve@gentoo.org&gt; gnumeric-1.2.0.ebuild:
271 Marked stable on sparc, fixes bug #32405.
272
273 14 Oct 2003; Jason Wever &lt;weeve@gentoo.org&gt; gnumeric-1.0.8.ebuild:
274 Added ~sparc keyword. Fixes bug #31150.
256</pre> 275</pre>
257 276
258</body> 277</body>
259</subsection> 278</subsection>
260</section> 279</section>
265<body> 284<body>
266 285
267<p> 286<p>
268Searching through Portage is nice, but if you don't update your Portage Tree 287Searching through Portage is nice, but if you don't update your Portage Tree
269regularly, you will be stuck with the packages and versions available on your 288regularly, you will be stuck with the packages and versions available on your
270system. This means that your system will get outdated pretty soon, and that 289system. This means that your system will get outdated pretty soon and that
271packages with possible security problems will remain on your system. 290you will be missing bugfixes and remedies for possible security problems.
272</p> 291</p>
273 292
274<p> 293<p>
275There are several ways to update your Portage Tree. The most popular method is 294There are several ways to update your Portage Tree. The most popular method is
276by using one of our <uri link="/main/en/mirrors.xml">rsync mirrors</uri>. 295by using one of our <uri link="/main/en/mirrors.xml">rsync mirrors</uri>.
297# <i>emerge --usepkg mirrorselect</i> 316# <i>emerge --usepkg mirrorselect</i>
298</pre> 317</pre>
299 318
300<p> 319<p>
301Now run <c>mirrorselect</c> to automatically select mirrors for you (it will 320Now run <c>mirrorselect</c> to automatically select mirrors for you (it will
302also setup Portage to use a mirror for the sourcecode): 321also setup Portage to use a mirror for the source code):
303</p> 322</p>
304 323
305<pre caption="Running mirrorselect"> 324<pre caption="Running mirrorselect">
306# <i>mirrorselect -a -s3</i> 325# <i>mirrorselect -a -s3</i>
307</pre> 326</pre>
335</subsection> 354</subsection>
336</section> 355</section>
337<section> 356<section>
338<title>Maintaining Software</title> 357<title>Maintaining Software</title>
339<subsection> 358<subsection>
340<title>Building or Prebuild?</title> 359<title>Building or Prebuilt?</title>
341<body> 360<body>
342 361
343<p> 362<p>
344Gentoo provides ebuilds, the Gentoo packages if you like. But when you want to 363Gentoo provides ebuilds, the Gentoo packages if you like. But when you want to
345install such an ebuild, you can choose between <e>building</e> the package, or 364install such an ebuild, you can choose between <e>building</e> the package and
346using a <e>prebuild</e> package. But what are the advantages/disadvantages of 365using a <e>prebuilt</e> package. But what are the advantages/disadvantages of
347both approaches, and can they be used next to each other? 366both approaches, and can they be used next to each other?
348</p> 367</p>
349 368
350<p> 369<p>
351As you probably have guessed, building packages takes a lot of time (especially 370As you probably have guessed, building packages takes a lot of time (especially
356Of course, you can also define high optimization options (in the <c>CFLAGS</c> 375Of course, you can also define high optimization options (in the <c>CFLAGS</c>
357and <c>CXXFLAGS</c> variables) to compile the package with. 376and <c>CXXFLAGS</c> variables) to compile the package with.
358</p> 377</p>
359 378
360<p> 379<p>
361Using prebuild packages improves the installation time (as no more compilation 380Using prebuilt packages improves the installation time (as no more compilation
362is needed), but you will lose the advantages of the <c>USE</c> setting and the 381is needed), but you will lose the advantages of the <c>USE</c> setting and the
363<c>CFLAGS</c> &amp; <c>CXXFLAGS</c> variables. 382<c>CFLAGS</c> &amp; <c>CXXFLAGS</c> variables.
364</p> 383</p>
365 384
366<p> 385<p>
367As previously stated, prebuild packages are stored in the 386As previously stated, prebuilt packages are stored in the
368<path>/usr/portage/packages/All</path> directory, while the sourcecode of the 387<path>/usr/portage/packages/All</path> directory, while the source code of the
369packages are placed in <path>/usr/portage/distfiles</path>. If you have finished 388packages is placed in <path>/usr/portage/distfiles</path>. If you have finished
370installing a package you can remove the package or sourcecode from the 389installing a package you can remove the package or source code from the
371respective directory. However, you might want to keep the package/sourcecode of 390respective directory. However, you might want to keep the package/source code of
372the latest version, just in case you want to reinstall the package (so you don't 391the latest version, just in case you want to reinstall the package (so you don't
373have to redownload it). 392have to redownload it).
374</p> 393</p>
375 394
376</body> 395</body>
379<title>Installing Software from Sources</title> 398<title>Installing Software from Sources</title>
380<body> 399<body>
381 400
382<p> 401<p>
383Okay, enough talking, let's cut to the chase. To install a package, you will use 402Okay, enough talking, let's cut to the chase. To install a package, you will use
384the <c>emerge</c> command. If you don't want to use any prebuild packages, you 403the <c>emerge</c> command. If you don't want to use any prebuilt packages, you
385can just use <c>emerge &lt;package-name&gt;</c> or <c>emerge 404can just use <c>emerge &lt;package-name&gt;</c> or <c>emerge
386&lt;category&gt;/&lt;package-name&gt;</c>. As an example we'll install 405&lt;category&gt;/&lt;package-name&gt;</c>. As an example we'll install
387<c>gnumeric</c>: 406<c>gnumeric</c>:
388</p> 407</p>
389 408
390<pre caption="Building gnumeric"> 409<pre caption="Building gnumeric">
391# <i>emerge gnumeric</i> 410# <i>emerge gnumeric</i>
392</pre> 411</pre>
393 412
394<p> 413<p>
395This will download the sourcecode for you and unpacks, compiles and installs the 414This will download the source code for you and unpacks, compiles and installs
396package on your system. It will also do the same for all the dependencies. If 415the package on your system. It will also do the same for all the dependencies.
397you want to see what dependencies will be installed with it, use the 416If you want to see what dependencies will be installed with it, use the
398<c>--pretend</c> option (<c>-p</c> in short): 417<c>--pretend</c> option (<c>-p</c> in short):
399</p> 418</p>
400 419
401<pre caption="Pretending to build gnumeric"> 420<pre caption="Pretending to build gnumeric">
402# <i>emerge --pretend gnumeric</i> 421# <i>emerge --pretend gnumeric</i>
403</pre> 422</pre>
404 423
405<p> 424<p>
406If you want to download the sourcecode of the package and its dependencies, 425If you want to download the source code of the package and its dependencies,
407but don't want to build the package, use the <c>--fetchonly</c> option 426but don't want to build the package, use the <c>--fetchonly</c> option
408(<c>-f</c> in short): 427(<c>-f</c> in short):
409</p> 428</p>
410 429
411<pre caption="Fetching sources for gnumeric"> 430<pre caption="Fetching sources for gnumeric">
437</p> 456</p>
438 457
439</body> 458</body>
440</subsection> 459</subsection>
441<subsection> 460<subsection>
442<title>Installing Prebuild Packages</title> 461<title>Installing Prebuilt Packages</title>
443<body> 462<body>
444 463
445<p> 464<p>
446When you want to install a prebuild package, you should use the <c>--usepkg</c> 465When you want to install a prebuilt package, you should use the <c>--usepkg</c>
447option (<c>-k</c> in short). This will use the binary package available in 466option (<c>-k</c> in short). This will use the binary package available in
448<path>/usr/portage/packages/All</path> <e>if</e> the package and the version of 467<path>/usr/portage/packages/All</path> <e>if</e> the package and the version of
449the application you want to install match. 468the application you want to install match.
450</p> 469</p>
451 470
452<pre caption="Installing a prebuild package for gnumeric"> 471<pre caption="Installing a prebuilt package for gnumeric">
453# <i>emerge --usepkg gnumeric</i> 472# <i>emerge --usepkg gnumeric</i>
454</pre> 473</pre>
455 474
456<p> 475<p>
457If you want to use the binary package, even if the versions don't match, use 476If you want to use the binary package, even if the versions don't match, use
458<c>--usepkgonly</c> (<c>-K</c> in short). 477<c>--usepkgonly</c> (<c>-K</c> in short).
459</p> 478</p>
460 479
461<pre caption="Installing the prebuild package for gnumeric"> 480<pre caption="Installing the prebuilt package for gnumeric">
462# <i>emerge --usepkgonly gnumeric</i> 481# <i>emerge --usepkgonly gnumeric</i>
463</pre> 482</pre>
464 483
465<!-- TODO When handbook goes life, comment out this parts until the mirrors have
466 been updated with online GRP packages. -->
467<p> 484<p>
468If you don't have the prebuild package on your system yet, you can have 485If you don't have the prebuilt package on your system yet, you can have
469<c>emerge</c> download it from a mirror, defined in the <c>PORTAGE_BINHOST</c> 486<c>emerge</c> download it from a mirror, defined in the <c>PORTAGE_BINHOST</c>
470variable declared in <path>/etc/make.conf</path>. 487variable declared in <path>/etc/make.conf</path>.
471</p> 488</p>
472 489
473<p> 490<p>
474To download the binary package in case this package doesn't exist on 491To download the binary package in case this package doesn't exist on
475your system already, use <c>--getbinpkg</c> (<c>-g</c> in short): 492your system already, use <c>--getbinpkg</c> (<c>-g</c> in short):
476</p> 493</p>
477 494
478<pre caption="Downloading and installing a prebuild package for gnumeric"> 495<pre caption="Downloading and installing a prebuilt package for gnumeric">
479# <i>emerge --getbinpkg gnumeric</i> 496# <i>emerge --getbinpkg gnumeric</i>
480</pre> 497</pre>
481 498
482<p> 499<p>
483This will download the package and the package-related information for you and 500This will download the package and the package-related information for you and
484install it on your system, together with the dependencies. If you want to see 501install it on your system, together with the dependencies. If you want to see
485what dependencies will be installed with it, use the <c>--pretend</c> option 502what dependencies will be installed with it, use the <c>--pretend</c> option
486(<c>-p</c> in short): 503(<c>-p</c> in short):
487</p> 504</p>
488 505
489<pre caption="Pretending to download the prebuild packages for gnumeric"> 506<pre caption="Pretending to download the prebuilt packages for gnumeric">
490# <i>emerge --ginbinpkg --pretend gnumeric</i> 507# <i>emerge --getbinpkg --pretend gnumeric</i>
491</pre> 508</pre>
492 509
493<p> 510<p>
494You can also opt to download the prebuild package (and the package-related 511You can also opt to download the prebuilt package (and the package-related
495information) <e>without</e> checking the information on your local system and 512information) <e>without</e> checking the information on your local system and
496<e>without</e> using the prebuild package already on your system (if 513<e>without</e> using the prebuilt package already on your system (if
497applicable), use the <c>--getbinpkgonly</c> option (<c>-G</c> in short): 514applicable), use the <c>--getbinpkgonly</c> option (<c>-G</c> in short):
498</p> 515</p>
499 516
500<pre caption="Installing a prebuild package without using local information"> 517<pre caption="Installing a prebuilt package without using local information">
501# <i>emerge --getbinpkgonly gnumeric</i> 518# <i>emerge --getbinpkgonly gnumeric</i>
502</pre> 519</pre>
503
504<!-- TODO Up until here -->
505 520
506<p> 521<p>
507You can also opt to install a specific version of a package. 522You can also opt to install a specific version of a package.
508For instance, if you want to install a gnumeric version older than 1.2 -- for 523For instance, if you want to install a gnumeric version older than 1.2 -- for
509any reason whatsoever :) you would type: 524any reason whatsoever :) you would type:
516<p> 531<p>
517Other possibilities are of course "&gt;" (later version) and "=" (the exact 532Other possibilities are of course "&gt;" (later version) and "=" (the exact
518version). 533version).
519</p> 534</p>
520 535
536
537</body>
538</subsection>
539<subsection>
540<title>Working with Dependencies</title>
541<body>
542
543<p>
544Portage has an extensive support for dependency handling. Although you usually
545don't need to even think about this (as dependencies are automatically handled
546by Portage) some users might want to know how you can work with <c>emerge</c>
547and dependencies.
548</p>
549
550<p>
551For instance, if you want Portage to pretend that none of the dependencies of a
552package are installed, you can use <c>--emptytree</c> (<c>-e</c> in short). This
553is useful with <c>--pretend</c> to display a complete tree of dependencies for
554any particular package. Without <c>--pretend</c>, <c>emerge</c> will (re)compile
555all listed packages. However, <c>glibc</c> will <e>not</e> be listed as
556dependency for safety reasons.
557</p>
558
559<pre caption="Show all dependencies of gnumeric">
560# <i>emerge --emptytree --pretend gnumeric</i>
561</pre>
562
563<p>
564Another argument is <c>--nodeps</c>, which will ask Portage to try install the
565given package without taking care of the dependencies. It is trivial that this
566can lead to failures.
567</p>
568
569<pre caption="Installing gnumeric without taking care of the dependencies">
570# <i>emerge --nodeps gnumeric</i>
571</pre>
572
573<p>
574The opposite of <c>--nodeps</c> is <c>--onlydeps</c>, which will have Portage
575install all dependencies of a given package, but not the package itself:
576</p>
577
578<pre caption="Installing the dependencies of gnumeric">
579# <i>emerge --onlydeps gnumeric</i>
580</pre>
521 581
522</body> 582</body>
523</subsection> 583</subsection>
524<subsection> 584<subsection>
525<title>Updating your System</title> 585<title>Updating your System</title>
588 </li> 648 </li>
589 <li> 649 <li>
590 <e>R</e> (reemerge) The package isn't new, but needs to be reemerged 650 <e>R</e> (reemerge) The package isn't new, but needs to be reemerged
591 </li> 651 </li>
592 <li> 652 <li>
593 <e>F</e> (fetch) The package requires that you download the sourcecode 653 <e>F</e> (fetch) The package requires that you download the source code
594 manually (for instance due to licencing issues) 654 manually (for instance due to licencing issues)
595 </li> 655 </li>
596 <li> 656 <li>
597 <e>U</e> (update) The package already exists on your system but will be 657 <e>U</e> (update) The package already exists on your system but will be
598 upgraded 658 upgraded
653installed package. It also doesn't warn you if the package is part of 713installed package. It also doesn't warn you if the package is part of
654<e>system</e>, i.e. a core application necessary for the correct functioning of 714<e>system</e>, i.e. a core application necessary for the correct functioning of
655your system! 715your system!
656</warn> 716</warn>
657 717
718<p>
719Once the unmerge begins you will see a long list of filenames belonging to the
720package. Some of these filenames will have a flag displayed to the
721left of the filename. The flags <c>!mtime</c>, <c>!empty</c>, and <c>cfgpro</c>
722specify reasons why certain files are not being removed while the package is.
723Files listed without any of these three flags are removed from the
724filesystem successfully. The three flags specify the following reasons:
725</p>
726
727<ul>
728 <li>
729 <c>!mtime</c> : The listed file has been changed since it was installed,
730 probably by you or some tool
731 </li>
732 <li>
733 <c>!empty</c> : The listed directory is not empty
734 </li>
735 <li>
736 <c>cfgpro</c> : This file is located inside a protected directory and will
737 not be touched for safety
738 </li>
739</ul>
740
658</body> 741</body>
659</subsection> 742</subsection>
660</section> 743</section>
661<section> 744<section>
662<title>Software Availability</title> 745<title>Software Availability</title>
678to <e>ARCH</e> after being bugfree for a sufficient amount of time. 761to <e>ARCH</e> after being bugfree for a sufficient amount of time.
679</p> 762</p>
680 763
681<p> 764<p>
682Your system will use <e>ARCH</e> packages per default. If you want to live on 765Your system will use <e>ARCH</e> packages per default. If you want to live on
683the edge, don't mind having a broken package once in a while, and you like 766the edge, don't mind having a broken package once in a while, know how to deal
684submitting bugreports to <uri 767with a broken system and you like submitting bugreports to <uri
685link="http://bugs.gentoo.org">bugs.gentoo.org</uri>, then you can opt to use 768link="http://bugs.gentoo.org">bugs.gentoo.org</uri>, then you can opt to use
686<e>~ARCH</e> packages. To "move" your system to a <e>~ARCH</e>-using system, 769<e>~ARCH</e> packages. To "move" your system to a <e>~ARCH</e>-using system,
687edit the <c>ACCEPT_KEYWORDS</c> variable in <path>/etc/make.conf</path> so that 770edit the <c>ACCEPT_KEYWORDS</c> variable in <path>/etc/make.conf</path> so that
688it reads <e>~ARCH</e> (again: for x86-based systems: <e>~x86</e>, etc.). 771it reads <e>~ARCH</e> (again: for x86-based systems: <e>~x86</e>, etc.).
772</p>
773
774<p>
775Note though that it is far from trivial (if even impossible) to go back to
776<e>ARCH</e> from <e>~ARCH</e>.
689</p> 777</p>
690 778
691<p> 779<p>
692If you want to update your system now, you will notice that <e>a lot</e> of 780If you want to update your system now, you will notice that <e>a lot</e> of
693packages will be updated! 781packages will be updated!
738the same format as is used in <path>/usr/portage/profiles/package.mask</path>). 826the same format as is used in <path>/usr/portage/profiles/package.mask</path>).
739</p> 827</p>
740 828
741<p> 829<p>
742Do <e>not</e> alter the <path>/usr/portage/profiles/package.mask</path> file as 830Do <e>not</e> alter the <path>/usr/portage/profiles/package.mask</path> file as
743all changes are undone the next time you update your Portage tree. 831all changes are undone the next time you update your Portage tree. If you want
832to hardmask a package create <path>/etc/portage/package.mask</path> and list the
833package in it (use the same format as mentioned above).
744</p> 834</p>
745 835
836<!--
746<p> 837<p>
747Another trick to circumvent the "masked package" problem is to install the 838Another trick to circumvent the "masked package" problem is to install the
748package using the full path. This will ignore both the <c>ACCEPT_KEYWORD</c> 839package using the full path. This will ignore both the <c>ACCEPT_KEYWORD</c>
749settings and the <path>package.mask</path> listing. 840settings and the <path>package.mask</path> listing.
750</p> 841</p>
751 842
752<pre caption="Installing a package without checking for stadium / masking"> 843<pre caption="Installing a package without checking for stadium / masking">
753# <i>emerge /usr/portage/app-office/gnumeric/gnumeric-1.2.0.ebuild</i> 844# <i>emerge /usr/portage/app-office/gnumeric/gnumeric-1.2.0.ebuild</i>
754</pre> 845</pre>
846-->
755 847
756</body> 848</body>
757</subsection> 849</subsection>
758<subsection> 850<subsection>
759<title>Blocked Packages</title> 851<title>Blocked Packages</title>

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

  ViewVC Help
Powered by ViewVC 1.1.20