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

Contents of /xml/htdocs/doc/en/handbook/hb-portage-diverttree.xml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.8 - (hide annotations) (download) (as text)
Fri Nov 25 14:52:02 2005 UTC (8 years, 9 months ago) by neysx
Branch: MAIN
Changes since 1.7: +13 -6 lines
File MIME type: application/xml
#113025 RSYNC_EXCLUDEFROM needs to be defined to exclude pkg/cat

1 swift 1.1 <?xml version='1.0' encoding='UTF-8'?>
2     <!DOCTYPE sections SYSTEM "/dtd/book.dtd">
3    
4     <!-- The content of this document is licensed under the CC-BY-SA license -->
5     <!-- See http://creativecommons.org/licenses/by-sa/2.0 -->
6    
7 neysx 1.8 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-portage-diverttree.xml,v 1.7 2005/10/11 03:49:46 swift Exp $ -->
8 swift 1.1
9     <sections>
10 swift 1.2
11 neysx 1.8 <version>1.4</version>
12     <date>2005-11-25</date>
13 swift 1.2
14 swift 1.1 <section>
15     <title>Using a Portage Tree Subset</title>
16     <subsection>
17     <title>Excluding Packages/Categories</title>
18     <body>
19    
20     <p>
21     You can selectively update certain categories/packages and ignore the other
22     categories/packages. We achieve this by having <c>rsync</c> exclude
23     categories/packages during the <c>emerge --sync</c> step.
24     </p>
25    
26     <p>
27 neysx 1.8 You need to define the name of the file that contains the exclude patterns in
28     the <c>RSYNC_EXCLUDEFROM</c> variable in your <path>/etc/make.conf</path>.
29 swift 1.1 </p>
30    
31 neysx 1.8 <pre caption="Defining the exlude file in /etc/make.conf">
32     RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes
33     </pre>
34    
35     <pre caption="Excluding all games in /etc/portage/rsync_excludes">
36     games-*/*
37     </pre>
38    
39 swift 1.1 <p>
40     Note however that this may lead to dependency issues since new, allowed packages
41     might depend on new but excluded packages.
42     </p>
43    
44     </body>
45     </subsection>
46     </section>
47     <section>
48     <title>Adding Unofficial Ebuilds</title>
49     <subsection>
50     <title>Defining a Portage Overlay Directory</title>
51     <body>
52    
53     <p>
54     You can ask Portage to use ebuilds that are not officially available through the
55     Portage tree. Create a new directory (for instance
56     <path>/usr/local/portage</path>) in which you store the 3rd-party ebuilds. Use
57     the same directory structure as the official Portage tree!
58     </p>
59    
60     <p>
61     Then define PORTDIR_OVERLAY in <path>/etc/make.conf</path> and have it point to
62     the previously defined directory. When you use Portage now, it will take those
63     ebuilds into account as well without removing/overwriting those ebuilds the next
64     time you run <c>emerge --sync</c>.
65     </p>
66    
67     </body>
68     </subsection>
69 swift 1.7 <subsection>
70     <title>Working with Several Overlays</title>
71     <body>
72    
73     <p>
74     For the powerusers who develop on several overlays, test packages before they
75     hit the Portage tree or just want to use unofficial ebuilds from various
76     sources, the <c>app-portage/gentoolkit-dev</c> package brings you
77     <c>gensync</c>, a tool to help you keep the overlay repositories up to date.
78     </p>
79    
80     <p>
81     With <c>gensync</c> you can update all the repositories at once, or select just
82     a few of them. Each repository should have a <path>.syncsource</path> file in
83     the <path>/etc/gensync/</path> configuration directory which contains the
84     repository location, name, ID, etc.
85     </p>
86    
87     <p>
88     Suppose you have two additional repositories called <c>java</c> (for the
89     in-development java ebuilds) and <c>entapps</c> (for the applications developed
90     in-house for your enterprise) then you can update those repositories like so:
91     </p>
92    
93     <pre caption="Using gensync to update a few repositories">
94     # <i>gensync java entapps</i>
95     </pre>
96    
97     </body>
98     </subsection>
99 swift 1.1 </section>
100     <section>
101     <title>Non-Portage Maintained Software</title>
102     <subsection>
103     <title>Using Portage with Self-Maintained Software</title>
104     <body>
105    
106     <p>
107     In some cases you want to configure, install and maintain software yourself
108     without having Portage automate the process for you, even though Portage
109     can provide the software titles. Known cases are kernel sources and nvidia
110     drivers. You can configure Portage so it knows that a certain package is
111     manually installed on your system. This process is called <e>injecting</e> and
112     supported by Portage through the
113     <path>/etc/portage/profile/package.provided</path> file.
114     </p>
115    
116     <p>
117     For instance, if you want to inform Portage about
118 so 1.6 <c>vanilla-sources-2.6.11.6</c> which you've installed manually, add the
119 swift 1.1 following line to <path>/etc/portage/profile/package.provided</path>:
120     </p>
121    
122     <pre caption="Example line for package.provided">
123 so 1.5 sys-kernel/vanilla-sources-2.6.11.6
124 swift 1.1 </pre>
125    
126     </body>
127     </subsection>
128     </section>
129     </sections>

  ViewVC Help
Powered by ViewVC 1.1.20