Gentoo

Kuidas kirjutada Gentoo ebuilde

Kuidas kirjutada Gentoo ebuilde
Kui teil pole soovitud Gentoo paketti, ärge kartke! Saate ise ehitada! Selleks vajate mõningast kogemust tarkvara kompileerimisel tuntud Linuxi tööriistakomplektide make, gcc ja muude abil. Gentoo paketi loomiseks kasutatakse protsessi juhtimiseks ja häälestamiseks 'emake'. Nende tööriistade abil saate luua väga õhukesi pakette, mis töötavad kiiresti ja usaldusväärselt.

Ebuildi struktuur

Oma e-ehituse loomiseks peate alustama õigest *.ebuildi fail. Teie ebuildi fail on kogu teie ebuildi süda. Ebuild-fail sõltub paljudest teistest failidest, nagu ka make-fail. Tegelikult sõltub teie ebuild enamikul juhtudel kaubamärgist, kuigi see on teie valik. Järgmine on neovimi puu:
/ mnt / SW / projektid / Süsteem / Gentoo / gentoo / app-editors / neovim
├── toimikud
│ ├── neovim-0.4.3-gcc-10-parandus.plaaster
│ ├── neovim-0.4.4-cmake_luaversion_patch
│ ├── neovim-0.4.4-cmake-release-tüüpi.plaaster
│ └── sysinit.vim
├── Manifest
├── metaandmed.xml
├── neovim-0.4.4-r100.ebuild
└── neovim-9999.ebuild

Niisiis, milleks te neid faile oma rakenduses kasutate? *.ebuild-fail on ilmne fail. See fail sisaldab SRC_URI, mis osutab otse koodile. Muu failis sisalduv teave sisaldab kirjeldust, veebisaiti ja pakendi koostamiseks vajalikku lisateavet.

Manifesti fail sisaldab räsi, mis identifitseerib koodi kordumatult.

Metaandmed.xml-fail sisaldab hooldaja nime ja e-posti aadressi, projekti nime ja kompileerimiseks mõnda lippu. Ka kaugidentiteet asub selles failis, nagu GitHubi varamu eelvoolu jaoks. Failide kataloog sisaldab vajalikke plaastreid ja vajalikke erisätteid. Ülaltoodud näide näitab Gentoo hooldajate sõnul sobivate seadistustega faili.

Faili Ebuild sees

Failis olevad väärtused on enamasti arusaadavad. Kirjeldus ja koduleht on arendaja abiks. EAPI number näitab, millist Gentoo versiooni käivitatakse. Teil on ka litsents, mis on üsna selge; sobitage litsents koodiga, mille jaoks ehitate ebuildi faili.

Veel keerulisem on SLOT, mida kasutatakse juhul, kui teil on vaja mitut versiooni. Seejärel suunab SLOT selle järgu teie toetatud versioonile. Enamikul tarkvaradel on väärtus 0, lubades korraga ainult ühte versiooni.

MÄRKSÕNAD on väärtus, mis näitab, millistele platvormidele teie lähtekood saab koostada. Need on amd65, x86 ja võib-olla arm64. Täielik nimekiri on saadaval teie Gentoo süsteemis. Pange tähele, et kui soovite oma panuse anda, siis ka teie peab seadke arhitektuuri ette tilde (~). See tähendab, et kood on testimata, seega veenduge enne selle sümboli eemaldamist, et kood oleks hästi testitud. Eelistatavalt laske paljudel kasutajatel enne tilde eemaldamist koodi vaadata.

Muutuja IUSE naaseb parameetrite juurde, mille soovite oma kompilaatorile seada.

Teil on ka DEPEND, mida on kolme erinevat tüüpi. RDEPEND-väärtused on väärtused, mida kasutate koodi käivitamisel. BDEPENDi väärtused on koostamisest sõltuvad väärtused. Pakett, mida proovite Gentoo lisada, sisaldab faili, mis kirjeldab vajalikke sõltuvusi.

Lihtsate pakettide jaoks pole teil midagi muud vaja. Kuid konkreetsel paketil, millega te töötate, on tõenäoliselt mõned asjad, mis tuleb enne koodi koostamist teha. Kui see ei ühti Gentoo arendajate ootustega, saate oma seadistada.

Funktsioonid

Failis kasutab installija kogu protsessi jaoks teatud funktsioone. Näiteks enne käsu käivitamist plaastrite rakendamiseks src_prepare () funktsioon lahendab selle olukorra.

The src_configure () funktsioon kasutab seadistamiseks econfi, st.e., 'use_enable.'Selles funktsioonis saate oma failid lahti pakkida käsuga lahti pakkimine. Võite edastada ka argumendid ./ configure oma projekti jaoks kasutades econf. Nagu näete, nimetatakse neid funktsioone vastavalt nende ekvivalentidele ja mitu korda edastavad nad argumente.

The src_install () funktsioon täidab sama funktsiooni, mis tegema installima teeks C / C ++ järku. Kuid see sisaldab palju võimalusi, mida saate otsida viitedokumendist.

Enamik funktsioone on mõeldud spetsiaalse juhtumi tarkvara kasutamiseks. Tõenäoliselt hakkate neid funktsioone uurima, kui proovite oma esimest paketti juurutada.

Näide: SimulIDE paketifail

Siin esitame faili, mis loodi paketi SimulIDE jaoks. Pakett nõuab Qt5 arenduskeskkonda, nii et peate selle lisama oma ebuildi faili. Järgmisel pildil näete seda ideed kajastavaid RDEPENDi väärtusi. Raamatukogud asuvad juba Gentoo hoidlates, mis muudab selle osutamise lihtsaks.

# Autoriõigus 2021 Mats Tage Axelsson
# Levitatakse GNU General Public License v3 tingimuste kohaselt
EAPI = 7
DESCRIPTION = "SimulIDE simuleerib teie vooluahela kujundust, see sisaldab Arduino emuleerimist."
KODULEHT = "https: // www.simuliid.com / p / home.html "
SRC_URI = "https: // postiaed.com / pub / docs / santigoro / web / SimulIDE_0.4.14 / simulide_0.4.14-SR4_Sources.tõrv.gz "
LITSENTS = "GPL-3"
Pesa = "0"
KEYWORDS = "~ x86 ~ amd64"
RDEPEND = "dev-qt / qtsvg
dev-qt / qtxml
dev-qt / qtscript
dev-qt / qtwidgets
dev-qt / qtvool
dev-qt / qtserialport
dev-qt / qtmultimedia "
DEPEND = "$ RDEPEND
dev-libs / libelf
dev-embedded / avr-libc "
src_prepare ()
paki simulide_0 lahti.4.14-SR4_Sources.tõrv.gz

src_configure ()
econf - pop-ga

Aastal src_prepare () funktsioon, näete, et pakend on enne kasutamist lahti pakitud.

Ülekate

Kui olete kõik oma vead kärpinud ja puhastanud, võiksite oma paketi lisada Gentoo projekti. Layman loodi selleks, et saaksite oma peamise levitamise installimiseks kasutada eksperimentaalset tarkvara. Projekti nimi on Overlays, kuid selle installimise käsk Layman.

Järeldus

Gentoo jaoks uute pakettide loomine on ettevõtmine, mis võib teie võimeid laiendada. Isegi kui olete enne make ja gcc tööriistakomplekti kasutamist loonud palju pakette, peaksite saama selle protsessi üsna kiiresti kätte saada. Samuti tehke kindlasti oma panus kogukonda tagasi nii palju kui võimalik.

Kuidas installida ja mängida Doomi Linuxis
Doomi sissejuhatus Doom-seeria sai alguse 90ndatel pärast algse Doomi väljaandmist. See oli kohene hitt ja sellest ajast alates on mänguseeria pälvinu...
Vulkan Linuxi kasutajatele
Iga uue põlvkonna graafikakaartidega näeme, et mängude arendajad ületavad graafilise truuduse piire ja jõuavad fotorealismile ühe sammu lähemale. Kuid...
OpenTTD vs Simutrans
Oma transpordisimulatsiooni loomine võib olla lõbus, lõõgastav ja äärmiselt köitev. Sellepärast peate endale meelepärase leidmiseks kindlasti proovima...