RkBlog

Hardware, programming and astronomy tutorials and reviews.

Opis elementów ebuildów

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"
Każda zależność oddzielana jest spacją, lecz zaleca się umieszczanie jeden zależności w linii ze względu na czytelność. Można też podać zależność do konkretnej wersji:
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

RkBlog

Ebuildy Gentoo, 14 July 2008, Piotr Maliński

Comment article