„Gentoo“

Kaip rašyti „Gentoo Ebuilds“

Kaip rašyti „Gentoo Ebuilds“
Jei neturite norimo „Gentoo“ paketo, nebijokite! Galite susikurti savo! Norėdami tai padaryti, jums reikės tam tikros programinės įrangos sudarymo naudojant žinomus „Linux“ įrankių rinkinius „make“, „gcc“ ir kitus patirties. Norint sukurti „Gentoo“ paketą, „emake“ naudojamas procesui valdyti ir derinti. Naudodamiesi šiais įrankiais galite sukurti labai plonus paketus, kurie veikia greitai ir patikimai.

„Ebuild“ struktūra

Norėdami sukurti savo el. Pastatą, turite pradėti nuo teisingo *.ebuild failas. Jūsų ebuild failas yra viso jūsų ebuild širdis. „Ebuild“ failas priklauso nuo daugelio kitų failų, panašiai kaip ir „make“. Tiesą sakant, daugeliu atvejų jūsų el. Pastatas priklausys nuo prekės ženklo, nors tai yra jūsų pasirinkimas. Šis yra neovimo medis:
/ mnt / SW / projects / System / Gentoo / gentoo / app-editors / neovim
├── bylos
│ ├── neovim-0.4.3-gcc-10 pataisymai.pleistras
│ ├── neovim-0.4.4 cmake_luaversion_patch
│ ├── neovim-0.4.4 cm torto atleidimo tipas.pleistras
│ └── sysinit.vim
├── Manifestas
├── metaduomenys.xml
├── neovim-0.4.4-r100.ebuild
└── neovim-9999.ebuild

Taigi, kam naudojate šiuos failus savo programoje? *.„ebuild“ failas yra akivaizdus failas. Šiame faile yra SRC_URI, kuris tiesiogiai nurodo kodą. Kita failo informacija apima aprašą, svetainę ir papildomą informaciją, reikalingą paketui sudaryti.

Manifesto faile yra maiša, kuri unikaliai identifikuoja kodą.

Metaduomenys.xml faile yra prižiūrėtojo vardas ir el. pašto adresas, projekto pavadinimas ir kelios žymėjimo žymos. Nuotolinė tapatybė taip pat yra šiame faile, pvz., „GitHub“ saugykla, skirta ankstesniam srautui. Failų kataloge yra visi pataisymai, kurių jums gali prireikti, ir visi reikalingi specialūs nustatymai. Ankstesniame pavyzdyje rodomas failas su atitinkamais nustatymais, pasak „Gentoo“ prižiūrėtojų.

„Ebuild“ failo viduje

Failo viduje esančios reikšmės yra lengvai suprantamos. Aprašymas ir pagrindinis puslapis yra kūrėjo pagalbos. EAPI numeris nurodo, kuri „Gentoo“ versija bus paleista. Jūs taip pat turite licenciją, kuri yra visiškai aiški; suderinkite Licenciją su kodu, kuriam kuriate „ebuild“ failą.

Dar sudėtingesnis yra SLOT, kuris naudojamas, jei jums reikia kelių versijų. Tada SLOT nukreips šią versiją į jūsų palaikomą versiją. Daugumos programinės įrangos vertė bus 0, todėl vienu metu bus leidžiama tik viena versija.

RAKTINIAI ŽODŽIAI yra reikšmė, nurodanti, kurias platformas gali sukompiliuoti jūsų šaltinio kodas. Pateiktieji yra amd65, x86 ir galbūt arm64. Visą sąrašą galite rasti „Gentoo“ sistemoje. Atkreipkite dėmesį, kad jei norite prisidėti, jūs turi nustatykite tildę (~) priešais architektūrą. Tai reiškia, kad kodas nėra išbandytas, todėl prieš pašalindami šį simbolį įsitikinkite, kad kodas yra gerai patikrintas. Pageidautina, kad prieš pašalindami tildę, daugelis vartotojų turėtų peržiūrėti kodą.

Kintamasis IUSE grįžta į parametrus, kuriuos norite nustatyti savo kompiliatoriui.

Jūs taip pat turite DEPEND, kuris yra trijų skirtingų tipų. RDEPEND reikšmės yra tos vertės, kurias naudojate vykdydami kodą. BDEPEND reikšmės yra nuo sukūrimo vertės. Pakete, kurį bandote pridėti prie „Gentoo“, bus failas, apibūdinantis būtinas priklausomybes.

Paprastiems paketams jums nieko daugiau nereikia. Tačiau konkrečiame pakete, kurį dirbate, tikriausiai bus keletas dalykų, kuriuos reikia atlikti prieš sudarant kodą. Jei tai neatitinka to, ko tikėjosi „Gentoo“ kūrėjai, galite nustatyti savo.

Funkcijos

Faile diegimo programa naudos tam tikras funkcijas visame procese. Pavyzdžiui, norint pritaikyti pleistrus prieš vykdant komandą, src_prepare () funkcija išspręs šią situaciją.

The src_configure () funkcija naudoja econf nustatyti, t.e., 'use_enable.'Šioje funkcijoje galite išpakuoti failus naudodami išpakavimo komandą. Taip pat galite perduoti argumentus ./ configure jūsų projektui naudojant econf. Kaip matote, šios funkcijos yra pavadintos pagal jų atitikmenis ir daug kartų jos perduoda argumentus.

The src_install () funkcija atlieka tą pačią funkciją kaip ir padaryti diegti atliktų C / C ++ versijoje. Tačiau joje yra daugybė galimybių, kurių galite ieškoti informaciniame dokumente.

Daugelis funkcijų yra skirtos, kai turite specialią programinę įrangą. Jūs tikriausiai pradėsite kasti šias funkcijas, kai bandysite įdiegti savo pirmąjį paketą.

Pavyzdys: „SimulIDE“ paketo failas

Čia pateikiame failą, kuris buvo sukurtas „SimulIDE“ paketui. Paketui reikalinga „Qt5“ kūrimo aplinka, todėl turėsite tai pridėti savo „ebuild“ faile. Šiame paveikslėlyje galite pamatyti RDEPEND reikšmes, atspindinčias šią idėją. Bibliotekos jau yra „Gentoo“ saugyklose, todėl ją lengva nurodyti.

# Autorių teisės 2021 Mats Tage Axelsson
# Platinamas pagal GNU General Public License v3 sąlygas
EAPI = 7
DESCRIPTION = "SimulIDE imituoja jūsų schemos dizainą, ji apima" Arduino "emuliaciją."
PRADINIS = "https: // www.simulidas.com / p / home.html "
SRC_URI = "https: // pašto tvora.com / pub / docs / santigoro / web / SimulIDE_0.4.14 / simulide_0.4.14-SR4_Šaltiniai.degutas.gz "
LICENCIJA = "GPL-3"
SLOT = „0“
KEYWORDS = "~ x86 ~ amd64"
RDEPEND = "dev-qt / qtsvg
dev-qt / qtxml
dev-qt / qtscript
dev-qt / qtwidgets
dev-qt / qtsrovė
dev-qt / qtserialport
„dev-qt / qtmultimedia“
DEPEND = "$ RDEPEND"
dev-libs / libelf
„dev-embedded / avr-libc“
src_prepare ()
išpakuoti simulide_0.4.14-SR4_Šaltiniai.degutas.gz

src_configure ()
econf - su popt

Viduje konors src_prepare () funkciją, galite pamatyti, kad pakuotė išpakuota prieš naudojimą.

Perdanga

Kai apkarpysite ir išvalysite visas klaidas, galbūt norėsite pridėti savo paketą prie „Gentoo“ projekto. „Layman“ buvo sukurtas taip, kad galėtumėte naudoti eksperimentinę programinę įrangą pagrindiniam platinimo diegimui. Projektas vadinamas „Overlays“, tačiau jo įdiegimo komanda vadinama „Layman“.

Išvada

Naujų „Gentoo“ paketų kūrimas yra įmonė, kuri gali išplėsti jūsų galimybes. Nepaisant to, jei prieš naudodami „make“ ir „gcc“ įrankių rinkinį sukūrėte daug paketų, turėtumėte sugebėti gana greitai pasirinkti šį procesą. Be to, nepamirškite kuo daugiau prisidėti prie bendruomenės.

5 geriausi „Arcade“ žaidimai, skirti „Linux“
Šiais laikais kompiuteriai yra rimta mašina, naudojama žaidimams. Jei negalėsite gauti naujo aukšto rezultato, žinosite, ką noriu pasakyti. Šiame įraš...
Mūšis už Wesnothą 1.13.6 Išleista plėtra
Mūšis už Wesnothą 1.13.6 išleistas praėjusį mėnesį, yra šeštasis 1 versijos kūrimo leidimas.13.„x“ serija ir ji teikia daug patobulinimų, ypač vartoto...
Kaip įdiegti „League of Legends“ „Ubuntu 14“.04
Jei esate „League of Legends“ gerbėjas, tai jums yra galimybė išbandyti „League of Legends“. Atminkite, kad LOL palaikoma „PlayOnLinux“, jei esate „Li...