/[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.14 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.14 2003/12/16 17:59:46 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>
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
247<title>Viewing the ChangeLog</title> 250<title>Viewing the ChangeLog</title>
248<body> 251<body>
249 252
250<p> 253<p>
251While 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
252each 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
253<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
254will view the ChangeLog entries for <c>gnumeric</c>: 258will view the ChangeLog entries for <c>gnumeric</c>:
255</p> 259</p>
256 260
257<pre caption="Viewing the ChangeLog entries for gnumeric"> 261<pre caption="Viewing the ChangeLog entries for gnumeric">
258# <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.
259</pre> 275</pre>
260 276
261</body> 277</body>
262</subsection> 278</subsection>
263</section> 279</section>
300# <i>emerge --usepkg mirrorselect</i> 316# <i>emerge --usepkg mirrorselect</i>
301</pre> 317</pre>
302 318
303<p> 319<p>
304Now 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
305also setup Portage to use a mirror for the sourcecode): 321also setup Portage to use a mirror for the source code):
306</p> 322</p>
307 323
308<pre caption="Running mirrorselect"> 324<pre caption="Running mirrorselect">
309# <i>mirrorselect -a -s3</i> 325# <i>mirrorselect -a -s3</i>
310</pre> 326</pre>
343<title>Building or Prebuilt?</title> 359<title>Building or Prebuilt?</title>
344<body> 360<body>
345 361
346<p> 362<p>
347Gentoo 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
348install 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
349using 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
350both approaches, and can they be used next to each other? 366both approaches, and can they be used next to each other?
351</p> 367</p>
352 368
353<p> 369<p>
366<c>CFLAGS</c> &amp; <c>CXXFLAGS</c> variables. 382<c>CFLAGS</c> &amp; <c>CXXFLAGS</c> variables.
367</p> 383</p>
368 384
369<p> 385<p>
370As previously stated, prebuilt packages are stored in the 386As previously stated, prebuilt packages are stored in the
371<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
372packages 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
373installing a package you can remove the package or sourcecode from the 389installing a package you can remove the package or source code from the
374respective directory. However, you might want to keep the package/sourcecode of 390respective directory. However, you might want to keep the package/source code of
375the 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
376have to redownload it). 392have to redownload it).
377</p> 393</p>
378 394
379</body> 395</body>
393<pre caption="Building gnumeric"> 409<pre caption="Building gnumeric">
394# <i>emerge gnumeric</i> 410# <i>emerge gnumeric</i>
395</pre> 411</pre>
396 412
397<p> 413<p>
398This 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
399package 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.
400you 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
401<c>--pretend</c> option (<c>-p</c> in short): 417<c>--pretend</c> option (<c>-p</c> in short):
402</p> 418</p>
403 419
404<pre caption="Pretending to build gnumeric"> 420<pre caption="Pretending to build gnumeric">
405# <i>emerge --pretend gnumeric</i> 421# <i>emerge --pretend gnumeric</i>
406</pre> 422</pre>
407 423
408<p> 424<p>
409If 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,
410but 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
411(<c>-f</c> in short): 427(<c>-f</c> in short):
412</p> 428</p>
413 429
414<pre caption="Fetching sources for gnumeric"> 430<pre caption="Fetching sources for gnumeric">
553<pre caption="Installing gnumeric without taking care of the dependencies"> 569<pre caption="Installing gnumeric without taking care of the dependencies">
554# <i>emerge --nodeps gnumeric</i> 570# <i>emerge --nodeps gnumeric</i>
555</pre> 571</pre>
556 572
557<p> 573<p>
558To opposite of <c>--nodeps</c> is <c>--onlydeps</c>, which will have Portage 574The opposite of <c>--nodeps</c> is <c>--onlydeps</c>, which will have Portage
559install all dependencies of a given package, but not the package itself: 575install all dependencies of a given package, but not the package itself:
560</p> 576</p>
561 577
562<pre caption="Installing the dependencies of gnumeric"> 578<pre caption="Installing the dependencies of gnumeric">
563# <i>emerge --onlydeps gnumeric</i> 579# <i>emerge --onlydeps gnumeric</i>
632 </li> 648 </li>
633 <li> 649 <li>
634 <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
635 </li> 651 </li>
636 <li> 652 <li>
637 <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
638 manually (for instance due to licencing issues) 654 manually (for instance due to licencing issues)
639 </li> 655 </li>
640 <li> 656 <li>
641 <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
642 upgraded 658 upgraded
715 </li> 731 </li>
716 <li> 732 <li>
717 <c>!empty</c> : The listed directory is not empty 733 <c>!empty</c> : The listed directory is not empty
718 </li> 734 </li>
719 <li> 735 <li>
720 <c>cfgpro</c> : Another already installed package claims to own this file 736 <c>cfgpro</c> : This file is located inside a protected directory and will
737 not be touched for safety
721 </li> 738 </li>
722</ul> 739</ul>
723 740
724</body> 741</body>
725</subsection> 742</subsection>
744to <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.
745</p> 762</p>
746 763
747<p> 764<p>
748Your 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
749the 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
750submitting bugreports to <uri 767with a broken system and you like submitting bugreports to <uri
751link="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
752<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,
753edit 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
754it 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>.
755</p> 777</p>
756 778
757<p> 779<p>
758If 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
759packages will be updated! 781packages will be updated!
804the 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>).
805</p> 827</p>
806 828
807<p> 829<p>
808Do <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
809all 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).
810</p> 834</p>
811 835
836<!--
812<p> 837<p>
813Another trick to circumvent the "masked package" problem is to install the 838Another trick to circumvent the "masked package" problem is to install the
814package 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>
815settings and the <path>package.mask</path> listing. 840settings and the <path>package.mask</path> listing.
816</p> 841</p>
817 842
818<pre caption="Installing a package without checking for stadium / masking"> 843<pre caption="Installing a package without checking for stadium / masking">
819# <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>
820</pre> 845</pre>
846-->
821 847
822</body> 848</body>
823</subsection> 849</subsection>
824<subsection> 850<subsection>
825<title>Blocked Packages</title> 851<title>Blocked Packages</title>

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

  ViewVC Help
Powered by ViewVC 1.1.20