Opis elementów ebuildów
14 July 2008
Comments
Zależności
Składnia dla DEPEND czy RDEPEND jest identyczna i wygląda mniej więcej ta:DEPEND="dev-lang/ruby dev-ruby/ruby-gtk2 dev-ruby/mysql-ruby"
DEPEND=">=dev-libs/openssl-0.9.7d"
>=app-misc/foo-1.23 Wersja 1.23 lub nowsza wymagana (wyższy numer wersji)
>app-misc/foo-1.23 Tylko wersja nowsza od 1.23 jest wymagana
~app-misc/foo-1.23 Wersja 1.23 lub każda 1.23-r* wymagana
=app-misc/foo-1.23 Tylko wersja 1.23 wymagana. Zaleca się stosowanie ~
<=app-misc/foo-1.23 Wersja 1.23 lub starsza wymagana
<app-misc/foo-1.23 Wersja starsza od 1.23 wymagana
Kolizje pakietów (nie można zainstalować dwóch konfliktujących pakietów) określa się za pomocą znaku !
RDEPEND="!app-misc/foo"
By określić zależność jedną z kilku wystarczy użyć konstrukcji:
DEPEND="|| ( app-misc/foo app-misc/bar )"
Powyższy przykład oznacza że dana aplikacja wymaga foo lub bar.Slotowanie
Sloty używane są do instalowania w systemie różnych wersji tej samej aplikacji - np. GTK+ 1 i 2 czy QT 3 i 4. SLOT="0" oznacza brak slotu. By umożliwić instalację różnych wersji obok siebie wystarczy podać numery slotów (od 1 w górę) w ebuildach.Wiadomości
Do wyświetlania wiadomości różnego typu służą funkcje elog,einfo, ewarn i eerror. elog wyświetla wiadomość, która również jest logowana przez portage i paludisa. einfo wyświetla tekst, który nie jest logowany. ewarn służy do wyświetlania ostrzeżeń, a eerror służy do wyświetlania dodatkowych komunikatów błędów i zazwyczaj zawsze powinno po niej występować die. Przykłady:pkg_postinst() {
elog "You will need to set up your /etc/foo/foo.conf file before"
elog "running foo for the first time. For details, please see the"
elog "foo.conf(5) manual page."
}
src_compile() {
einfo "Starting a silent compile that takes hours."
./build
}
Zmienne
- P - Nazwa pakietu i numer wersji, bez rewizji (r-*)
- PN - Nazwa pakietu
- PV - Wersja pakietu bez rewizji
- PR - Rewizja pakietu lub r0 jeżeli nie istnieje
- PVR - Wersja pakietu i rewizja, np. 6.3-r0, 6.3-r1
- PF - Nazwa, wersja i rewizja pakietu
- A - Wszystkie pliki źródłowe
- CATEGORY - Kategoria pakietu, np. app-editors
- FILESDIR - Ścieżka do folderu files/ ebuildu używanego do przechowywania małych łat i plików (równoznaczne z "${PORTDIR}/${CATEGORY}/${PN}/files")
- WORKDIR - Ścieżka do głównego katalogu budowania pakietu (równoznaczne z "${PORTAGE_TMPDIR}/portage/${PF}/work")
- T - Ścieżka do katalogu tymczasowego do wykorzystania przez ebuild ("${PORTAGE_TMPDIR}/portage/${PF}/temp")
- D - Ścieżka do tymczasowego katalogu instalacji ("${PORTAGE_TMPDIR}/portage/${PF}/image)
- ROOT - Ścieżka do głównego katalogu (gdy nie używasz ${D} dodawaj ${ROOT} do ścieżek)
RkBlog
Comment article