> Linux Reviews > man >

ebuild

ebuild


  1. ebuild.1.man
  2. ebuild.5.man


1. ebuild.1.man

Manpage of EBUILD

EBUILD

Section: Portage (1)
Updated: Dec 2005
Index Return to Main Contents
 

NAZWA

ebuild - strona man programu ebuild - niskopoziomowego interfejsu maszyny Portage.  

SKŁADNIA

ebuild plik opcja [opcje]...  

OPIS

Program ebuild jest bezpośrednim interfejsem maszyny Portage. Pozwala on na wykonywanie określonych czynności związanych w ebuildem przy pomocy komend lub ich grup, w celu wywołania specyficznych dla ebuildu kontekstów i funkcji. Przyjmując jako argumenty nazwę pliku ebuild i jedną lub więcej opcji, program przetwarza skrypt ebuild i wywołuje określone polecenia. Funkcje zawarte w plikach ebuild obejmują pobieranie źródeł programów, rozpakowywanie ich, kompilowanie, instalowanie plików obiektowych w tymczasowym katalogu "image", instalowanie obrazu z tego katalogu w systemie, tworzenie tarballa bzip z obrazu i inne czynności.  

PLIK

Plik musi być poprawnym skryptem ebuild. Więcej informacji na ten temat można uzyskać czytając stronę man ebuild(5).  

OPCJE

help
Pokazuje skróconą formę strony man oraz dodatkowe informacje specyficzne dla pakietu podanego jako pierwszy argument.
setup
Wywołuje wszystkie właściwe pakietowi czynności instalacyjne i egzotyczne testy systemu.
clean
Sprząta tymczasowy katalog, który został stworzony przez Portage dla wskazanego pliku ebuild. Katalog ten zazwyczaj zawiera rozpakowany kod źródłowy oraz "obraz instalacyjny" programu (wszystkie pliki, jakie zostaną zainstalowane w systemie lub umieszczone w pakiecie). Lokalizacja katalogu, w którym ma miejsce budowanie programu, określona jest przez zmienną BUILD_PREFIX. Więcej informacji o tej zmiennej można uzystać wykonując polecenie emerge [-v] info. Opis nadpisywania jej wartości znajduje się na stronie man make.conf(5).

Uwaga: Portage sprząta niemal wszystko po poprawnym zainstalowaniu pakietu, chyba że zmienna FEATURES zawiera 'noclean'. Dodanie noclean do FEATURES spowoduje pozostawianie ogromnej ilości plików i w krótkim czasie doprowadzi do zajęcia dużego obszaru pamięci. Nie zaleca się dodawania opcji noclean, chyba że chcemy wykorzystać tymczasowe pliki do instalacji w przyszłości. Opcjonalnie można ręcznie wyczyścić katalog rm -rf /var/tmp/portage, co będzie jednoznaczne z usunięciem wszystkich plików tymczasowych.

fetch
Sprawdza, czy wszystkie źródła zawarte w zmiennej SRC_URI znajdują się w katalogu określonym zmienną DISTDIR (więcej informacji na stronie man make.conf(5)) i posiadają poprawne sumy md5. Jeśli źródła nie zostaną odnalezione, program spróbuje je pobrać, wykorzystując adresy serwerów zgromadzone w zmiennej SRC_URI. Jeśli dla jednego pliku istnieje kilka źródeł, z których może on zostać pobrany, Portage pinguje każdą lokalizację, aby sprawdzić która z nich oferuje najszybszy transfer. Serwery lustrzane określone w zmiennej GENTOO_MIRRORS zawsze są przeszukiwane jako pierwsze. Jeśli znalezione na dysku lub pobrane źródła posiadają sumy md5 niezgodne z tymi, które zostały zapisane w files/digest-[pakiet]-[wersja-rewizja], wyświetlone zostanie ostrzeżenie i program ebuild zakończy działanie z kodem błędu 1.
digest
Tworzy plik wyciągu dla pakietu w katalogu /usr/portage/[kategoria]/[pakiet]/files/. Plik ten zawiera sumy md5 dla wszystkich plików określonych w zmiennej SRC_URI. Jeśli pobrane źródła pakietu są uskodzone lub zawierają błędy, zostanie to wykryte na podstawie sum md5.
manifest
Aktualizuje plik manifestu dla pakietu, tworząc sumy md5 dla plików w katalogu files oraz dla ebuildu.
unpack
Wypakowuje pliki do podkatalogu w katalogu budowania programu (BUILD_PREFIX) poprzez wywołanie funkcji src_unpack() w skrypcie ebuild podanym jako argument. Jeśli funkcja src_unpack() nie została zdefiniowana, program korzysta z domyśnej funkcji w celu rozpakowania plików określonych w zmiennej SRC_URI. Źródła są zazwyczaj rozpakowywane do katalogu ${BUILD_PREFIX}/[pakiet]-[wersja-rewizja]/work. Może to zostać zmienione poprzez zmienną ${WORKDIR}.

Jeśli piszemy ebuilda, chcemy mieć pewność, że zmienna S (określająca katalog z rozpakowanymi źródłami) wskazuje na odpowiednie miejsce. Domyślnie katalog ten określony jest jako ${WORKDIR}/${P}, więc często definiowanie zmiennej S nie jest konieczne. Funkcja src_unpack() jest również odpowiedzialna za zastosowanie właściwych patchy na źródłach tak, aby były one gotowe do kompilacji.

compile
Kompiluje rozpakowane źródła poprzez wywołanie funkcji src_compile() zdefiniowanej w pliku ebuild podanym jako argument. Gdy funkcja src_compile() rozpoczyna działanie, katalogiem roboczym staje się ten, na który wskazuje zmienna ${S}. Po zakończeniu działania funkcji src_compile(), źródła powinny być w pełni skompilowane.
test
Wykonuje specyficzne dla pakietu testy, aby zweryfikować, czy program został zbudowany poprawnie.
preinst
Wykonuje właściwe dla pakietu czynności, które są konieczne przed jego zainstalowaniem w systemie.
install
Instaluje pakiet w tymczasowym katalogu instalacyjnym poprzez wywołanie funkcji src_install(). Po zakończeniu instalacji katalog instalacyjny (${BUILD_PREFIX}/[pakiet]-[wersja-rewizja]/image) będzie zawierał wszystkie pliki, które powinny zostać zainstalowane w systemie lub włączone do binarnego pakietu.
postinst
Wykonuje czynności konieczne po zainstalowaniu pakietu w systemie. Zazwyczaj powoduje wyświetlenie pomocnych informacji.
qmerge
Instaluje wszystkie pliki w katalogu instalacyjnym w działającym systemie plików. Proces ten przebiega następująco: po pierwsze zostaje wywołana funkcja pkg_preinst() (jeśli została zdefiniowana). Następnie pliki zostają zainstalowane w działającym systemie plików, a sumy md5 tych plików zostają zapisane w /var/db/pkg/${KATEGORIA}/${PN}-${PVR}/ZAWARTOŚĆ. Po przeniesieniu wszystkich plików do systemu, wywoływana jest funkcja pkg_postinst() (jeśli ją zdefiniowano).
merge
Aby zainstalować pakiet należy wywołać program ebuild kolejno z następującymi opcjami: fetch, unpack, compile, install i qmerge. Jeśli po prostu chcemy zainstalować pakiet nie zwracając uwagi na poszczególne etapy, możemy skorzystać z opcji merge, która wykona wszystkie wymienione kroki, zatrzymując instalację, jeśli coś pójdzie nie tak.
unmerge
Ta opcja wywołuje w pierwszej kolejności funkcję pkg_prerm (jeśli została zdefiniowana). Następnie powoduje usunięcie z systemu plików wszystkich plików, które posiadają poprawne sumy md5 i wartości mtime w pliku określającym zawartość pakietu. Wszystkie puste katalogi zostają rekurencyjnie usunięte. Ostatecznie zostaje wywołana funkcja pkg_postrm (jeśli ją zdefiniowano). Zainstalowanie nowej wersji pakietu a następnie usunięcie starszej jest bezpieczne - jest to zalecany sposób aktualizacji.
prerm
Powoduje wykonanie czynności koniecznych przed usunięciem pakietu z systemu. Ma związek z unmerge.
postrm
Wykonuje czynności potrzebne po usunięciu pakietu z systemu. Ma związek z unmerge.
config
Wykonuje specyficzne dla pakietu czynności konieczne po zakończeniu procesu instalacji. Zazwyczaj obejmuje to ustawienie plików konfiguracyjnych lub inne podobne działania, które użytkownik być może będzie chciał wykonać.
package
Ta opcja jest bardzo podobna do opcji merge, jednak po pobraniu źródeł, rozpakowaniu ich, skompilowaniu i zainstalowaniu, tworzony jest tarball .tbz2. Zostaje on umieszczony w katalogu ${PKGDIR}/All (zmienna ${PKGDIR} domyślnie wskazuje na /usr/portage/packages). W katalogu ${PKGDIR}/${CATEGORY} tworzone jest dowiązanie symboliczne, które wskazuje na pakiet w ${PKGDIR}/All.
rpm
Buduje pakiet RPM z plików w tymczasowym katalogu instalacyjnym. Obcenie informacje o zależnościach ebuildów nie są dołączane do pakietów RPM.
 

ZGŁASZANIE BŁĘDÓW

Wszystkie błędy prosimy zgłaszać za pomocą serwisu http://bugs.gentoo.org/  

AUTORZY

Achim Gottinger <achim@gentoo.org>
Daniel Robbins <drobbins@gentoo.org>
Nicholas Jones <carpaski@gentoo.org>
Mike Frysinger <vapier@gentoo.org>
 

PLIKI

/etc/make.conf
Zawiera zmienne, związane z procesem budowania programów, które nadpisują definicje z pliku make.globals.
 

ZOBACZ TAKŻE

emerge(1), ebuild(5), make.conf(5)
Skrypt /usr/sbin/ebuild.sh
Aplikacje pomocnicze w katalogu /usr/lib/portage/bin.
 

TŁUMACZENIE

Waldemar Korłub <stawrul@gmail.com>
Polski projekt tłumaczenia manuali Gentoo
http://gentoo.org/~rane/tlumaczenie-manuali


 

Index

NAZWA
SKŁADNIA
OPIS
PLIK
OPCJE
ZGŁASZANIE BŁĘDÓW
AUTORZY
PLIKI
ZOBACZ TAKŻE
TŁUMACZENIE

This document was created by man2html using the manual pages.
Time: 17:40:21 GMT, May 11, 2012

2. ebuild.5.man

Manpage of EBUILD

EBUILD

Section: Portage (5)
Updated: Styczeń 2007
Index Return to Main Contents
 

NAZWA

ebuild - format, zmienne i funkcje skryptów ebuild  

OPIS

Program ebuild(1) przyjmuje pojedynczy skrypt ebuild jako argument. Skrypt ten zawiera zmienne i polecenia, które określają w jaki sposób należy pobrać, rozpakować, poprawić, skompilować, zainstalować i osadzić w systemie dany pakiet oprogramowania, używając jego oryginalnych źródeł. Dodatkowo, skrypt może w razie potrzeby zawierać polecenia wykonywane przed/po procesach instalacji/deinstalacji. Wszystkie skrypty ebuild są pisane w bashu.  

PRZYKŁADY

Oto przykładowy prosty skrypt ebuild:

# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

inherit some_eclass another_eclass

DESCRIPTION="Super-useful stream editor (sed)"
HOMEPAGE="http://www.gnu.org/software/sed/sed"
SRC_URI="ftp://alpha.gnu.org/pub/gnu/sed/${P}.tar.gz"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~x86"
IUSE=""

DEPEND="virtual/libc"
RDEPEND="virtual/libc"

src_compile() {
        econf || die "could not configure"
        emake || die "emake failed"
}

src_install() {
        into /usr
        doinfo doc/sed.info
        doman doc/sed.1
        into /
        dobin sed/sed || die "dobin sed failed"
        dodir /usr/bin
        dosym /bin/sed /usr/bin/sed
        dodoc NEWS README* THANKS TODO AUTHORS BUGS ANNOUNCE
}
 

ZMIENNE

UWAGI NT. UŻYTKOWANIA
- Wszystkie zmienne, które można znaleźć w pliku make.conf(5) są dla
  nas dostępne w plikach ebuild  (na przykład zmienne PORTAGE* i PORTDIR*)
- Przypisując w skryptach ebuild wartości do zmiennych nie wolno stawiać spacji pomiędzy nazwą zmiennej a znakiem równości.
P
Zmienna ta zawiera nazwę pakietu bez numeru rewizji ebuilda. Nie wolno jej NIGDY modyfikować.
xfree-4.2.1-r2.ebuild --> $P=='xfree-4.2.1'
PN
Zawiera nazwę skryptu bez numeru wersji.
xfree-4.2.1-r2.ebuild --> $PN=='xfree'
PV
Zawiera numer wersji bez numeru rewizji.
xfree-4.2.1-r2.ebuild --> $PV=='4.2.1'
PR
Zawiera numer rewizji lub 'r0', jeśli numer rewizji nie istnieje.
xfree-4.2.1-r2.ebuild --> $PR=='r2'
PVR
Zawiera numer wersji oraz numer rewizji.
xfree-4.2.1-r2.ebuild --> $PVR=='4.2.1-r2'
PF
Zawiera pełną nazwę pakietu [PN]-[PVR]
xfree-4.2.1-r2.ebuild --> $PF=='xfree-4.2.1-r2'
CATEGORY
Zawiera nazwę kategorii, do której należy pakiet.
A
Zawiera wszystkie pliki źródłowe, których wymaga pakiet. Nigdy nie należy definiować tej zmiennej. Jest ona automatycznie generowana ze zmiennej SRC_URI.
WORKDIR = "${PORTAGE_TMPDIR}/portage/${CATEGORY}/${PF}/work"
Zawiera ścieżkę do głównego katalogu, w którym będzie budowany pakiet. Nie należy modyfikować tej zmiennej.
FILESDIR = "${PORTDIR}/${CATEGORY}/${PN}/files"
Zawiera ścieżkę do podkatalogu 'files' z katalogu pakietu w drzewie portage. Nie należy modyfikować tej zmiennej.
S = "${WORKDIR}/${P}"
Zawiera ścieżkę do tymczasowego katalogu budowania. Ze zmiennej tej korzystają funkcje src_compile i src_install. Dla obu tych funkcji katalogiem roboczym jest ścieżka ze zmiennej S. Zmienną tę można zmodyfikować, umieszczając w niej ścieżkę do katalogu, do którego zostało rozpakowane archiwum pakietu.
T = "${PORTAGE_TMPDIR}/portage/${CATEGORY}/${PF}/temp"
Zawiera ściezkę do katalogu tymczasowego. Zmiennej tej możemy używać zgodnie z upodobaniami.
D = "${PORTAGE_TMPDIR}/portage/${CATEGORY}/${PF}/image"
Zawiera ścieżkę do tymczasowego katalogu instalacji. Każda operacja zapisu, która nie wykorzystuje pomocniczych narzędzi i funkcji (opisanych poniżej), powinna być poprzedzona zmienną ${D}. Nie należy modyfikować tej zmiennej.
PORTAGE_LOG_FILE
Zawiera ścieżkę logu budowania. Jeśli zmienna PORT_LOGDIR jest nieustawiona, wtedy PORTAGE_LOG_FILE="${T}/build.log".
ROOT = "/"
Zawiera ścieżkę, którą Portage powinien używać jako korzeń żywego systemu plików. Gdy pakiety chcą wprowadzić zmiany do żywego systemu plików, powinny to zrobić do drzewa poprzedzonego przedrostkiem ${ROOT}. Nie należy zmieniać tej zmiennej.
DESCRIPTION = "Niezmiernie pożyteczny pakiet"
Zmienna ta powinna zawierać krótki opis pakietu.
SRC_URI = "http://pozyteczny.com/pakiet/${P}.tar.gz"
Zawiera listę odnośników URI wymaganych plików źródłowych. Może zawierać wiele odnośników dla pojedynczego pliku. Lista zostanie wykorzystana, jeśli plik nie zostanie znaleziony na żadnym z serwerów w GENTOO_MIRRORS.
HOMEPAGE = "http://pozyteczny.com/"
Powinna zawierać listę odnośników URL do strony głównej pakietu oraz innych źródeł informacji na jego temat.
KEYWORDS = [-~][x86,ppc,sparc,mips,alpha,arm,hppa]
Zmienna ta powinna zawierać listę architektur, o których wiemy, że ebuild na nich zadziała/nie zadziała. Zwykle jeśli nie jesteśmy pewni co do architektury, nie dodajemy jej do zmiennej. Jeśli ebuild nie zadziała na danej architekturze, należy dodać ją poprzedzoną znakiem -, na przykład -ppc. Jeśli planujemy dodać ebuild do drzewa Portage, powinniśmy podać ~arch dla tych architektur, dla których ebuild NA PEWNO DZIAŁA. (Pakiety, które mają w ten sposób ustawiony KEYWORD można odmaskować, ustawiając zmienną ACCEPT_KEYWORDS="~arch" w wierszu poleceń lub w pliku make.conf(5)). Miarodajną listę architektur znajdziemy w pliku /usr/portage/profiles/arch.list. Lista powinna być uporządkowana alfabetycznie.
SLOT
Za pomocą tej zmiennej ustawiamy wartość SLOT dla pakietów, które być może będą musiały współistnieć. Domyślnie powinniśmy ustawić SLOT="0", chyba że mamy poważne powody, by uczynić inaczej. Zmienna ta ZAWSZE powinna zostać ustawiona.
LICENSE
W tej zmiennej powinniśmy umieścić rozdzieloną spacjami listę licencji, na których wydany jest pakiet. Ustawiane licencje _muszą_ odpowiadać tym z katalogu /usr/portage/licenses/. Jeśli danej licencji nie ma jeszcze w Portage, najpierw należy ją tam dodać.
IUSE
Zmienna ta powinna zawierać listę wszelkich flag USE, z których korzysta nasz skrypt. Możemy tu pominąć jedynie flagi właściwe dla architektury (patrz KEYWORDS).
DEPEND
Zmienna ta powinna zawierać listę wszystkich pakietów, które muszą być już zainstalowane, aby nasz pakiet dał się skompilować.
Atomy DEPEND
Atom depend to po prostu zależność, której Portage używa przy obliczaniu powiązań między pakietami. Należy zauważyć, że jeśli dany Atom nie został jeszcze zainstalowany, dopasowywana jest najnowsza dostępna wersja.
Podstawy atomów
Podstawy atomów to po prostu kompletna specyfikacja kategoria/nazwapakietu. Oto przykładowe podstawy atomów:

sys-apps/sed
sys-libs/zlib
net-misc/dhcp
Wersje atomów
Czasem możemy potrzebować określić precyzyjnie jakie wersje atomów są nam potrzebne. Należy jedynie zwrócić uwagę, że numery wersji muszą być łączone przedrostkiem (patrz niżej). Dlatego numery wersji dodajemy jako przyrostek do reszty:

sys-apps/sed-4.0.5
sys-libs/zlib-1.1.4-r1
net-misc/dhcp-3.0_p2

Numer wersji zwykle składa się z dwóch lub trzech liczb, oddzielonych kropkami, na przykład 1.2 lub 4.5.2. Ten ciąg znaków może być czasem zakończony literą, na przykład 1.2a lub 4.5.2z. Należy zwrócić uwagę, że znak ten nie ma oznaczać statusu alpha, beta, itd... Do tego służą osobne przyrostki: _alpha, _beta, _pre (pre-release), _rc (release canditate) lub _p (patch). Czyli dla trzeciej wersji pre-release pakietu napisalibyśmy na przykład 1.2_pre3.

Operatory przedrostkowe atomów [> >= = <= <]
Czasem możemy potrzebować określić zależność od ogólnych zakresów wersji pakietów, zamiast podawać za każdym razem konkretną wersję. Do tego celu służą standardowe operatory Boole'a:

>media-libs/libgd-1.6
>=media-libs/libgd-1.6
=media-libs/libgd-1.6
<=media-libs/libgd-1.6
<media-libs/libgd-1.6
Rozszerzone przedrostki [!~] i przyrostki [*] atomów
Na tym nie koniec funkcjonalności. W razie potrzebny możemy zdefiniować pakiety blokujące oraz określić zakres interesujących nas wersji pakietów. Należy też zwrócić uwagę, że te rozszerzone przyrostki i przedrostki można dowolnie łączyć z klasami atomów, opisanymi wyżej. Oto kilka typowych przykładów z drzewa Portage:

!app-text/dos2unix
=dev-libs/glib-2*
!=net-fs/samba-2*
~net-libs/libnet-1.0.2a

! oznacza, że dany pakiet nie może być zainstalowany w tym samym czasie
* oznacza, że interesuje nas zainstalowanie dowolnej wersji pakietu z podaną podstawą. Tak więc w przypadku '2*' interesują nas wersje '2.1', '2.2',
~ oznacza, że interesuje nas dowolna rewizja podstawowej wersji podanego pakietu. W powyższym przykładzie więc mogą to być wersje '1.0.2a', '1.0.2a-r1',

Dynamiczne zależności
Czasem, zależnie od użytych flag USE, programy mogą posiadać zmienną listę zależności. Portage daje nam kilka sposobów na poradzenie sobie z tą sytuacją. Zauważmy tylko, że gdy używamy poniższych przykładów składni, każdy przypadek jest traktowany jako jeden Atom w kontekście, w którym się pojawia. Oznacza to, że każdy Atom może warunkowo włączać wiele atomów, jak i może być zagnieżdżony w nieskończoność.
usevar? ( Atom DEPEND )
Aby dołączyć bibliotekę jpeg gdy użytkownik ustawił flagę jpeg w USE, należy użyć poniższej składni:
jpeg? ( media-libs/jpeg )
!usevar? ( Atom )
Jeśli chcemy dołączyć pakiet tylko wtedy, gdy użytkownik nie włączył określonej flagi w zmiennej USE, należy użyć poniższej składni:
!nophysfs? ( dev-games/physfs )
Często przydaje się to wtedy, gdy chcemy dodać opcjonalne, lecz domyślnie włączone wsparcie dla jakiejś funkcji.
usevar? ( Atom jeśli prawda ) !usevar? ( Atom jeśli fałsz )
Obsługa funkcjonalności takiej jak operator trójargumentowy z języka C odbywa się za pomocą dwóch wyrażeń, jednego zwykłego, drugiego odwróconego. Jeśli pakiet korzysta z GTK1 lub GTK2, ale nie obu na raz, możemy obsłużyć to w ten sposób:
gtk2? ( =x11-libs/gtk+-2* ) !gtk2? ( =x11-libs/gtk+-1* )
W ten sposób domyślnie będzie wykorzystywać lepszą bibliotekę GTK2.
|| ( Atom Atom ... )
Gdy pakiet może korzystać z kilku różnych pakietów, a użycie pakietu wirtualnego nie jest wskazane, można zastosować taką składnię.
|| (
app-games/unreal-tournament
app-games/unreal-tournament-goty
)
W tym przykładzie widać, że unreal-tournament posiada normalną wersję oraz wersję goty. Oba pakiety posiadają te same pliki podstawowe i dla innych pakietów nie ma znaczenia który z nich będzie zainstalowany. Jednak dodanie pakietu wirtualnego nie jest wskazane ze względu na małą wagę problemu.
Innym dobrym przykładem jest sytuacja, gdy pakiet może zostać skompilowany z wieloma interfejsami wideo, ale może posiadać w danym czasie tylko jeden z nich.
|| (
sdl? ( media-libs/libsdl )
svga? ( media-libs/svgalib )
opengl? ( virtual/opengl )
ggi? ( media-libs/libggi )
virtual/x11
)
W tym przypadku zostanie wybrany tylko jeden z pakietów, zaś kolejność, w jakiej będą wybierane, ustala ich kolejność na liście. Tak więc sdl ma największe szanse na bycie wybranym, zaraz po nim svga, następnie opengl, ggi, zaś jesli użytkownik nie poda żadnej z poprzednich opcji, wybrany zostanie domyślny interfejs, X.

RDEPEND
Zmienna ta powinna zawierać listę wszystkich pakietów, które są wymagane, aby program uruchomił się (mówimy o nich też jako o zależnościach czasu uruchamiania). Jeśli zmienna ta nie zostanie ustawiona, przyjmie tę samą wartość, co zmienna DEPEND.
Wszystkie powyższe sposoby definiowania zmiennych zależności dotyczą również tej zmiennej.
PDEPEND
Zmienna ta powinna zawierać listę wszytkich tych pakietów, które muszą zostać zainstalowane zaraz po zainstalowaniu naszego programu.
Wszystkie powyższe sposoby definiowania zmiennych zależności dotyczą również tej zmiennej.
RESTRICT = [strip,mirror,fetch,userpriv]
W tej zmiennej powinniśmy zawrzeć rozdzieloną spacjami listę restrykcji co do opcji Portage.
binchecks
Wyłącza wszelkie sprawdzania QA dla plików binarnych. To powinno być używane TYLKO w wypadku pakietów, w których wypadku sprawdzania plików binarnych nie mają sensu (np. w wypadku linux-headers i kernel-sources można bezpiecznie ominąć te sprawdzania, ponieważ nie mają te pakiety plików binarnych). Jeśli sprawdzania plików binarnych muszą być ominięte z innych powodów (jak własnościowe pliki binarne), przejrzyj sekcję ZMIENNE KONTROLNE QA w celu dokładniejszych wyjaśnień.
confcache
Wyłącza użycie confcache przez econf.
fetch
Podobne do opcji mirror, ale pliki nie będą również pobierane z SRC_URI.
mirror
Pliki wymienione w zmiennej SRC_URI nie będą pobierane z wymienionych w zmiennej GENTOO_MIRRORS serwerów lustrzanych Gentoo.
primaryuri
Najpierw należy pobrać pliki z URL-i wymienionych w zmiennej SRC_URI, zanim wykorzystane zostaną serwery lustrzane z listy zawartej w GENTOO_MIRRORS.
strip
Będące ostatecznym produktem kompilacji pliki binarne i biblioteki nie będą pozbawiane symboli debugowania.
test
Funkcja src_test nie zostanie uruchomiona, nawet jeśli użytkownik ustawił zmienną FEATURES=test.
userpriv
Wyłącza funkcję userpriv dla okreslonych pakietów.
PROVIDE = "virtual/TARGET"
Powinniśmy użyć tej zmiennej tylko wtedy, gdy pakiet dostarcza funkcjonalności wirtualnej. Przykładowo, pakiety blackdown-jdk i sun-jdk dostarczają virtual/jdk. Pozwala to pakietom zdefiniować zależność od pakietu virtual/jdk, zamiast konkretnie od pakietów blackdown lub sun.
 

ZMIENNE KONTROLNE QA

UŻYCIE
Jest kilka zmiennych QA, które pozwalają ebuildowi wykonywać parę manipulacji związanych z testami QA. Użycie tych zmiennych powinno być jak najmniejsze. W innym wypadku, łamały by zasady testów QA ustanowione przez grupę QA. Ich podstawowym zastosowaniem jest użycie w ebuildach, które instalują zamknięte oprogramowanie, które nie może być modyfikowane.
Nalezy pamiętać, że obiekty, które łamią te zasady mogą nie działać na pewnych architekturach.
QA_TEXTRELS
Ta zmienna może być ustawiona jako lista plików, relatywnie do katalogu z obrazem, dla plików, których przeniesienie nie może zostać wyelminowane. Ścieżka może zawierać wyrażenia regularne.
Ta zmienna jest przeznaczona do użycia z zamkniętym oprogramowaniem, które nie może być modyfikowane.
QA_EXECSTACK
Ta zmienna powinna zawierać listę plików, relatywną do katalogu z obrazem, obiektów które wymagają wykonywalnego stosu, by móc działać. Ścieżka może zawierać wyrażenia regularne.
Ta zmienna jest przeznaczona do użycia z obiektami, które rzeczywiście wymagają wykonywalnego stosu (np. nie te, które twierdzą, że wymagają, ale w rzeczywistości nie).
QA_WX_LOAD
Ta zmienna powinna zawierać listę plików, relatywną do katalogu z obrazem, plików, które zawierają zapisywalne i wykonywalne części. Rzadko spotykane. Ścieżka może zawierać wyrażenia regularne.
 

DEKLARACJE PORTAGE

inherit
Funkcjonalność "inherit" (dziedziczenia) to sposób zarządzania specjalnymi klasami funkcji w Portage, które są zdefiniowane poza ebuildami i dostarczają danych i możliwości, które można dziedziczyć. Definiują funkcje i typy danych jako łatwo wymienialne części, rozszerzone oraz uproszczone fragmenty kodu, służące do wykonywania najbardziej typowych zadań i czyniące proces budowania bardziej eleganckim. Deklaracja inherit może być użyta w ebuildzie tylko raz i nigdy nie może być użyta wewnątrz jakichkolwiek instrukcji warunkowych. Eklasy należy podawać posługujac się wyłącznie ich nazwą, pomijając rozszerzenie .eclass. "inherit" musi się pojawić przed deklaracją zmiennych.
 

FUNKCJE

pkg_nofetch
Jeśli dodamy opcję fetch do zmiennej RESTRICT, wówczas zostanie uruchomiona niniejsza funkcja, o ile nie będzie można znaleźć plików wymienionych w zmiennej SRC_URI. Funkcja ta przydaje się głównie wtedy, gdy trzeba poinformować użytkownika w jaki sposób samemu zdobyć wspomniane pliki. Powinniśmy jedynie wyświetlić komunikat i pozwolić funkcji samej zakończyć działanie. Nie należy wywoływać na końcu funkcji die.
pkg_setup
Z tej funkcji korzystamy wtedy, gdy pakiet wymaga wykonania specjalnych poleceń konfigurujących lub sprawdzeń, które muszą być wykonane na samym poczatku.
Początkowy katalog roboczy to ${PORTAGE_TMPDIR}.
src_unpack
Funkcji tej używa się w celu rozpakowania wszystkich plików źródłowych z katalogu A do katalogu WORKDIR. Jeśli funkcja nie będzie zdefiniowana w skrypcie ebuild, automatycznie wywołana zostanie unpack ${A}. Nakładanie łatek i inne modyfikacje dokonywane przed procesem konfigurowania i kompilacji powinny być wykonane tutaj.
Początkowy katalog roboczy to $WORKDIR.
src_compile
Wszystkie czynności niezbędne przy konfiguracji i kompilacji powinny być wykonane tutaj.
Początkowy katalog roboczy to $S.
src_test
Wykonuje wszystkie procedury testujące danego pakietu. Domyślnie uruchamia polecenie 'make check', a następnie 'make test'.
Początkowy katalog roboczy to $S.
src_install
Funkcja ta powinna zawierać wszystkie niezbędne czynności, mające na celu zainstalowanie pakietu w tymczasowym katalogu instalacji.
Początkowy katalog roboczy to $S.
pkg_preinst pkg_postinst
W tych funkcjach powinniśmy dokonywać wszelkich tych zmian w prawdziwym systemie plików, które muszą być wykonane przed lub po osadzeniu pakietu w systemie. Również komentarze dla użytkownika powinny znajdować się w tym miejscu, gdyż wówczas będą wyświetlone jako ostatnie.
Początkowy katalog roboczy to $PWD.
pkg_prerm pkg_postrm
Funkcje analogiczne do pkg_*inst, lecz służące do odinstalowania.
Początkowy katalog roboczy to $PWD.
pkg_config
Funkcja ta powinna zawierać opcjonalne podstawowe czynności konfiguracyjne.
Początkowy katalog roboczy to $PWD.
 

FUNKCJE POMOCNICZE: OGÓLNE

die [powód]
Powoduje przerwanie aktualnego procesu instalacji. Zostanie wyświetlony komunikat powód.
use <flaga USE>
Jeśli flaga USE znajduje się w zmiennej USE, niniejsza funkcja zwróci 0 (wartość "prawda" powłoki), nie wypisując niczego. Jeśli flagi USE nie ma w zmiennej USE, funkcja zwróci wartość 1 (wartość "fałsz" powłoki), nie wypisując niczego. Polecenie usev pełni tę samą funkcję co use, lecz wypisuje więcej komunikatów.
Przykład:
if use gnome ; then
        guiconf="--enable-gui=gnome --with-x"
elif use gtk ; then
        guiconf="--enable-gui=gtk --with-x"
elif use X ; then
        guiconf="--enable-gui=athena --with-x"
else
        # Nie zostanie zbudowana wersja z gui
        guiconf=""
fi
use_with <flaga USE> [parametr configure] [opcja configure]
Funkcja przydatna przy tworzeniu własnej listy opcji, które chcemy przekazać do skryptu configure. Jeśli flaga USE znajduje się w zmiennej USE i podamy opcję configure, wówczas zostanie wypisany napis --with-[parametr configure]=[opcja configure]. Jeśli nie podamy opcji configure, wówczas wypisane zostanie tylko --with-[parametr configure]. Jeśli flagi USE nie ma w zmiennej USE, wypisany zostanie napis --without-[parametr configure]. Jeśli nie podamy parametru configure, wówczas zamiast niego zostanie użyta flaga USE.
Przykłady:
USE="opengl"
myconf=$(use_with opengl)
(zmienna myconf ma teraz wartość "--with-opengl")

USE="jpeg"
myconf=$(use_with jpeg libjpeg)
(zmienna myconf ma teraz wartość "--with-libjpeg")

USE=""
myconf=$(use_with jpeg libjpeg)
(zmienna myconf ma teraz wartość "--without-libjpeg")

USE="sdl"
myconf=$(use_with sdl SDL all-plugins)
(zmienna myconf ma teraz wartość "--with-SDL=all-plugins")
use_enable <flaga USE> [parametr configure] [opcja configure]
Funkcja działa analogicznie jak use_with, tylko że opcje do configure to --enable- zamiast --with- oraz --disable- zamiast --without-.
has <element> <lista elementów>
Jeśli element znajduje się na liście elementów, wówczas element zostanie wypisany na ekran, a funkcja has zwróci 0. W przeciwnym wypadku nic nie zostanie wypisane, a funkcja zwróci 1. Analogicznie jak w przypadku funkcji use, istnieje funkcja hasq, która nic nie wypisuje na ekran. Należy używać jej wszędzie tam, gdzie to, co funkcja wypisuje, jest nieistotne. Nigdy nie należy używać tych danych do obliczeń.
Zmienna IFS decyduje o znaku, który będzie oddzielał poszczególne elementy listy elementów. Zmienna ta przyjmuje domyślną wartość ' ', czyli spację. Jest to ustawienie powłoki bash(1).
has_version <kategoria/pakiet-wersja>
Funkcja sprawdza czy kategoria/pakiet-wersja jest zainstalowana. Wszystkie wartości, jakie są akceptowalne w zmiennej DEPEND mogą być użyte jako parametr funkcji. Zwraca ona 0 jeśli <kategoria/pakiet-wersja> jest zainstalowana, zaś 1 jeśli nie.
best_version <nazwa pakietu>
Funkcja ta wyszuka nazwę pakietu w bazie danych aktualnie zainstalowanych programów i wypisze na ekran "najlepszą wersję" spośród nich.
Przykład:
VERINS="$(best_version net-ftp/glftpd)"
(Zmienna VERINS posiada teraz wartość "net-ftp/glftpd-1.27" jeśli zainstalowany jest pakiet glftpd-1.27)
 

FUNKCJE POMOCNICZE: WYPISYWANIE NA EKRAN

einfo "dyspozycjyjna wiadomość"
Takie samo jak elog, ale powinno być używane, gdy wiadomość nie jest ważna dla użytkownika (jak wiadomości postępu lub stanu podczas procesu budowania).
elog "powiadomienie"
Jeśli chcemy wypisać komunikat, na który użytkownik powinien zwrócić uwagę i go przeczytać, powinniśmy użyć funkcji elog. Działa ona podobnie jak echo(1), tylko wyświetla tekst tak, aby przyciągnąć uwagę użytkownika. Wiadomość zostanie także zalogowana przez Portage dla późniejszego przeglądu.
ewarn "ostrzeżenie"
Funkcja działa podobnie jak einfo, lecz powinna być używana wtedy, gdy chcemy ostrzec użytkownika.
eerror "komunikat błędu"
Funkcja działa podobnie jak einfo, lecz powinna być używana wtedy, gdy chcemy powiadomić użytkownika o błędzie.
ebegin "komunikat"
Podobnie jak w przypadku funkcji einfo, wypisujemy komunikat, dając do zrozumienia, że wykonywana operacja może zająć trochę czasu. Gdy zakończy się ona, musimy wywołać funkcję eend.
eend <status> ["komunikat błędu"]
Funkcja ta dopisuje do komunikatu funkcji ebegin znacznik "OK" lub "!!" (w przypadku wystąpienia błędu). Jeśli status jest niezerowy, dodatkowo zostanie wypisany komunikat błędu.
 

FUNKCJE POMOCNICZE: ROZPAKOWYWANIE

unpack <źródło> [lista następnych źródeł]
Funkcja ta rozpakowuje archiwa i/lub pliki tar z listy źródeł do bieżącego katalogu. Oprócz rozpakowania, funkcja dołączy źródło do zmiennej DISTDIR.
 

FUNKCJE POMOCNICZE: KOMPILACJA

econf [opcje configure]
Funkcji tej używa się zamiast skryptu configure. Wykonuje ona następujące polecenie:
configure \
        --prefix=/usr \
        --host=${CHOST} \
        --mandir=/usr/share/man \
        --infodir=/usr/share/info \
        --datadir=/usr/share \
        --sysconfdir=/etc \
        --localstatedir=/var/lib \
        ${EXTRA_ECONF} \
        opcje configure
Należy zwrócić uwagę, że zmienna EXTRA_ECONF ma służyć użytkownikom, a nie autorom ebuildów. Jeśli chcemy przekazać skryptowi configure więcej opcji, należy to zrobić poprzez dodanie argumentów do funkcji econf.
emake [opcje make]
Funkcji tej używa się zamiast polecenia make. Wykonuje ona polecenie 'make ${MAKEOPTS} opcje make' (zgodnie z ustawieniami w pliku /etc/make.globals), domyślną wartością jest MAKEOPTS="-j2".

***uwaga***
jeśli zamierzamy użyć funkcji emake, powinniśmy upewnić się, że kompilowany program poradzi sobie z budowaniem równoległym (make -j2). Należy to dokładnie przetestować, ponieważ budowanie równoległe najczęściej zawodzi _czasem_, a nie za każdym razem. Jeśli stwierdzimy, że nasz pakiet nie buduje się równolegle i nie będziemy potrafili tego naprawić, powinniśmy wywoływać 'emake -j1' zamiast 'make'.

 

FUNKCJE POMOCNICZE: INSTALACJA

einstall [opcje make]
Funkcji tej używa się zamiast polecenia make install. Wykonuje ona następujące polecenie:
make \
        prefix=${D}/usr \
        datadir=${D}/usr/share \
        infodir=${D}/usr/share/info \
        localstatedir=${D}/var/lib \
        mandir=${D}/usr/share/man \
        sysconfdir=${D}/etc \
        ${EXTRA_EINSTALL} \
        opcje make \
        install
Nie należy używać tej funkcji zamiast 'emake install DESTDIR=${D}'. Jest to bowiem preferowany sposób instalowania pakietów opartych na make. Nie należy również wykorzystywać zmiennej EXTRA_EINSTALL, gdyż służy ona użytkownikom.

prepall
prepalldocs
prepallinfo
prepallman
prepallstrip
Funkcje te przydają się, gdy program jest instalowany do katalogu ${D} poprzez skrypty (na przykład pliki Makefile). Jeśli chcemy upewnić się, że biblioteki są wykonywalne, pliki aclocal są instalowane we właściwym miejscu, pliki doc/info/man są skomprymowane, a pliki wykonywalne zostały pozbawione symboli debugowania, powinniśmy użyć tego zestawu funkcji.
prepall:
Funkcja wywołuje funkcje prepallman, prepallinfo, prepallstrip, ustawia uprawnienia wykonywalności dla bibliotek i sprawdza katalogi aclocal. Należy zauważyć, że funkcja ta *nie* wywołuje funkcji prepalldocs.
prepalldocs:
Komprymuje pliki z dokumentacją w katalogu ${D}/usr/share/doc.
prepallinfo:
Komprymuje pliki info w katalogu ${D}/usr/share/info.
prepallman:
Komprymuje pliki man w katalogu ${D}/usr/share/man.
prepallstrip:
Usuwa symbole debugowania ze wszystkich plików wykonywalnych i bibliotek.

prepinfo [katalog]
prepman [katalog]
prepstrip [katalog]
Funkcje różnią się nieznacznie od funkcji prepall.
prepinfo:
Jeśli katalog nie został podany, funkcja prepinfo będzie działać na katalogu usr. Jej działanie polega na skomprymowaniu wszystkich plików w katalogu ${D}/katalog/info.
prepman:
Jeśli katalog nie został podany, funkcja prepman będzie działać na katalogu usr. Jej działanie polega na skomprymowaniu wszystkich plików w katalogu ${D}/dir/man/*/.
prepstrip:
Wszystkie pliki w katalogu ${D}/katalog zostaną pozbawione symboli debugowania. Możliwe jest podanie więcej niż jednego katalogu.
dosed "s:oryginał:zmiana:g" <plik>
Uruchamia program sed (w tym skopiowanie/przeniesienie pliku) dla pliku.
'dosed s:/usr/local:/usr:g /usr/bin/jakiś-skrypt' uruchamia program sed dla pliku ${D}/usr/bin/jakiś-skrypt
dodir <ścieżka>
tworzy katalog wewnątrz katalogu ${D}.
'dodir /usr/lib/apache' tworzy katalog ${D}/usr/lib/apache. Zauważmy, że funkcje do* wywołają funkcję dodir za nas.
diropts [opcje dla programu install(1)]
Funkcja ta może zostać użyta do podania opcji funkcji install, którą wykorzystuje funkcja dodir. Domyślne opcje to -m0755.
into <ścieżka>
Ustawia katalog główny (DESTTREE) dla pozostałych funkcji, takich jak dobin, dosbin, doman, doinfo, dolib.
Domyślnym katalogiem głównym jest /usr.
keepdir <ścieżka>
Instruuje portage, aby nie kasował katalogu, nawet jeśli jest pusty. Działa tak samo jak funkcja dodir.
dobin <plik binarny> [więcej plików binarnych]
Instaluje plik binarny lub całą ich listę do katalogu DESTTREE/bin. W razie potrzeby tworzy katalogi.
dosbin <plik binarny> [więcej plików binarnych]
Instaluje plik binarny lub całą ich listę do katalogu DESTTREE/sbin. W razie potrzeby tworzy katalogi.
doinitd <skrypt init.d> [więcej skryptów init.d]
Instaluje skrypty init.d Gentoo. Zostaną zainstalowane w prawidłowym dla Gentoo katalogu dla tego rodzaju plików (/etc/init.d/). W razie potrzeby zostaną utworzone potrzebne katalogi.
doconfd <plik conf.d> [więcej plików conf.d]
Instaluje pliki conf.d Gentoo. Zostaną zainstalowane w prawidłowym dla Gentoo katalogu dla tego rodzaju plików (/etc/conf.d/). W razie potrzeby zostaną utworzone potrzebne katalogi.
doenvd <plik env.d> [więcej plików env.d]
Instaluje pliki env.d Gentoo. Zostaną zainstalowane w prawidłowym dla Gentoo katalogu dla tego rodzaju plików (/etc/env.d/). W razie potrzeby zostaną utworzone potrzebne katalogi.

dolib <biblioteka> [więcej bibliotek]
dolib.a <biblioteka> [więcej bibliotek]
dolib.so <biblioteka> [więcej bibliotek]
Funkcje te instalują bibliotekę lub całą ich listę w katalogu DESTTREE/lib. W razie potrzeby tworzy katalogi.
libopts [opcje dla funkcji install(1)]
Funkcji tej możemy użyć, aby zdefiniować opcje dla funkcji install, z której korzystają funkcje dolib. Domyślna opcja to -m0644.
doman [-i18n=<locale>] <strona man> [więcej stron man]
Instaluje strony dokumentacji systemowej man do katalogu /usr/share/man/man[0-9n], w zależności od końcówki pliku man. Pliki zostaną skomprymowane, jeśli jeszcze nie są. Możemy podać strony man specyficzne dla używanego locale za pomocą opcji -i18n. Wówczas strona podręcznika zostanie zainstalowana do katalogu /usr/share/man/<locale>/man[0-9n].
dohard <nazwa pliku> <nazwa dowiązania>
dosym <nazwa pliku> <nazwa dowiązania>
Wykonuje polecenie ln tworząc albo dowiązanie twarde (hard), albo symboliczne (sym).
d [-a typy-plików] [-r] [-x lista-katalogów-do-pominięcia] [lista-plików-i-katalogów]
Instaluje pliki z listy (nazwy plików rozdzielone spacjami) do katalogu /usr/share/doc/${PF} pod warunkiem, że nazwa pliku kończy się na , poprzez użycie opcji -a, zaś za pomocą opcji -A możemy dodać typy plików do listy domyślnych. Poprzez parametr -x możemy określić katalogi do pominięcia (domyślnie pomijany jest katalog CVS), zaś parametr -r włącza pracę rekursywną.
doinfo <pliki-info> [więcej plików info]
Instaluje pliki dokumentacji info do katalogu DESTDIR/info. Pliki są automatycznie komprymowane za pomocą narzędzia gzip. W razie potrzeby tworzy katalogi.
domo <plik locale> [więcej plików locale]
Instaluje pliki locale do katalogu DESTDIR/usr/share/locale/[LANG], w zależności od końcówki nazwy pliku. Tworzy katalogi w razie potrzeby.

fowners <uprawnienia> <plik> [więcej plików]
fperms <uprawnienia> <plik> [więcej plików]
Wykonuje polecenie chown (funkcja fowners) lub chmod (funkcja fperms), nadając uprawnienia plikom.
insinto [ścieżka]
Ustawia katalog główny (INSDESTTREE) dla funkcji doins.
Domyślnym katalogiem głównym jest /.
insopts [opcje dla funkcji install(1)]
Funkcji tej możemy użyć, aby zdefiniować opcje dla funkcji install, z której korzysta funkcja doins. Domyślne opcje to -m0644.
doins <plik> [więcej plików]
Instaluje pliki do katalogu INSDESTTREE. Funkcja ta korzysta z funkcji install(1). W razie potrzeby tworzy niezbędne katalogi.
exeinto [ścieżka]
Ustawia katalog główny (EXEDESTTREE) dla funkcji doexe.
Domyślnym katalogiem głównym jest /.
exeopts [opcje dla funkcji install(1)]
Funkcji tej możemy użyć, aby zdefiniować opcje dla funkcji install, z której korzysta funkcja doexe. Domyślne opcje to -m0755.
doexe <plik wykonywalny> [więcej plików wykonywalnych]
Instaluje jeden lub więcej plików wykonywalnych do katalogu EXEDESTTREE. Funkcja ta korzysta z funkcji install(1). W razie potrzeby tworzy niezbędne katalogi.
docinto [ścieżka]
Ustawia podkatalog względny (DOCDESTTREE), z którego korzysta funkcja dodoc.
dodoc <dokument> [więcej dokumentów]
Instaluje jeden lub więcej dokumentów do katalogu /usr/share/doc/${PF}/DOCDESTTREE. Pliki są automatycznie komprymowane za pomocą narzędzia gzip. W razie potrzeby tworzy niezbędne katalogi.

newbin <stary plik> <nowa nazwa pliku>
newsbin <stary plik> <nowa nazwa pliku>
newinitd <stary plik> <nowa nazwa pliku>
newconfd <stary plik> <nowa nazwa pliku>
newenvd <stary plik> <nowa nazwa pliku>
newlib <stary plik> <nowa nazwa pliku>
newlib.so <stary plik> <nowa nazwa pliku>
newlib.a <stary plik> <nowa nazwa pliku>
newman <stary plik> <nowa nazwa pliku>
newinfo <stary plik> <nowa nazwa pliku>
newins <stary plik> <nowa nazwa pliku>
newexe <stary plik> <nowa nazwa pliku>
newdoc <stary plik> <nowa nazwa pliku>
Wszystkie powyższe funkcje działają analogicznie jak funkcje do*, tylko pracują z jednym plikiem i jest on instalowany pod nazwą [nowa nazwa pliku].
 

ZGŁASZANIE BŁĘDÓW

Błędy zgłaszać należy na stronie http://bugs.gentoo.org/  

AUTORZY

Achim Gottinger <achim@gentoo.org>
Mark Guertin <gerk@gentoo.org>
Nicholas Jones <carpaski@gentoo.org>
Mike Frysinger <vapier@gentoo.org>
Arfrever Frehtes Taifersar Arahesis <FFTA@WP.PL>
 

PLIKI

Skrypt /usr/sbin/ebuild.sh.
Aplikacje pomocnicze w katalogu /usr/lib/portage/bin.
/etc/make.conf
Zawiera zmienne, wykorzystywane w procesie budowania. Nadpisuje zmienne zawarte w pliku make.defaults.
/etc/make.globals
Definiuje domyślne wartości zmiennych wykorzystywanych w procesie budowania. Edytować należy wyłącznie plik /etc/make.conf.
 

ZOBACZ TAKŻE

ebuild(1), make.conf(5)  

TŁUMACZENIE

Kuba Bożanowski <jbozanowski@gmail.com>
Polski projekt tłumaczenia manuali Gentoo
http://gentoo.org/~rane/tlumaczenie-manuali
Arfrever Frehtes Taifersar Arahesis <FFTA@WP.PL>


 

Index

NAZWA
OPIS
PRZYKŁADY
ZMIENNE
ZMIENNE KONTROLNE QA
DEKLARACJE PORTAGE
FUNKCJE
FUNKCJE POMOCNICZE: OGÓLNE
FUNKCJE POMOCNICZE: WYPISYWANIE NA EKRAN
FUNKCJE POMOCNICZE: ROZPAKOWYWANIE
FUNKCJE POMOCNICZE: KOMPILACJA
FUNKCJE POMOCNICZE: INSTALACJA
ZGŁASZANIE BŁĘDÓW
AUTORZY
PLIKI
ZOBACZ TAKŻE
TŁUMACZENIE

This document was created by man2html using the manual pages.
Time: 17:40:21 GMT, May 11, 2012

SVENSKA - ja