1 |
pete |
1.1 |
Gentoo-HOWTO |
2 |
|
|
Written by Peter Gavin <pete@gentoo.org> and other members of the |
3 |
|
|
Gentoo Team |
4 |
|
|
|
5 |
|
|
------------------------------------------------------------------------ |
6 |
|
|
|
7 |
|
|
Contents |
8 |
|
|
|
9 |
|
|
I. Introduction |
10 |
|
|
II. The Portage Tree |
11 |
|
|
A. What (Not) to Put in the Portage Tree |
12 |
|
|
B. Categories |
13 |
|
|
C. The files Directory |
14 |
|
|
III. .ebuild Files |
15 |
|
|
A. Naming .ebuild Files |
16 |
|
|
B. Contents of an .ebuild File |
17 |
|
|
C. Rules for Writing an .ebuild File |
18 |
|
|
IV. Filesystem Locations |
19 |
|
|
A. Introduction to the FHS |
20 |
|
|
B. How to Fit Your Packages into the Filesystem |
21 |
|
|
|
22 |
|
|
------------------------------------------------------------------------ |
23 |
|
|
|
24 |
|
|
I. Introduction |
25 |
|
|
|
26 |
|
|
blah, blah, blah... (I'll fill this in later) |
27 |
|
|
|
28 |
|
|
II. The Portage Tree |
29 |
|
|
|
30 |
|
|
The portage tree is a heirarchy, in which the first level is |
31 |
|
|
the category, and the second is the name of the package. |
32 |
|
|
|
33 |
|
|
A. What (Not) to Put in the Portage Tree |
34 |
|
|
|
35 |
|
|
The portage tree should only include ebuild files, and other |
36 |
|
|
files in the 'files' directory for each package. No binary |
37 |
|
|
files should be placed in the portage tree. No files that can |
38 |
|
|
be downloaded from other sources (such as patches written by |
39 |
|
|
other people) should be put here. No patches you write |
40 |
|
|
yourself should be compressed. |
41 |
|
|
|
42 |
|
|
B. Categories |
43 |
|
|
|
44 |
|
|
The categories are defined as follows: |
45 |
|
|
|
46 |
|
|
app-admin - non-critical system administration utilities |
47 |
|
|
|
48 |
|
|
app-arch - non-critical archival/compression utilities |
49 |
|
|
|
50 |
|
|
app-cdr - CD recording utilities |
51 |
|
|
|
52 |
|
|
app-doc - application documentation |
53 |
|
|
|
54 |
|
|
app-editors - non-critical text editors |
55 |
|
|
|
56 |
|
|
app-emulation - packages for emulating other systems/OSes |
57 |
|
|
|
58 |
|
|
app-misc - applications that don't fit anywhere else |
59 |
|
|
|
60 |
|
|
app-office - office-type (word processing, spreadsheet, etc.) |
61 |
|
|
packages |
62 |
|
|
|
63 |
|
|
app-shells - non-critical shells and command interpreters |
64 |
|
|
|
65 |
|
|
app-text - text processing, spell checkers, and document |
66 |
|
|
formatting packages |
67 |
|
|
|
68 |
|
|
dev-db - database libraries |
69 |
|
|
|
70 |
|
|
dev-java - java classes/packages/etc. |
71 |
|
|
|
72 |
|
|
dev-lang - compilers and interpreters for different languages |
73 |
|
|
|
74 |
|
|
dev-libs - miscellaneous developer's libraries |
75 |
|
|
|
76 |
|
|
dev-perl - perl modules |
77 |
|
|
|
78 |
|
|
dev-python - python modules |
79 |
|
|
|
80 |
|
|
dev-ruby - ruby modules |
81 |
|
|
|
82 |
|
|
dev-util - various developers utilities |
83 |
|
|
|
84 |
|
|
gnome-apps - applications for gnome |
85 |
|
|
|
86 |
|
|
gnome-base - base gnome packages |
87 |
|
|
|
88 |
|
|
gnome-libs - non-essential gnome libraries |
89 |
|
|
|
90 |
|
|
gnome-office - office packages for gnome |
91 |
|
|
|
92 |
|
|
kde-apps - applications for kde |
93 |
|
|
|
94 |
|
|
kde-base - base kde packages |
95 |
|
|
|
96 |
|
|
kde-i18n - kde internationalization packages |
97 |
|
|
|
98 |
|
|
media-gfx - graphics related programs |
99 |
|
|
|
100 |
|
|
media-libs - libraries for manipulating different media, |
101 |
|
|
including accessing multimedia peripherals of your |
102 |
|
|
computer (sound card, video card, etc.) |
103 |
|
|
|
104 |
|
|
media-sound - programs related to sound, including cd-audio |
105 |
|
|
and sound encoding |
106 |
|
|
|
107 |
|
|
media-video - programs related to video, including video |
108 |
|
|
codecs and players |
109 |
|
|
|
110 |
|
|
net-analyzer - network usage statistics monitors/analyzers |
111 |
|
|
|
112 |
|
|
net-dialup - network dialup clients and servers such as pppd |
113 |
|
|
|
114 |
|
|
net-fs - network filesystems |
115 |
|
|
|
116 |
|
|
net-ftp - ftp servers and clients |
117 |
|
|
|
118 |
|
|
net-irc - irc servers and clients |
119 |
|
|
|
120 |
|
|
net-libs - networking related libraries |
121 |
|
|
|
122 |
|
|
net-mail - mtas and muas |
123 |
|
|
|
124 |
|
|
net-misc - miscellaneous servers, clients, firewalls, etc. |
125 |
|
|
|
126 |
|
|
net-nds - NIS/NIS+ and other name services |
127 |
|
|
|
128 |
|
|
net-print - print servers and clients |
129 |
|
|
|
130 |
|
|
net-www - http/www servers and clients |
131 |
|
|
|
132 |
|
|
sys-apps - system-critical applications and utilities |
133 |
|
|
|
134 |
|
|
sys-build - stuff thats in the build tarball; you don't |
135 |
|
|
normally need any of these packages unless you are |
136 |
|
|
building your entire system from scratch. |
137 |
|
|
|
138 |
|
|
sys-devel - base development packages, such as gcc and make |
139 |
|
|
|
140 |
|
|
sys-kernel - linux kernels |
141 |
|
|
|
142 |
|
|
sys-libs - system-critical libraries such as glibc |
143 |
|
|
|
144 |
|
|
x11-base - xfree86 and xfree86 drivers for various video cards |
145 |
|
|
|
146 |
|
|
x11-libs - widget sets and other x11 specific libraries |
147 |
|
|
|
148 |
|
|
x11-terms - x11 terminal emulators |
149 |
|
|
|
150 |
|
|
x11-wm - x11 window managers |
151 |
|
|
|
152 |
|
|
Note: the sys-* categories, other than sys-build, will be |
153 |
|
|
removed soon. |
154 |
|
|
|
155 |
|
|
C. The files Directory |
156 |
|
|
|
157 |
|
|
Under each package subdirectory is a 'files' directory. You |
158 |
|
|
should place any patches, configuration files, and other |
159 |
|
|
auxillary files your package might require in this |
160 |
|
|
directory. Patches you create yourself just to get your |
161 |
|
|
package to build should be called '${PF}-gentoo.diff'. You |
162 |
|
|
should not compress these diffs, since 1) they should not be big |
163 |
|
|
enough to require compressing, and 2) cvs does not play well |
164 |
|
|
with binary files. |