Ero sivun ”Ebuild” versioiden välillä
p (luokka ja wikilinkki) |
|||
Rivi 34: | Rivi 34: | ||
ebuild-kielessä on otsikon jälkeen [[Bash-skriptaus|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. | ebuild-kielessä on otsikon jälkeen [[Bash-skriptaus|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_nofetch==== | ||
Tätä funktiota kutsutaan, mikäli RESTRICT="fetch" on asetettu ja ebuildin SRC_URI kohdetta ei kyetä noutamaan. | |||
pkg_nofetchin jälkeen muita funktioita ei kutsuta vaan siirrytään ohjelman loppuun. | |||
pkg_setup | pkg_setup | ||
src_unpack | src_unpack | ||
src_compile | src_compile | ||
src_test | ====src_test==== | ||
src_install | Funktiota kutsutaan src_compilen jälkeen, mikäli FEATURES="test" on määritelty, funktiossa tulee ajaa asennettavan ohjelman tarjoamat yksikkötestaus-rutiinit, oletustoteutuksessa nämä ovat <tt>make check<tt> ja <tt>make test<tt> | ||
====src_install==== | |||
pkg_preinst | pkg_preinst | ||
pkg_postinst | pkg_postinst |
Versio 22. huhtikuuta 2007 kello 20.39
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
Tätä funktiota kutsutaan, mikäli RESTRICT="fetch" on asetettu ja ebuildin SRC_URI kohdetta ei kyetä noutamaan. pkg_nofetchin jälkeen muita funktioita ei kutsuta vaan siirrytään ohjelman loppuun. pkg_setup src_unpack src_compile
src_test
Funktiota kutsutaan src_compilen jälkeen, mikäli FEATURES="test" on määritelty, funktiossa tulee ajaa asennettavan ohjelman tarjoamat yksikkötestaus-rutiinit, oletustoteutuksessa nämä ovat make check ja make 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.