/[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.22 Revision 1.30
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/1.0 --> 5<!-- See http://creativecommons.org/licenses/by-sa/1.0 -->
6 6
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 $ --> 7<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-working-portage.xml,v 1.30 2004/08/01 15:03:27 swift Exp $ -->
8 8
9<sections> 9<sections>
10<section> 10<section>
11<title>Obtaining Package Information</title> 11<title>Obtaining Package Information</title>
12<subsection> 12<subsection>
118Manifest metadata.xml openoffice-1.1.0-r1.ebuild openoffice-1.1.0.ebuild 118Manifest metadata.xml openoffice-1.1.0-r1.ebuild openoffice-1.1.0.ebuild
119</pre> 119</pre>
120 120
121<p> 121<p>
122Remember that we told you that a Gentoo package is called an ebuild? Well, in 122Remember that we told you that a Gentoo package is called an ebuild? Well, in
123the example directory four of such ebuilds are stored. Their naming is 123the example directory, four of such ebuilds are stored. Their naming is
124almost identical: they only differ in the version name. 124almost identical; they only differ in the version name.
125You are free to view the contents of such a package: they are plain scripts. We 125You are free to view the contents of such a package: they are plain scripts. We
126will not discuss it right now as it isn't important to know if you plan on just 126will not discuss it right now as it isn't important to know if you plan on just
127using Gentoo. 127using Gentoo.
128</p> 128</p>
129 129
135such 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
136extensive description). 136extensive description).
137</p> 137</p>
138 138
139<p> 139<p>
140Inside 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
141Portage: digests (checksums and permissions of the files needed by a single 141Portage: digests (checksums and permissions of the files needed by a single
142version of the package), patches, example configuration files, etc. 142version of the package), patches, example configuration files, etc.
143</p> 143</p>
144 144
145<pre caption="Viewing the extra files"> 145<pre caption="Viewing the extra files">
153nptl.patch 153nptl.patch
154</pre> 154</pre>
155 155
156<p> 156<p>
157If you go back to the root of the Portage tree (<path>/usr/portage</path>) you 157If you go back to the root of the Portage tree (<path>/usr/portage</path>) you
158will notice that there are other, non-category directories too. We will discuss 158will notice that there are other, non-category directories, too. We will discuss
159those later in this chapter. 159those later in this chapter.
160</p> 160</p>
161 161
162</body> 162</body>
163</subsection> 163</subsection>
236</p> 236</p>
237 237
238<!-- 238<!--
239<note> 239<note>
240Searching the Portage Tree, especially when using <c>- -searchdesc</c>, is very 240Searching the Portage Tree, especially when using <c>- -searchdesc</c>, is very
241time consuming. There are other, more performant tools available. We will 241time consuming. There are other, best performing tools available. We will
242describe 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
243Other Tools</uri>. 243Other Tools</uri>.
244</note> 244</note>
245--> 245-->
246 246
550<p> 550<p>
551For 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
552package 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
553is 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
554any 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
555all listed packages. However, <c>glibc</c> will <e>not</e> be listed as 555all listed packages.
556dependency for safety reasons.
557</p> 556</p>
558 557
559<pre caption="Show all dependencies of gnumeric"> 558<pre caption="Show all dependencies of gnumeric">
560# <i>emerge --emptytree --pretend gnumeric</i> 559# <i>emerge --emptytree --pretend gnumeric</i>
561</pre> 560</pre>
678<pre caption="Upgrading your entire system"> 677<pre caption="Upgrading your entire system">
679# <i>emerge --update --upgradeonly world</i> 678# <i>emerge --update --upgradeonly world</i>
680</pre> 679</pre>
681 680
682<p> 681<p>
682We have mentioned that the <e>world</e> file doesn't contain dependencies. When
683you run <c>emerge --update world</c> only the packages mentioned in the
684<e>world</e> file and it's immediate dependencies are checked and, if necessary,
685upgraded. If you want <c>emerge</c> to check <e>all</e> the dependencies
686(including the dependencies of the dependencies), add the <c>--deep</c> flag:
687</p>
688
689<pre caption="Upgrading your entire system, including all dependencies">
690# <i>emerge --update --deep world</i>
691</pre>
692
693<p>
683Of course, we are talking here about <e>system</e> and <e>world</e>, but you can 694Of course, we are talking here about <e>system</e> and <e>world</e>, but you can
684perform the same actions for individual software packages. 695perform the same actions for individual software packages.
685</p> 696</p>
686 697
687</body> 698</body>
740 751
741</body> 752</body>
742</subsection> 753</subsection>
743</section> 754</section>
744<section> 755<section>
745<title>Software Availability</title> 756<title>Working with Masked Packages</title>
746<subsection> 757<subsection>
747<title>ARCH or not?</title> 758<title>ARCH or not?</title>
748<body> 759<body>
749 760
750<p> 761<p>
804 <li>The package is in <e>~ARCH</e> while you use <e>ARCH</e></li> 815 <li>The package is in <e>~ARCH</e> while you use <e>ARCH</e></li>
805 <li>The package is hard-masked explicitly</li> 816 <li>The package is hard-masked explicitly</li>
806</ol> 817</ol>
807 818
808<p> 819<p>
809If the package is masked because of the first reason, and you <e>really</e> want 820If the package is masked because of the first reason, and you <e>really</e>
810to install it (knowing that there <e>is</e> a reason why it isn't available in 821want to install it (knowing that there <e>is</e> a reason why it isn't
811<e>ARCH</e>), you can temporarily accept <e>~ARCH</e> packages: 822available in <e>ARCH</e>), you can accept the <e>~ARCH</e> version of any
823package by adding it to your <path>/etc/portage/package.keywords</path> file:
812</p> 824</p>
813 825
814<pre caption="Temporarily accepting ~ARCH packages"> 826<pre caption="Accepting the ~ARCH version of a package">
815# <i>ACCEPT_KEYWORDS="~x86" emerge gnumeric</i> 827<comment>(Create the /etc/portage directory if it doesn't exist yet)</comment>
828# <i>mkdir /etc/portage</i>
829
830# <i>echo "app-office/gnumeric ~x86" &gt;&gt; /etc/portage/package.keywords</i>
831# <i>emerge gnumeric</i>
816</pre> 832</pre>
817 833
818<p> 834<p>
819A package is hardmasked if it is listed in 835A package is hardmasked if it is listed in
820<path>/usr/portage/profiles/package.mask</path>. If you read this file, you 836<path>/usr/portage/profiles/package.mask</path>. If you read this file, you
824"breaks other packages", or "badly needs testing"), create the 840"breaks other packages", or "badly needs testing"), create the
825<path>/etc/portage/package.unmask</path> file and list the package in it (use 841<path>/etc/portage/package.unmask</path> file and list the package in it (use
826the same format as is used in <path>/usr/portage/profiles/package.mask</path>). 842the same format as is used in <path>/usr/portage/profiles/package.mask</path>).
827</p> 843</p>
828 844
845<pre caption="Unmasking a hard-masked application">
846<comment>(Create the /etc/portage directory if it doesn't exist yet)</comment>
847# <i>mkdir /etc/portage</i>
848
849# <i>echo "=app-office/gnumeric-1.2.12" &gt;&gt; /etc/portage/package.unmask</i>
850</pre>
851
829<p> 852<p>
830Do <e>not</e> alter the <path>/usr/portage/profiles/package.mask</path> file as 853Do <e>not</e> alter the <path>/usr/portage/profiles/package.mask</path> file as
831all changes are undone the next time you update your Portage tree. If you want 854all changes are undone the next time you update your Portage tree.
855</p>
856
857<p>
858Sometimes you might want to hardmask a (collection of) package(s). This is the
859case when newer versions of an application don't support something you require
860or when these versions break something else in your environment.
861</p>
862
863<p>
832to hardmask a package create <path>/etc/portage/package.mask</path> and list the 864To hard-mask a package, create <path>/etc/portage/package.mask</path> and list the
833package in it (use the same format as mentioned above). 865package in it (use the same format as mentioned above).
834</p> 866</p>
835 867
836<!-- 868<pre caption="Hard-masking a package">
837<p> 869<comment>(Create the /etc/portage directory if it doesn't exist yet)</comment>
838Another trick to circumvent the "masked package" problem is to install the 870# <i>mkdir /etc/portage</i>
839package using the full path. This will ignore both the <c>ACCEPT_KEYWORD</c> 871
840settings and the <path>package.mask</path> listing. 872# <i>echo "&gt;app-office/gnumeric-1.2.10" &gt;&gt; /etc/portage/package.mask</i>
841</p> 873</pre>
842
843<pre caption="Installing a package without checking for stadium / masking">
844# <i>emerge /usr/portage/app-office/gnumeric/gnumeric-1.2.0.ebuild</i>
845</pre>
846-->
847 874
848</body> 875</body>
849</subsection> 876</subsection>
850<subsection> 877<subsection>
851<title>Blocked Packages</title> 878<title>Blocked Packages</title>

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

  ViewVC Help
Powered by ViewVC 1.1.20