/[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.13 Revision 1.24
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.13 2003/12/04 22:26:19 swift Exp $ --> 7<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-working-portage.xml,v 1.24 2004/03/25 23:31:34 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>
125</p> 128</p>
126 129
127<p> 130<p>
128The 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
129the changes done to the ebuilds), <path>Manifest</path> (which contains the 132the changes done to the ebuilds), <path>Manifest</path> (which contains the
130checksums and permissions of all the files in the directory) and 133checksums and filesizes of all the files in the directory) and
131<path>metadata.xml</path> (which contains more information about the package, 134<path>metadata.xml</path> (which contains more information about the package,
132such 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
133extensive description). 136extensive description).
134</p> 137</p>
135 138
224 227
225<p> 228<p>
226You 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
227install 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
228precompiled packages) available. It therefore checks the contents of 231precompiled packages) available. It therefore checks the contents of
229<path>/usr/portage/distfiles</path> (for sourcecode) or 232<path>/usr/portage/distfiles</path> (for source code) or
230<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
231necessary files are already available. If not, it downloads the necessary files 234necessary files are already available. If not, it downloads the necessary files
232and places them in those directories. 235and places them in those directories.
233</p> 236</p>
234 237
238<!--
235<note> 239<note>
236Searching the Portage Tree, especially when using <c>--searchdesc</c>, is very 240Searching the Portage Tree, especially when using <c>- -searchdesc</c>, is very
237time consuming. There are other, more performant tools available. We will 241time consuming. There are other, more performant tools available. We will
238describe 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
239Other Tools</uri>. 243Other Tools</uri>.
240</note> 244</note>
245-->
241 246
242</body> 247</body>
243</subsection> 248</subsection>
244<subsection> 249<subsection>
245<title>Viewing the ChangeLog</title> 250<title>Viewing the ChangeLog</title>
246<body> 251<body>
247 252
248<p> 253<p>
249While 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
250each 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
251<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
252will view the ChangeLog entries for <c>gnumeric</c>: 258will view the ChangeLog entries for <c>gnumeric</c>:
253</p> 259</p>
254 260
255<pre caption="Viewing the ChangeLog entries for gnumeric"> 261<pre caption="Viewing the ChangeLog entries for gnumeric">
256# <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.
257</pre> 275</pre>
258 276
259</body> 277</body>
260</subsection> 278</subsection>
261</section> 279</section>
298# <i>emerge --usepkg mirrorselect</i> 316# <i>emerge --usepkg mirrorselect</i>
299</pre> 317</pre>
300 318
301<p> 319<p>
302Now 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
303also setup Portage to use a mirror for the sourcecode): 321also setup Portage to use a mirror for the source code):
304</p> 322</p>
305 323
306<pre caption="Running mirrorselect"> 324<pre caption="Running mirrorselect">
307# <i>mirrorselect -a -s3</i> 325# <i>mirrorselect -a -s3</i>
308</pre> 326</pre>
341<title>Building or Prebuilt?</title> 359<title>Building or Prebuilt?</title>
342<body> 360<body>
343 361
344<p> 362<p>
345Gentoo 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
346install 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
347using a <e>prebuilt</e> package. But what are the advantages/disadvantages of 365using a <e>prebuilt</e> package. But what are the advantages/disadvantages of
348both approaches, and can they be used next to each other? 366both approaches, and can they be used next to each other?
349</p> 367</p>
350 368
351<p> 369<p>
364<c>CFLAGS</c> &amp; <c>CXXFLAGS</c> variables. 382<c>CFLAGS</c> &amp; <c>CXXFLAGS</c> variables.
365</p> 383</p>
366 384
367<p> 385<p>
368As previously stated, prebuilt packages are stored in the 386As previously stated, prebuilt packages are stored in the
369<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
370packages 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
371installing a package you can remove the package or sourcecode from the 389installing a package you can remove the package or source code from the
372respective directory. However, you might want to keep the package/sourcecode of 390respective directory. However, you might want to keep the package/source code of
373the 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
374have to redownload it). 392have to redownload it).
375</p> 393</p>
376 394
377</body> 395</body>
391<pre caption="Building gnumeric"> 409<pre caption="Building gnumeric">
392# <i>emerge gnumeric</i> 410# <i>emerge gnumeric</i>
393</pre> 411</pre>
394 412
395<p> 413<p>
396This 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
397package 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.
398you 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
399<c>--pretend</c> option (<c>-p</c> in short): 417<c>--pretend</c> option (<c>-p</c> in short):
400</p> 418</p>
401 419
402<pre caption="Pretending to build gnumeric"> 420<pre caption="Pretending to build gnumeric">
403# <i>emerge --pretend gnumeric</i> 421# <i>emerge --pretend gnumeric</i>
404</pre> 422</pre>
405 423
406<p> 424<p>
407If 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,
408but 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
409(<c>-f</c> in short): 427(<c>-f</c> in short):
410</p> 428</p>
411 429
412<pre caption="Fetching sources for gnumeric"> 430<pre caption="Fetching sources for gnumeric">
532<p> 550<p>
533For instance, if you want Portage to pretend that none of the dependencies of a 551For instance, if you want Portage to pretend that none of the dependencies of a
534package are installed, you can use <c>--emptytree</c> (<c>-e</c> in short). This 552package are installed, you can use <c>--emptytree</c> (<c>-e</c> in short). This
535is useful with <c>--pretend</c> to display a complete tree of dependencies for 553is useful with <c>--pretend</c> to display a complete tree of dependencies for
536any particular package. Without <c>--pretend</c>, <c>emerge</c> will (re)compile 554any particular package. Without <c>--pretend</c>, <c>emerge</c> will (re)compile
537all listed packages. However, <c>glibc</c> will <e>not</e> be listed as 555all listed packages.
538dependency for safety reasons.
539</p> 556</p>
540 557
541<pre caption="Show all dependencies of gnumeric"> 558<pre caption="Show all dependencies of gnumeric">
542# <i>emerge --emptytree --pretend gnumeric</i> 559# <i>emerge --emptytree --pretend gnumeric</i>
543</pre> 560</pre>
551<pre caption="Installing gnumeric without taking care of the dependencies"> 568<pre caption="Installing gnumeric without taking care of the dependencies">
552# <i>emerge --nodeps gnumeric</i> 569# <i>emerge --nodeps gnumeric</i>
553</pre> 570</pre>
554 571
555<p> 572<p>
556To opposite of <c>--nodeps</c> is <c>--onlydeps</c>, which will have Portage 573The opposite of <c>--nodeps</c> is <c>--onlydeps</c>, which will have Portage
557install all dependencies of a given package, but not the package itself: 574install all dependencies of a given package, but not the package itself:
558</p> 575</p>
559 576
560<pre caption="Installing the dependencies of gnumeric"> 577<pre caption="Installing the dependencies of gnumeric">
561# <i>emerge --onlydeps gnumeric</i> 578# <i>emerge --onlydeps gnumeric</i>
630 </li> 647 </li>
631 <li> 648 <li>
632 <e>R</e> (reemerge) The package isn't new, but needs to be reemerged 649 <e>R</e> (reemerge) The package isn't new, but needs to be reemerged
633 </li> 650 </li>
634 <li> 651 <li>
635 <e>F</e> (fetch) The package requires that you download the sourcecode 652 <e>F</e> (fetch) The package requires that you download the source code
636 manually (for instance due to licencing issues) 653 manually (for instance due to licencing issues)
637 </li> 654 </li>
638 <li> 655 <li>
639 <e>U</e> (update) The package already exists on your system but will be 656 <e>U</e> (update) The package already exists on your system but will be
640 upgraded 657 upgraded
713 </li> 730 </li>
714 <li> 731 <li>
715 <c>!empty</c> : The listed directory is not empty 732 <c>!empty</c> : The listed directory is not empty
716 </li> 733 </li>
717 <li> 734 <li>
718 <c>cfgpro</c> : Another already installed package claims to own this file 735 <c>cfgpro</c> : This file is located inside a protected directory and will
736 not be touched for safety
719 </li> 737 </li>
720</ul> 738</ul>
721 739
722</body> 740</body>
723</subsection> 741</subsection>
742to <e>ARCH</e> after being bugfree for a sufficient amount of time. 760to <e>ARCH</e> after being bugfree for a sufficient amount of time.
743</p> 761</p>
744 762
745<p> 763<p>
746Your system will use <e>ARCH</e> packages per default. If you want to live on 764Your system will use <e>ARCH</e> packages per default. If you want to live on
747the edge, don't mind having a broken package once in a while, and you like 765the edge, don't mind having a broken package once in a while, know how to deal
748submitting bugreports to <uri 766with a broken system and you like submitting bugreports to <uri
749link="http://bugs.gentoo.org">bugs.gentoo.org</uri>, then you can opt to use 767link="http://bugs.gentoo.org">bugs.gentoo.org</uri>, then you can opt to use
750<e>~ARCH</e> packages. To "move" your system to a <e>~ARCH</e>-using system, 768<e>~ARCH</e> packages. To "move" your system to a <e>~ARCH</e>-using system,
751edit the <c>ACCEPT_KEYWORDS</c> variable in <path>/etc/make.conf</path> so that 769edit the <c>ACCEPT_KEYWORDS</c> variable in <path>/etc/make.conf</path> so that
752it reads <e>~ARCH</e> (again: for x86-based systems: <e>~x86</e>, etc.). 770it reads <e>~ARCH</e> (again: for x86-based systems: <e>~x86</e>, etc.).
771</p>
772
773<p>
774Note though that it is far from trivial (if even impossible) to go back to
775<e>ARCH</e> from <e>~ARCH</e>.
753</p> 776</p>
754 777
755<p> 778<p>
756If you want to update your system now, you will notice that <e>a lot</e> of 779If you want to update your system now, you will notice that <e>a lot</e> of
757packages will be updated! 780packages will be updated!
802the same format as is used in <path>/usr/portage/profiles/package.mask</path>). 825the same format as is used in <path>/usr/portage/profiles/package.mask</path>).
803</p> 826</p>
804 827
805<p> 828<p>
806Do <e>not</e> alter the <path>/usr/portage/profiles/package.mask</path> file as 829Do <e>not</e> alter the <path>/usr/portage/profiles/package.mask</path> file as
807all changes are undone the next time you update your Portage tree. 830all changes are undone the next time you update your Portage tree. If you want
831to hardmask a package create <path>/etc/portage/package.mask</path> and list the
832package in it (use the same format as mentioned above).
808</p> 833</p>
809 834
835<!--
810<p> 836<p>
811Another trick to circumvent the "masked package" problem is to install the 837Another trick to circumvent the "masked package" problem is to install the
812package using the full path. This will ignore both the <c>ACCEPT_KEYWORD</c> 838package using the full path. This will ignore both the <c>ACCEPT_KEYWORD</c>
813settings and the <path>package.mask</path> listing. 839settings and the <path>package.mask</path> listing.
814</p> 840</p>
815 841
816<pre caption="Installing a package without checking for stadium / masking"> 842<pre caption="Installing a package without checking for stadium / masking">
817# <i>emerge /usr/portage/app-office/gnumeric/gnumeric-1.2.0.ebuild</i> 843# <i>emerge /usr/portage/app-office/gnumeric/gnumeric-1.2.0.ebuild</i>
818</pre> 844</pre>
845-->
819 846
820</body> 847</body>
821</subsection> 848</subsection>
822<subsection> 849<subsection>
823<title>Blocked Packages</title> 850<title>Blocked Packages</title>

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.24

  ViewVC Help
Powered by ViewVC 1.1.20