1 |
rane 09/03/09 20:42:15 |
2 |
|
3 |
Modified: hb-guide-ebuild.xml |
4 |
Log: |
5 |
-> 1.51 from #259202 |
6 |
|
7 |
Revision Changes Path |
8 |
1.18 xml/htdocs/proj/pl/devrel/handbook/hb-guide-ebuild.xml |
9 |
|
10 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/pl/devrel/handbook/hb-guide-ebuild.xml?rev=1.18&view=markup |
11 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/pl/devrel/handbook/hb-guide-ebuild.xml?rev=1.18&content-type=text/plain |
12 |
diff : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/pl/devrel/handbook/hb-guide-ebuild.xml?r1=1.17&r2=1.18 |
13 |
|
14 |
Index: hb-guide-ebuild.xml |
15 |
=================================================================== |
16 |
RCS file: /var/cvsroot/gentoo/xml/htdocs/proj/pl/devrel/handbook/hb-guide-ebuild.xml,v |
17 |
retrieving revision 1.17 |
18 |
retrieving revision 1.18 |
19 |
diff -u -r1.17 -r1.18 |
20 |
--- hb-guide-ebuild.xml 6 Apr 2008 20:57:19 -0000 1.17 |
21 |
+++ hb-guide-ebuild.xml 9 Mar 2009 20:42:15 -0000 1.18 |
22 |
@@ -1,6 +1,6 @@ |
23 |
<?xml version='1.0' encoding='UTF-8'?> |
24 |
<!DOCTYPE sections SYSTEM "/dtd/book.dtd"> |
25 |
-<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/pl/devrel/handbook/hb-guide-ebuild.xml,v 1.17 2008/04/06 20:57:19 shadow Exp $ --> |
26 |
+<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/pl/devrel/handbook/hb-guide-ebuild.xml,v 1.18 2009/03/09 20:42:15 rane Exp $ --> |
27 |
|
28 |
<!-- The content of this document is licensed under the CC-BY-SA license --> |
29 |
<!-- See http://creativecommons.org/licenses/by-sa/2.5 --> |
30 |
@@ -24,7 +24,8 @@ |
31 |
znajdować się kilka innych wersji <c>util-linux</c> razem z wersją |
32 |
<path>util-linux-2.11y.ebuild</path>. Jest tak, ponieważ <e>wszystkie pliki |
33 |
ebuild danego pakietu (niezależnie od wersji)</e> mają wspólny katalog |
34 |
-<path>kategoria/pakiet</path> w głównym katalogu <path>/usr/portage</path>. |
35 |
+<path>kategoria/pakiet</path> w głównym katalogu <path>/usr/portage</path>, |
36 |
+jednak tylko w przypadku, gdy nie zainstalowano dodatkowych repozytoriów. |
37 |
</p> |
38 |
|
39 |
</body> |
40 |
@@ -383,11 +384,216 @@ |
41 |
</p> |
42 |
|
43 |
<p> |
44 |
-Pierwsza część każdego pliku ebuild składa się z kilku zmiennych. Aby |
45 |
-dowiedzieć się więcej o zmiennych należy zajrzeć do <uri |
46 |
-link="http://devmanual.gentoo.org/ebuild-writing/variables/index.html">devmanuala</uri>. |
47 |
+Pierwsza część każdego pliku ebuild składa się z kilku zmiennych. Dzielą się one |
48 |
+na trzy kategorie wymienione poniżej: |
49 |
</p> |
50 |
|
51 |
+<ul> |
52 |
+ <li>READ: zmiennych tych możemy użyć, ale <e>nie wolno</e> ich ustawiać</li> |
53 |
+ <li>MUST: zmienne, które <e>koniecznie należy ustawić</e></li> |
54 |
+ <li>OPT: zmienne, które powinniśmy ustawić</li> |
55 |
+</ul> |
56 |
+ |
57 |
+<table> |
58 |
+<tr> |
59 |
+ <th>Zmienna</th> |
60 |
+ <th>Kategoria</th> |
61 |
+ <th>Opis</th> |
62 |
+</tr> |
63 |
+<tr> |
64 |
+ <ti><c>P</c></ti> |
65 |
+ <ti>READ</ti> |
66 |
+ <ti>Nazwa i wersja pakietu.</ti> |
67 |
+</tr> |
68 |
+<tr> |
69 |
+ <ti><c>PN</c></ti> |
70 |
+ <ti>READ</ti> |
71 |
+ <ti>Nazwa pakietu.</ti> |
72 |
+</tr> |
73 |
+<tr> |
74 |
+ <ti><c>PV</c></ti> |
75 |
+ <ti>READ</ti> |
76 |
+ <ti>Wersja pakietu.</ti> |
77 |
+</tr> |
78 |
+<tr> |
79 |
+ <ti><c>PR</c></ti> |
80 |
+ <ti>READ</ti> |
81 |
+ <ti> |
82 |
+ Zawiera numer rewizji lub <c>r0</c>, jeśli pakiet nie posiada tego numeru. |
83 |
+ </ti> |
84 |
+</tr> |
85 |
+<tr> |
86 |
+ <ti><c>PVR</c></ti> |
87 |
+ <ti>READ</ti> |
88 |
+ <ti>Zawiera numer wersji razem z numerem rewizji.</ti> |
89 |
+</tr> |
90 |
+<tr> |
91 |
+ <ti><c>PF</c></ti> |
92 |
+ <ti>READ</ti> |
93 |
+ <ti>Zawiera pełną nazwę pakietu <c>${PN}-${PVR}</c>.</ti> |
94 |
+</tr> |
95 |
+<tr> |
96 |
+ <ti><c>A</c></ti> |
97 |
+ <ti>READ</ti> |
98 |
+ <ti> |
99 |
+ Rozdzielona spacjami lista nazw plików z <c>SRC_URI</c>. Nie uwzględnia |
100 |
+ ścieżek URL, tylko same nazwy plików. |
101 |
+ </ti> |
102 |
+</tr> |
103 |
+<tr> |
104 |
+ <ti><c>DISTDIR</c></ti> |
105 |
+ <ti>READ</ti> |
106 |
+ <ti> |
107 |
+ Zawiera ścieżkę do katalogu <path>distfiles</path>, w którym zwykle są |
108 |
+ przechowywane wszystkie pobrane pliki ze źródłami programów. Zwykle jest to |
109 |
+ katalog <path>/usr/portage/distfiles</path>. |
110 |
+ </ti> |
111 |
+</tr> |
112 |
+<tr> |
113 |
+ <ti><c>FILESDIR</c></ti> |
114 |
+ <ti>READ</ti> |
115 |
+ <ti> |
116 |
+ Zawiera ścieżkę do podkatalogu <path>files</path> z katalogu danego pakietu |
117 |
+ w drzewie Portage. Nie wolno modyfikować tej zmiennej. |
118 |
+ </ti> |
119 |
+</tr> |
120 |
+<tr> |
121 |
+ <ti><c>WORKDIR</c></ti> |
122 |
+ <ti>READ</ti> |
123 |
+ <ti> |
124 |
+ Katalog główny katalogu roboczego danego ebuilda. Nic nie powinno być |
125 |
+ budowane na zewnątrz tego katalogu. |
126 |
+ </ti> |
127 |
+</tr> |
128 |
+<tr> |
129 |
+ <ti><c>S</c></ti> |
130 |
+ <ti>OPT</ti> |
131 |
+ <ti> |
132 |
+ Katalog źródłowy naszego pakietu. Zwykle jest to <c>${WORKDIR}/${P}</c>. |
133 |
+ Portage przyjmie tę wartość jako domyślną, nie trzeba jej więc ustawiać |
134 |
+ samemu. |
135 |
+ </ti> |
136 |
+</tr> |
137 |
+<tr> |
138 |
+ <ti><c>T</c></ti> |
139 |
+ <ti>READ</ti> |
140 |
+ <ti> |
141 |
+ Katalog tymczasowy naszego pakietu. Jest on używany jako wirtualny katalog |
142 |
+ <path>/tmp</path> podczas przetwarzania skryptu ebuild. |
143 |
+ </ti> |
144 |
+</tr> |
145 |
+<tr> |
146 |
+ <ti><c>D</c></ti> |
147 |
+ <ti>READ</ti> |
148 |
+ <ti> |
149 |
+ Katalog główny, do którego pakiet zostanie zainstalowany. Należy traktować |
150 |
+ go jako wirtualny katalog <path>/</path>. |
151 |
+ </ti> |
152 |
+</tr> |
153 |
+<tr> |
154 |
+ <ti><c>SLOT</c></ti> |
155 |
+ <ti>MUST</ti> |
156 |
+ <ti> |
157 |
+ Portage obsługuje instalowanie jednocześnie różnych wersji tego samego |
158 |
+ programu. Na przykład jeśli chcielibyśmy zainstalować jednocześnie GCC 2.95 |
159 |
+ i GCC 3.2, należałoby ustawić zmienną <c>SLOT</c> w każdym pliku ebuild. W |
160 |
+ tym przypadku dla GCC 2.95 ustawilibyśmy zmienną <c>SLOT</c> na <c>2</c>, a |
161 |
+ dla GCC 3.2 na <c>3</c>. |
162 |
+ <br/> |
163 |
+ <b>Uwaga</b>: Podanie <c>0</c> jako wartości zmiennej <c>SLOT</c> oznacza, |
164 |
+ że dany pakiet ma tylko jedno możliwe ustawienie <c>SLOT</c> (innymi słowy, |
165 |
+ nie da się jej "SLOT-ować"). |
166 |
+ </ti> |
167 |
+</tr> |
168 |
+<tr> |
169 |
+ <ti><c>LICENSE</c></ti> |
170 |
+ <ti>MUST</ti> |
171 |
+ <ti> |
172 |
+ Zmienna ta określa jaką licencją objęty jest program, na przykład GPL-2, |
173 |
+ BSD, itp... Zawartością tej zmiennej musi być poprawna licencja (jest nią |
174 |
+ dowolna licencja z pliku <path>/usr/portage/license/</path>). Jesli danej |
175 |
+ licencji nie ma w tym pliku, musi zostać tam dodana zanim plik ebuild |
176 |
+ znajdzie się w drzewie Portage. Jeśli licencja nie zezwala na redystrybucję |
177 |
+ programu, należy dodać <c>RESTRICT</c>="nomirror" do pliku ebuild. |
178 |
+ </ti> |
179 |
+</tr> |
180 |
+<tr> |
181 |
+ <ti><c>KEYWORDS</c></ti> |
182 |
+ <ti>MUST</ti> |
183 |
+ <ti> |
184 |
+ Zmienna ta pełni teraz kilka funkcji. Przede wszystkim określa na jakie |
185 |
+ architektury sprzętowe przeznaczony jest dany ebuild. Przykładowe wartości |
186 |
+ to: <e>x86, ppc, sparc, mips, alpha, arm, hppa, amd64 i ia64</e>. Więcej |
187 |
+ szczegółów można znaleźć w pliku profiles/arch.list. Jak nietrudno się |
188 |
+ domyślić, zmienną tę ustawiamy zgodnie z architekturą docelowej maszyny. |
189 |
+ Portage nie zezwoli maszynie x86 budować pakietów innych niż x86, zgodnie z |
190 |
+ tym, co jest podane w zmiennej <c>KEYWORDS</c>. Pakiety, które nie wspierają |
191 |
+ architektury danego komputera są automatycznie maskowane przez Portage. |
192 |
+ Jeśli flaga <c>KEYWORDS</c> posiada przedrostek <e>~</e>, oznacza to, że |
193 |
+ dany ebuild działa, ale powinien zostać przetestowany w kilku środowiskach, |
194 |
+ zanim może zostać uznany za stabilny. Jeśli zaś przed flagą <c>KEYWORDS</c> |
195 |
+ występuje znak <e>-</e>, dany pakiet nie będzie działać na danej |
196 |
+ architekturze. Pakiety jest uznawany za stabilny, jeśli nic nie poprzedza |
197 |
+ zmiennych zawartych w <c>KEYWORDS</c>. Ustawiając odpowiednio zmienną |
198 |
+ <c>ACCEPT_KEYWORDS</c> w pliku <path>make.conf</path> definiujemy którym z |
199 |
+ powyższych typów pakietów zezwalamy na instalację. |
200 |
+ </ti> |
201 |
+</tr> |
202 |
+<tr> |
203 |
+ <ti><c>DESCRIPTION</c></ti> |
204 |
+ <ti>MUST</ti> |
205 |
+ <ti><e>Krótki</e>, mieszczący się w jednej linii opis pakietu.</ti> |
206 |
+</tr> |
207 |
+<tr> |
208 |
+ <ti><c>SRC_URI</c></ti> |
209 |
+ <ti>MUST</ti> |
210 |
+ <ti> |
211 |
+ URL-e każdego pliku ze źródłami pakietu, rozdzielone białym znakiem (np. |
212 |
+ spacją lub znakiem końca linii). W zmiennych SRC_URI i S nie powinno się |
213 |
+ umieszczać numerów wersji. Powinniśmy zawsze stosować zmienne ${PV} lub |
214 |
+ ${P}, a jeśli numer wersji nie pokrywa się z nazwą pliku zawierającego |
215 |
+ źródła, należy stworzyć zmienną ${MY_P} i użyć jej zamiast dwóch |
216 |
+ poprzednich. |
217 |
+ </ti> |
218 |
+</tr> |
219 |
+<tr> |
220 |
+ <ti><c>HOMEPAGE</c></ti> |
221 |
+ <ti>MUST</ti> |
222 |
+ <ti> |
223 |
+ Strona domowa pakietu. Jeśli nie możemy znaleźć oficjalnej strony, można |
224 |
+ podać odnośnik z <uri link="http://freshmeat.net/">freshmeat.net</uri> lub |
225 |
+ podobnej strony z bazą danych programów. Nigdy nie należy odnosić się do |
226 |
+ innej zmiennej wewnątrz tej. Musi ona zawierać tylko czysty tekst. |
227 |
+ </ti> |
228 |
+</tr> |
229 |
+<tr> |
230 |
+ <ti><c>IUSE</c></ti> |
231 |
+ <ti>MUST</ti> |
232 |
+ <ti> |
233 |
+ W zmiennej tej zamieszczamy flagi <c>USE</c> z jakich korzysta nasz pakiet. |
234 |
+ Należy pamiętać, że nie wolno tutaj umieścić <c>KEYWORDS</c>! |
235 |
+ </ti> |
236 |
+</tr> |
237 |
+<tr> |
238 |
+ <ti><c>DEPEND</c></ti> |
239 |
+ <ti>OPT</ti> |
240 |
+ <ti> |
241 |
+ Tutaj wymieniamy zależności potrzebne do zbudowania pakietu. Więcej |
242 |
+ informacji na temat składni znajdziemy w sekcji <uri |
243 |
+ link="#doc_chap5">Zależności pakietu</uri>. |
244 |
+ </ti> |
245 |
+</tr> |
246 |
+<tr> |
247 |
+ <ti><c>RDEPEND</c></ti> |
248 |
+ <ti>OPT</ti> |
249 |
+ <ti> |
250 |
+ Tutaj wymieniamy zależności potrzebne do uruchomienia programu z pakietu. |
251 |
+ Jak wspomniano wyżej, więcej szczegółów można znaleźć w sekcji <uri |
252 |
+ link="#doc_chap5">Zależności pakietu</uri>. |
253 |
+ </ti> |
254 |
+</tr> |
255 |
+</table> |
256 |
+ |
257 |
<p> |
258 |
<b>Funkcje</b> |
259 |
</p> |
260 |
@@ -1378,8 +1584,8 @@ |
261 |
<ti>Nie dotyczy</ti> |
262 |
</tr> |
263 |
<tr> |
264 |
- <ti><c>manifest</c>*</ti> |
265 |
- <ti>Tworzy plik Manifest pakietu.</ti> |
266 |
+ <ti><c>digest</c>*</ti> |
267 |
+ <ti>Tworzy plik digest pakietu.</ti> |
268 |
<ti>Nie dotyczy</ti> |
269 |
</tr> |
270 |
<tr> |
271 |
@@ -1454,7 +1660,8 @@ |
272 |
<ti><c>docinto</c></ti> |
273 |
<ti><path>""</path></ti> |
274 |
<ti> |
275 |
- Ustawia względny katalog wykorzystywany przez funkcję <c>dodoc</c>. |
276 |
+Ustawia względny katalog (DOCDESTTREE) wykorzystywany przez funkcję |
277 |
+<c>dodoc</c>. |
278 |
</ti> |
279 |
<ti><c>docinto examples</c></ti> |
280 |
</tr> |
281 |
@@ -1716,9 +1923,8 @@ |
282 |
<ti><c>prepalldocs</c></ti> |
283 |
<ti>Nie dotyczy</ti> |
284 |
<ti> |
285 |
- Rekursywnie kompresuje wszystkie pliki dokumentacji z katalogu |
286 |
- <path>/usr/share/doc</path> za pomocą narzędzia gzip, automatycznie |
287 |
- poprawiając wszelkie dowiązania symboliczne. |
288 |
+ Zachowanie zostało zmienione pomiędzy wersjami Portage, w związku z czym nowe |
289 |
+ ebuildy nie powinny korzystać z tej funkcji. |
290 |
</ti> |
291 |
<ti><c>prepalldocs</c></ti> |
292 |
</tr> |
293 |
@@ -1844,7 +2050,8 @@ |
294 |
<p> |
295 |
=sys-apps/bla-1.2* wybierze najnowsze wersje spośród gałęzi 1.2, ale zignoruje |
296 |
1.3 i wcześniejsze/późniejsze gałęzie. Tak więc bla-1.2.3 i bla-1.2.0 będą |
297 |
-odpowiednie, zaś bla-1.3.3, bla-1.3.0 i bla-1.1.0 już nie. |
298 |
+odpowiednie, zaś bla-1.3.3, bla-1.3.0 i bla-1.1.0 już nie. Warto zauważyć, że |
299 |
+bla-1.22.3 też pasuje do wzorca, co czasami może spowodować problemy. |
300 |
</p> |
301 |
|
302 |
<p> |