Gentoo

Ako písať zostavenia Gentoo

Ako písať zostavenia Gentoo
Ak nemáte balíček Gentoo, po ktorom túžite, nebojte sa! Môžete si postaviť svoj vlastný! Aby ste to dosiahli, budete potrebovať určité skúsenosti s kompiláciou softvéru pomocou známych súprav nástrojov Linux, make, gcc a ďalších. Na vytvorenie balíka Gentoo sa na riadenie a ladenie procesu používa program „emake“. Pomocou týchto nástrojov môžete vytvárať veľmi štíhle balíčky, ktoré bežia rýchlo a spoľahlivo.

Vytvorte štruktúru

Ak chcete vytvoriť svoj vlastný ebuild, musíte začať so správnym *.ebuild súbor. Váš súbor ebuild je srdcom celého vášho ebuildu. Súbor ebuild závisí od mnohých ďalších súborov, podobne ako to robí make. V skutočnosti bude vo väčšine prípadov váš ebuild závisieť od značky, hoci je to vaša voľba. Nasleduje strom neovimu:
/ mnt / SW / projects / System / Gentoo / gentoo / app-editors / neovim
├── súbory
│ ├── neovim-0.4.3-gcc-10-fix.náplasť
│ ├── neovim-0.4.4-cmake_luaversion_patch
│ ├── neovim-0.4.Typ 4-cmake-release.náplasť
│ └── sysinit.vim
├── Manifest
├── metadáta.xml
├── neovim-0.4.4-r100.ebuild
└── neovim-9999.ebuild

Na čo teda tieto súbory vo svojej aplikácii používate? *.ebuild súbor je zrejmý súbor. Tento súbor obsahuje SRC_URI, ktoré priamo smeruje na kód. Ďalšie informácie v súbore zahŕňajú popis, webovú stránku a ďalšie informácie potrebné na zostavenie balíka.

Súbor Manifest obsahuje hash, ktorý jedinečne identifikuje kód.

Metadáta.xml súbor obsahuje meno a e-mailovú adresu správcu, názov projektu a niekoľko príznakov pre kompiláciu. Vzdialená identita sa tiež nachádza v tomto súbore, napríklad v úložisku GitHub pre upstream. Adresár súborov obsahuje všetky potrebné opravy a všetky potrebné špeciálne nastavenia. Vyššie uvedený príklad zobrazuje súbor s príslušným nastavením podľa správcov Gentoo.

Vo vnútri súboru Ebuild

Hodnoty v súbore sú väčšinou ľahko pochopiteľné. Popis a domovská stránka slúžia na pomoc vývojára. Číslo EAPI označuje, ktorá verzia Gentoo bude spustená. Máte tiež licenciu, ktorá je celkom jasná; priraďte licenciu k kódu, pre ktorý vytvárate súbor ebuild.

Ešte zložitejší je SLOT, ktorý sa používa, ak potrebujete mať niekoľko verzií. SLOT potom nasmeruje toto zostavenie na verziu, ktorú podporujete. Väčšina softvéru bude mať hodnotu 0, čo umožní naraz iba jednu verziu.

KEYWORDS je hodnota, ktorá označuje platformy, na ktorých je možné zostaviť váš zdrojový kód. Uvedené sú amd65, x86 a prípadne arm64. Celý zoznam je k dispozícii vo vašom systéme Gentoo. Ak chcete prispieť, musíte musieť nastaviť vlnovku (~) pred architektúrou. To znamená, že kód nie je testovaný, takže pred odstránením tohto symbolu sa uistite, že je kód dobre otestovaný. Najlepšie by bolo, keby si mnohí používatelia prezerali kód pred odstránením vlnovky.

Premenná IUSE sa vráti k parametrom, ktoré chcete nastaviť pre svoj kompilátor.

Máte tiež DEPEND, ktorý sa dodáva v troch rôznych typoch. Hodnoty RDEPEND sú hodnoty, ktoré používate pri spustení kódu. Hodnoty BDEPEND sú hodnoty závislé od zostavenia. Balík, ktorý sa pokúšate pridať do Gentoo, bude obsahovať súbor popisujúci potrebné závislosti.

K jednoduchým balíkom nepotrebujete nič iné. Konkrétny balík, na ktorom pracujete, však bude pravdepodobne obsahovať niektoré veci, ktoré je potrebné urobiť pred kompiláciou kódu. Ak sa to nezhoduje s tým, čo vývojári Gentoo očakávali, môžete si vytvoriť svoj vlastný.

Funkcie

V súbore použije inštalátor určité funkcie pre celý proces. Napríklad na použitie opráv pred spustením príkazu, src_prepare () táto situácia zvládne túto funkciu.

The src_configure () funkcia používa econf na nastavenie, t.j.e., 'use_enable.„V tejto funkcii môžete súbory rozbaliť pomocou príkazu unpack. Môžete tiež odovzdať args ./ nakonfigurujte pre svoj projekt pomocou econf. Ako vidíte, tieto funkcie sú pomenované podľa ekvivalentov značiek a mnohokrát prechádzajú argumentmi.

The src_install () funkcia vykonáva rovnakú funkciu ako urobiť Inštalácia urobí v C / C ++ zostave. Obsahuje však veľa možností, ktoré môžete vyhľadať v referenčnom dokumente.

Väčšina funkcií je k dispozícii, keď máte špeciálny softvér pre prípad. Pravdepodobne začnete kopať tieto funkcie, keď sa pokúsite implementovať svoj prvý balík.

Príklad: Súbor balíka SimulIDE

Tu uvádzame súbor, ktorý bol vytvorený pre balík SimulIDE. Balík vyžaduje vývojové prostredie Qt5, takže ho budete musieť pridať do svojho súboru ebuild. Na nasledujúcom obrázku môžete vidieť hodnoty RDEPEND odrážajúce túto myšlienku. Knižnice sú už obsiahnuté v úložiskách Gentoo, vďaka čomu je ľahké na ne ukazovať.

# Autorské práva 2021 Mats Tage Axelsson
# Distribuované podľa podmienok GNU General Public License v3
EAPI = 7
DESCRIPTION = "SimulIDE simuluje návrhy vašich obvodov, obsahuje emuláciu Arduino.„
HOMEPAGE = "https: // www.simulid.com / p / domov.html "
SRC_URI = "https: // mailfence.com / pub / docs / santigoro / web / SimulIDE_0.4.14 / simulide_0.4.14-SR4_Zdroje.decht.gz "
LICENCIA = "GPL-3"
SLOT = "0"
KEYWORDS = "~ 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
vstavaný vývojár / avr-libc "
src_prepare ()
rozbaľte simulide_0.4.14-SR4_Zdroje.decht.gz

src_configure ()
econf --with-dopyt

V src_prepare () funkcie, môžete vidieť, že je balík pred použitím rozbalený.

Prekrytie

Keď ste orezali a vyčistili všetky svoje chyby, možno budete chcieť pridať svoj balíček do projektu Gentoo. Layman bol vytvorený tak, aby ste mohli použiť experimentálny softvér pre svoju hlavnú inštaláciu distribúcie. Projekt sa volá Overlays, ale príkaz na jeho inštaláciu sa volá Layman.

Záver

Vytvorenie nových balíkov pre Gentoo je podnik, ktorý môže rozšíriť vaše schopnosti. Aj napriek tomu, ak ste vytvorili veľa balíkov pred použitím značiek a sady nástrojov gcc, mali by ste byť schopní tento proces vyzdvihnúť pomerne rýchlo. Nezabudnite tiež prispieť späť do komunity čo najviac.

Ako používať Xdotool na stimuláciu kliknutí a stlačenia myši v systéme Linux
Xdotool je bezplatný a otvorený nástroj príkazového riadku na simuláciu kliknutí a stlačenia klávesov myši. Tento článok sa bude týkať stručného sprie...
Top 5 ergonomických produktov pre počítačové myši pre Linux
Spôsobuje dlhodobé používanie počítača bolesť zápästia alebo prstov? Trpíte stuhnutými kĺbmi a neustále si musíte podávať ruky? Cítite pálivú bolesť z...
Ako zmeniť nastavenie myši a touchpadu pomocou systému Xinput v systéme Linux
Väčšina distribúcií systému Linux sa štandardne dodáva s knižnicou „libinput“ na spracovanie vstupných udalostí v systéme. Dokáže spracovať vstupné ud...