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.