Gentoo Archives: gentoo-commits

From: "Lukasz Damentko (rane)" <rane@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo commit in xml/htdocs/proj/pl/devrel/handbook: hb-guide-ebuild.xml
Date: Mon, 09 Mar 2009 20:42:19
Message-Id: E1LgmIh-0006iU-6i@stork.gentoo.org
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>