Ebuild

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

Ebuild on kieli jolla kuvaillaan, miten paketteja asennetaan ja 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 Turing-täydellinen. On kuitenkin tärkeää muistaa noudattaa hyviä käytäntöjä tehtäessä paketteja gentoo-järjestelmään. Esimerkiksi valmiin järjestelmään kirjoittaminen useimmissa funktioissa on huonoa tyyliä, ja aiheuttaakin tyypillisesti esimerkiksi portagessa sandbox-loukkauksen.

Muuttujat

Seuraavien muuttujien määrittely on suositeltavaa, ne määritellään tyypillisesti ebuildin alussa

#kuvaus
DESCRIPTION="tässä kerrot, mitä ohjelma tekee"
#ohjelman kotisivu
HOMEPAGE="http://hyodyllinen.ohjelma.org"
#mistä ohjelma 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 vain näihin voi dynaaminen kirjastolinkkaus hajota.
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ä. Tyypillisesti funktioton ebuildi toimiikin autotools-ohjelmalle, 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 ebuildin ominaisuudet

Import-lauseella voit sisällyttää ebuildiin .eclass-tiedostoja eclass-hakemistosta

Ohjelma