/[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.7 - (show annotations) (download) (as text)
Tue Oct 11 03:49:46 2005 UTC (8 years, 9 months ago) by swift
Branch: MAIN
Changes since 1.6: +33 -3 lines
File MIME type: application/xml
#102466 - Mention gensync

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 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-portage-diverttree.xml,v 1.6 2005/04/11 21:48:42 so Exp $ -->
8
9 <sections>
10
11 <version>1.3</version>
12 <date>2005-10-11</date>
13
14 <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 By default, <c>rsync</c> will check the contents of
28 <path>/etc/portage/rsync_excludes</path> (if it exists) which contains the
29 categories or packages that you <e>don't</e> want <c>rsync</c> to update.
30 </p>
31
32 <p>
33 Note however that this may lead to dependency issues since new, allowed packages
34 might depend on new but excluded packages.
35 </p>
36
37 </body>
38 </subsection>
39 </section>
40 <section>
41 <title>Adding Unofficial Ebuilds</title>
42 <subsection>
43 <title>Defining a Portage Overlay Directory</title>
44 <body>
45
46 <p>
47 You can ask Portage to use ebuilds that are not officially available through the
48 Portage tree. Create a new directory (for instance
49 <path>/usr/local/portage</path>) in which you store the 3rd-party ebuilds. Use
50 the same directory structure as the official Portage tree!
51 </p>
52
53 <p>
54 Then define PORTDIR_OVERLAY in <path>/etc/make.conf</path> and have it point to
55 the previously defined directory. When you use Portage now, it will take those
56 ebuilds into account as well without removing/overwriting those ebuilds the next
57 time you run <c>emerge --sync</c>.
58 </p>
59
60 </body>
61 </subsection>
62 <subsection>
63 <title>Working with Several Overlays</title>
64 <body>
65
66 <p>
67 For the powerusers who develop on several overlays, test packages before they
68 hit the Portage tree or just want to use unofficial ebuilds from various
69 sources, the <c>app-portage/gentoolkit-dev</c> package brings you
70 <c>gensync</c>, a tool to help you keep the overlay repositories up to date.
71 </p>
72
73 <p>
74 With <c>gensync</c> you can update all the repositories at once, or select just
75 a few of them. Each repository should have a <path>.syncsource</path> file in
76 the <path>/etc/gensync/</path> configuration directory which contains the
77 repository location, name, ID, etc.
78 </p>
79
80 <p>
81 Suppose you have two additional repositories called <c>java</c> (for the
82 in-development java ebuilds) and <c>entapps</c> (for the applications developed
83 in-house for your enterprise) then you can update those repositories like so:
84 </p>
85
86 <pre caption="Using gensync to update a few repositories">
87 # <i>gensync java entapps</i>
88 </pre>
89
90 </body>
91 </subsection>
92 </section>
93 <section>
94 <title>Non-Portage Maintained Software</title>
95 <subsection>
96 <title>Using Portage with Self-Maintained Software</title>
97 <body>
98
99 <p>
100 In some cases you want to configure, install and maintain software yourself
101 without having Portage automate the process for you, even though Portage
102 can provide the software titles. Known cases are kernel sources and nvidia
103 drivers. You can configure Portage so it knows that a certain package is
104 manually installed on your system. This process is called <e>injecting</e> and
105 supported by Portage through the
106 <path>/etc/portage/profile/package.provided</path> file.
107 </p>
108
109 <p>
110 For instance, if you want to inform Portage about
111 <c>vanilla-sources-2.6.11.6</c> which you've installed manually, add the
112 following line to <path>/etc/portage/profile/package.provided</path>:
113 </p>
114
115 <pre caption="Example line for package.provided">
116 sys-kernel/vanilla-sources-2.6.11.6
117 </pre>
118
119 </body>
120 </subsection>
121 </section>
122 </sections>

  ViewVC Help
Powered by ViewVC 1.1.20