Gentoo

Kako napisati Gentoo Ebuild

Kako napisati Gentoo Ebuild
Ako nemate Gentoo paket koji želite, ne bojte se! Možete sami izgraditi! Da biste to učinili, trebat će vam neko iskustvo sa sastavljanjem softvera pomoću poznatih Linuxovih alata make, gcc i drugih. Da bi se stvorio Gentoo paket, za upravljanje i podešavanje procesa koristi se 'emake'. Pomoću ovih alata možete stvoriti vrlo tanke pakete koji se izvode brzo i pouzdano.

Ebuild struktura

Da biste stvorili vlastiti ebuild, morate započeti s ispravnim *.ebuild datoteku. Vaša ebuild datoteka je srce cijelog vašeg ebuild-a. Datoteka ebuild ovisi o mnogim drugim datotekama, slično kao i make. Zapravo, u većini slučajeva vaš ebuild ovisit će o proizvodu, iako je to vaš izbor. Slijedi stablo neovim:
/ mnt / SW / projects / System / Gentoo / gentoo / app-editors / neovim
├── datoteke
│ ├── neovim-0.4.3-gcc-10-popravak.zakrpa
│ ├── neovim-0.4.4-cmake_luaversion_patch
│ ├── neovim-0.4.4-cmake-release-type.zakrpa
│ └── sysinit.vim
├── Manifest
├── metapodaci.xml
├── neovim-0.4.4-r100.graditi
└── neovim-9999.graditi

Pa, za što koristite ove datoteke u svojoj aplikaciji? *.ebuild datoteka je očita datoteka. Ova datoteka sadrži SRC_URI, koji izravno upućuje na kôd. Ostale informacije u datoteci uključuju opis, web mjesto i daljnje informacije potrebne za sastavljanje paketa.

Datoteka Manifest sadrži hash koji jedinstveno identificira kôd.

Metapodaci.xml datoteka sadrži ime održavatelja i adresu e-pošte, naziv projekta i nekoliko zastavica za sastavljanje. Udaljeni identitet također se nalazi u ovoj datoteci, poput GitHub spremišta za uzvodno. Direktorij datoteka sadrži sve zakrpe koje će vam trebati i sve posebne postavke koje su vam potrebne. Gornji primjer prikazuje datoteku s odgovarajućim postavkama prema Gentoo održavateljima.

Unutar datoteke Ebuild

Vrijednosti unutar datoteke uglavnom su lako razumljive. Opis i početna stranica su za pomoć programeru. EAPI broj označava koja će se verzija Gentooa pokrenuti. Imate i licencu, što je sasvim jasno; prilagodite Licencu kodu za koji gradite ebuild datoteku.

Još je nezgodniji SLOT, koji se koristi ako trebate imati nekoliko verzija. SLOT će zatim usmjeriti ovu izgradnju na verziju koju podržavate. Većina softvera imat će vrijednost 0, dopuštajući istovremeno samo jednu verziju.

KLJUČNE RIJEČI je vrijednost koja označava koje platforme na koje se može kompilirati vaš izvorni kod. Dani su amd65, x86 i možda arm64. Cjelovit popis dostupan je na vašem Gentoo sustavu. Imajte na umu da ako želite doprinijeti, vi mora postaviti tildu (~) ispred arhitekture. To znači da je kôd neprovjeren, stoga prije uklanjanja ovog simbola provjerite je li dobro testiran. Poželjno je da mnogi korisnici pregledaju kôd prije uklanjanja tilde.

Varijabla IUSE vraća se na parametre koje želite postaviti za svoj prevoditelj.

Također imate DEPEND, koji dolazi u tri različite vrste. Vrijednosti RDEPEND su vrijednosti koje koristite tijekom izvođenja koda. Vrijednosti BDEPEND ovise o gradnji. Paket koji pokušavate dodati u Gentoo sadržavat će datoteku koja opisuje potrebne ovisnosti.

Za jednostavne pakete ne trebate ništa drugo. Međutim, određeni paket na kojem radite vjerojatno će imati neke stvari koje morate učiniti prije sastavljanja koda. Ako se ovo ne podudara s onim što su programeri Gentoo očekivali, možete postaviti vlastiti.

Funkcije

U datoteci će instalacijski program koristiti određene funkcije za cijeli postupak. Na primjer, za primjenu zakrpa prije pokretanja naredbe, src_prepare () funkcija će riješiti ovu situaciju.

The src_configure () funkcija koristi econf za postavljanje, tj.e., 'use_enable.'U ovoj funkciji možete otpakirati datoteke pomoću naredbe za raspakiranje. Također možete proslijediti argumente ./ konfigurirajte za svoj projekt pomoću econf. Kao što vidite, ove su funkcije imenovane prema njihovim ekvivalentima i često prenose argumente.

The src_install () funkcija obavlja istu funkciju kao napraviti instalirati bi u C / C ++ gradnji. Međutim, sadrži mnogo opcija koje možete potražiti u referentnom dokumentu.

Većina funkcija postoji kad imate softver za posebne slučajeve. Vjerojatno ćete početi kopati po ovim funkcijama kad pokušate implementirati svoj prvi paket.

Primjer: Datoteka paketa SimulIDE

Ovdje predstavljamo datoteku koja je stvorena za paket SimulIDE. Paket zahtijeva Qt5 razvojno okruženje, pa ćete ga morati dodati u svoju ebuild datoteku. Na sljedećoj slici možete vidjeti vrijednosti RDEPEND koje odražavaju ovu ideju. Biblioteke se već nalaze u Gentoo spremištima, što olakšava ukazivanje na njih.

# Autorska prava 2021 Mats Tage Axelsson
# Distribuira se pod uvjetima GNU General Public License v3
EAPI = 7
OPIS = "SimulIDE simulira dizajn vašeg kruga, uključuje Arduino emulaciju."
POČETNA STRANICA = "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_Izvori.katran.gz "
LICENCA = "GPL-3"
SLOT = "0"
KLJUČNE RIJEČI = "~ x86 ~ amd64"
RDEPEND = "dev-qt / qtsvg
dev-qt / qtxml
dev-qt / qtscript
dev-qt / qtwidgeti
dev-qt / qtkoncurrent
dev-qt / qtserialport
dev-qt / qtmultimedia "
DEPEND = "$ RDEPEND
dev-libs / libelf
dev-ugrađeni / avr-libc "
src_prepare ()
raspakirajte simulide_0.4.14-SR4_Izvori.katran.gz

src_configure ()
econf - s-popt

U src_prepare () funkcije, možete vidjeti da se paket otpakira prije upotrebe.

Prekrivanje

Kad ste ispraznili i očistili sve svoje pogreške, možda ćete htjeti dodati svoj paket u projekt Gentoo. Layman je stvoren tako da možete koristiti eksperimentalni softver za glavnu instalaciju distribucije. Projekt se naziva Overlays, ali naredba za njegovu instalaciju naziva se Layman.

Zaključak

Stvaranje novih paketa za Gentoo poduhvat je koji može proširiti vaše sposobnosti. Unatoč tome, ako ste izgradili mnogo paketa prije korištenja make i gcc paketa alata, trebali biste biti u mogućnosti pokupiti ovaj postupak prilično brzo. Također, pobrinite se da vratite doprinos zajednici koliko god možete.

Kako preuzeti i igrati Sid Meier's Civilization VI na Linuxu
Uvod u igru Civilization 6 moderan je pogled na klasični koncept predstavljen u seriji igara Age of Empires. Ideja je bila prilično jednostavna; započ...
Kako instalirati i igrati Doom na Linuxu
Uvod u Doom Serija Doom nastala je 90-ih nakon izlaska originalnog Dooma. To je bio trenutni hit i od tog vremena nadalje igraća serija dobila je broj...
Vulkan za korisnike Linuxa
Sa svakom novom generacijom grafičkih kartica vidimo da programeri igara pomiču granice grafičke vjernosti i dolaze na korak od fotorealizma. No, bez ...