Ebuild

Linux.fista
Versio hetkellä 21. huhtikuuta 2007 kello 22.11 – tehnyt Pb (keskustelu | muokkaukset)
Siirry navigaatioon Siirry hakuun
ebuild
Käyttöliittymä ei
Lisenssi GPL
Kotisivu gentoo.org

Ebuild on kieli jolla kuvaillaan, miten paketteja asennetaan sekä ohjelma, joka toteuttaa kyseisen kielen. Ebuild on käytössä erityisesti Gentoo-jakelussa paketinhallintajärjestelmän osana.

Kieli

ebuild epäilemättä on kielenä monipuolinen, jopa tietyllä tapaa täydellinen. On kuitenkin tärkeää muistaa noudattaa oikeita käytäntöjä tehtäessä paketteja Gentoo-järjestelmään. Esimerkiksi valmiiseen järjestelmään kirjoittaminen useimmissa funktioissa on huonoa tyyliä, ja aiheuttaakin tyypillisesti esimerkiksi portagessa sandbox-loukkauksen.

Muuttujat

Seuraavien tyypillisesti ebuildin alussa määriteltävien muuttujien käyttö on suositeltavaa:

#kuvaus
DESCRIPTION="tässä kerrot mitä ohjelma tekee"
#ohjelman kotisivu
HOMEPAGE="http://hyodyllinen.ohjelma.org"
#mistä ohjelman lähdekoodi haetaan
SRC_URI="ftp://hyodyllinen.ohjelma.org/pub/${P}.tar.bz2"
#ohjelman lisenssi
LICENCE="GPL-2"
#kertoo, mihin slottiin ebuild asentuu, Gentoossa samassa slotissa
#ei voi olla kahta samannimistä pakettia
SLOT="0"
#kertoo mihin avainsanoihin ebuild kuuluu
KEYWORDS="x86 -*"
#kertoo mitkä USE-muuttujat vaikuttavat ebuildiin 
IUSE=""

#kertoo mitkä paketit ovat paketin riippuvuuksia
DEPEND="dev-libs/hyodyllinen-kirjasto"
#kertoo ne ebuildit, jotka ovat ebuildin ajonaikaisia riippuvuuksia
#tyypillisesti dynaaminen kirjastolinkkaus voi hajota vain näihin.
RDEPEND="dev-libs/hyödyllinen-kirjasto"

Funktiot

ebuild-kielessä on otsikon jälkeen bash-syntaksin mukaisia funktioita, joilla on oma osansa paketin asennuksessa. Mitään näistä funktioista ei ole pakko määritellä. Funktioton ebuild toimiikin tyypillisesti autotools-ohjelmaa varten, jolle ei tarvitse määritellä käännösaikaisia valintoja.

pkg_nofetch pkg_setup src_unpack src_compile src_test src_install pkg_preinst pkg_postinst pkg_prerm pkg_postrm pkg_config

Muut ominaisuudet

Import-lauseella voit sisällyttää ebuildiin .eclass-tiedostoja eclass-hakemistosta \#-merkillä alkavat rivit sivuutetaan kommentteina samalla tavalla kuin bashissa.