Gentoo

Kako napisati Gentoo Ebuilds

Kako napisati Gentoo Ebuilds
Če nimate paketa Gentoo, ki si ga želite, se ne bojite! Lahko zgradite svojega! Če želite to narediti, boste potrebovali nekaj izkušenj s sestavljanjem programske opreme z uporabo znanih orodij za Linux make, gcc in drugih. Če želite ustvariti paket Gentoo, se za nadzor in nastavitev postopka uporablja 'emake'. Z uporabo teh orodij lahko ustvarite zelo tanke pakete, ki delujejo hitro in zanesljivo.

Ebuild Struktura

Če želite ustvariti svoj ebuild, morate začeti s pravilno *.ebuild datoteko. Vaša datoteka ebuild je srce celotnega ebuild-a. Datoteka ebuild je odvisna od številnih drugih datotek, podobno kot to počne make. Pravzaprav je v večini primerov vaš ebuild odvisen od znamke, čeprav je to vaša izbira. Sledi drevo neovim:
/ mnt / SW / projects / System / Gentoo / gentoo / app-editors / neovim
├── datoteke
│ ├── neovim-0.4.3-gcc-10-popravek.obliž
│ ├── neovim-0.4.4-cmake_luaversion_patch
│ ├── neovim-0.4.4-cmake-sprostitev-type.obliž
│ └── sysinit.vim
├── Manifest
├── metapodatki.xml
├── neovim-0.4.4-r100.ebuild
└── neovim-9999.ebuild

Torej, za kaj uporabljate te datoteke v svoji aplikaciji? *.Datoteka ebuild je očitna datoteka. Ta datoteka vsebuje SRC_URI, ki neposredno kaže na kodo. Drugi podatki v datoteki vključujejo opis, spletno mesto in dodatne informacije, potrebne za sestavljanje paketa.

Datoteka Manifest vsebuje razpršitev, ki enolično identificira kodo.

Metapodatki.Datoteka xml vsebuje ime in e-poštni naslov vzdrževalca, ime projekta in nekaj zastavic za prevajanje. Oddaljena identiteta se nahaja tudi v tej datoteki, kot je skladišče GitHub za gornji tok. Imenik datotek vsebuje vse potrebne popravke in posebne nastavitve, ki jih potrebujete. Zgornji primer prikazuje datoteko z ustreznimi nastavitvami glede na vzdrževalce Gentoo.

Znotraj datoteke Ebuild

Vrednosti v datoteki so večinoma enostavno razumljive. Opis in domača stran sta v pomoč razvijalcu. Številka EAPI označuje, katera različica Gentoo se bo izvajala. Imate tudi licenco, kar je povsem jasno; povežite licenco s kodo, za katero gradite datoteko ebuild.

Še bolj zapleten je SLOT, ki se uporablja, če potrebujete več različic. SLOT bo nato to zgradbo usmeril na različico, ki jo podpirate. Večina programske opreme bo imela vrednost 0, hkrati pa omogoča le eno različico.

KLJUČNE BESEDE je vrednost, ki označuje, na katere platforme lahko prevede vaša izvorna koda. Ti so amd65, x86 in morda arm64. Celoten seznam je na voljo v vašem sistemu Gentoo. Če želite prispevati, vi mora nastavite tildo (~) pred arhitekturo. To pomeni, da je koda nepreizkušena, zato se prepričajte, da je koda dobro preizkušena, preden odstranite ta simbol. Prednostno naj si veliko uporabnikov ogleda kodo, preden odstrani tildo.

Spremenljivka IUSE se vrne na parametre, ki jih želite nastaviti za svoj prevajalnik.

Imate tudi DEPEND, ki je na voljo v treh različnih vrstah. Vrednosti RDEPEND so vrednosti, ki jih uporabljate med izvajanjem kode. Vrednosti BDEPEND so odvisne od gradnje. Paket, ki ga poskušate dodati v Gentoo, bo vseboval datoteko, ki opisuje potrebne odvisnosti.

Za preproste pakete ne potrebujete ničesar drugega. Vendar pa bo v določenem paketu, s katerim delate, verjetno nekaj stvari, ki jih je treba narediti pred sestavljanjem kode. Če se to ne ujema s pričakovanjem razvijalcev Gentoo, lahko nastavite svojega.

Funkcije

V datoteki bo namestitveni program uporabil določene funkcije za celoten postopek. Če želite na primer uporabiti popravke pred zagonom ukaza, se src_prepare () funkcija bo rešila to situacijo.

The src_configure () funkcija za nastavitev uporablja econf, tj.e., 'use_enable.'V tej funkciji lahko datoteke razpakirate z ukazom za razpakiranje. Arg lahko prenesete tudi na ./ konfigurirajte za svoj projekt z uporabo econf. Kot lahko vidite, so te funkcije poimenovane glede na njihove enakovredne znamke in velikokrat posredujejo argumente.

The src_install () funkcija opravlja isto funkcijo kot naredite namestite bi naredil v gradnji C / C ++. Vsebuje pa veliko možnosti, ki jih lahko poiščete v referenčnem dokumentu.

Večina funkcij je na voljo, če imate posebno programsko opremo. Verjetno boste začeli kopati po teh funkcijah, ko boste poskusili implementirati svoj prvi paket.

Primer: Datoteka paketa SimulIDE

Tu predstavljamo datoteko, ki je bila ustvarjena za paket SimulIDE. Paket zahteva razvojno okolje Qt5, zato ga boste morali dodati v datoteko ebuild. Na naslednji sliki lahko vidite vrednosti RDEPEND, ki odražajo to idejo. Knjižnice so že v skladiščih Gentoo, kar olajša usmerjanje nanje.

# Copyright 2021 Mats Tage Axelsson
# Distribuira se pod pogoji GNU General Public License v3
EAPI = 7
DESCRIPTION = "SimulIDE simulira zasnove vaših vezij in vključuje Arduino emulacijo."
DOMAČA STRAN = "https: // www.simulide.com / p / home.html "
SRC_URI = "https: // mailfence.com / pub / docs / santigoro / web / SimulIDE_0.4.14 / simulide_0.4.14-SR4_Viri.katran.gz "
LICENCA = "GPL-3"
SLOT = "0"
KLJUČNE BESEDE = "~ x86 ~ amd64"
RDEPEND = "dev-qt / qtsvg
dev-qt / qtxml
dev-qt / qtscript
dev-qt / qtwidgets
dev-qt / qtconcurrent
dev-qt / qtserialport
dev-qt / qtmultimedia "
DEPEND = "$ RDEPEND
dev-libs / libelf
dev-embedded / avr-libc "
src_prepare ()
razpakiraj simulide_0.4.14-SR4_Viri.katran.gz

src_configure ()
econf --with-popt

V src_prepare () funkcijo, lahko vidite, da je paket pred uporabo razpakiran.

Prekrivanje

Ko ste odstranili in očistili vse svoje napake, boste morda želeli svoj paket dodati v projekt Gentoo. Layman je bil ustvarjen tako, da lahko uporabljate poskusno programsko opremo za glavno namestitev distribucije. Projekt se imenuje Overlays, ukaz za njegovo namestitev pa Layan.

Zaključek

Ustvarjanje novih paketov za Gentoo je podjetje, ki vam lahko razširi sposobnosti. Kljub temu, če ste pred uporabo znamk in zbirke orodij gcc sestavili veliko paketov, bi morali biti sposobni ta postopek dokaj hitro izbrati. Prav tako se prepričajte, da prispevate nazaj v skupnost, kolikor lahko.

Kako spremeniti miškin kazalec in velikost, barvo in shemo kazalca v sistemu Windows 10
Kazalec miške in kazalec v operacijskem sistemu Windows 10 sta zelo pomembna vidika operacijskega sistema. To lahko rečemo tudi za druge operacijske s...
Brezplačni in odprtokodni igralni mehanizmi za razvoj iger Linux
Ta članek bo zajemal seznam brezplačnih in odprtokodnih igralnih mehanizmov, ki jih je mogoče uporabiti za razvoj 2D in 3D iger v Linuxu. Obstaja veli...
Vadnica Shadow of the Tomb Raider za Linux
Shadow of the Tomb Raider je dvanajsti dodatek k seriji Tomb Raider - franšiza akcijsko-pustolovskih iger, ki jo je ustvaril Eidos Montreal. Kritiki i...