Gentoo

Kā rakstīt Gentoo Ebuilds

Kā rakstīt Gentoo Ebuilds
Ja jums nav vēlamās Gentoo paketes, nebaidieties! Jūs varat izveidot savu! Lai to izdarītu, jums būs nepieciešama pieredze programmatūras sastādīšanā, izmantojot zināmos Linux rīku komplektus make, gcc un citus. Lai izveidotu Gentoo pakotni, procesa kontrolēšanai un pielāgošanai tiek izmantots 'emake'. Izmantojot šos rīkus, varat izveidot ļoti mazas paketes, kas darbojas ātri un droši.

Ebuild struktūra

Lai izveidotu savu ebuild, jums jāsāk ar pareizo *.ebuild fails. Jūsu ebuild fails ir visas jūsu ebuild sirds. Ebuild fails ir atkarīgs no daudziem citiem failiem, līdzīgi kā make do. Faktiski vairumā gadījumu jūsu ebuild būs atkarīgs no marka, lai gan tā ir jūsu izvēle. Šis ir neovima koks:
/ mnt / SW / projects / System / Gentoo / gentoo / app-editors / neovim
├── lietas
│ ├── neovim-0.4.3-gcc-10 labojums.plāksteris
│ ├── neovim-0.4.4-cmake_luaversion_patch
│ ├── neovim-0.4.4 cmake-release-type.plāksteris
│ └── sysinit.vim
├── Manifests
├── metadati.xml
├── neovim-0.4.4-r100.ebuild
└── neovim-9999.ebuild

Tātad, kam jūs izmantojat šos failus savā lietojumprogrammā? *.ebuild fails ir acīmredzams fails. Šajā failā ir SRC_URI, kas tieši norāda uz kodu. Cita failā esošā informācija ietver aprakstu, vietni un papildu informāciju, kas nepieciešama paketes sastādīšanai.

Manifesta failā ir hash, kas unikāli identificē kodu.

Metadati.xml fails satur uzturētāja vārdu un e-pasta adresi, projekta nosaukumu un dažus karodziņus kompilēšanai. Attālā identitāte atrodas arī šajā failā, piemēram, augšpusē esošā GitHub krātuve. Failu direktorijā ir visi nepieciešamie ielāpi un visi nepieciešamie īpašie iestatījumi. Iepriekš minētajā piemērā ir parādīts fails ar atbilstošiem iestatījumiem, saskaņā ar Gentoo uzturētājiem.

Ebuild faila iekšpusē

Vērtības faila iekšienē lielākoties ir viegli saprotamas. Apraksts un mājas lapa ir paredzēti izstrādātāja palīdzībai. EAPI numurs norāda, kura Gentoo versija tiks palaista. Jums ir arī Licence, kas ir diezgan skaidra; saskaņojiet licenci ar kodu, kuram veidojat ebuild failu.

Vēl sarežģītāka ir SLOT, kas tiek izmantota, ja jums ir nepieciešamas vairākas versijas. Pēc tam SLOT norādīs šo versiju uz jūsu atbalstīto versiju. Lielākajai daļai programmatūras būs 0 vērtība, vienlaikus atļaujot tikai vienu versiju.

KEYWORDS ir vērtība, kas norāda, uz kurām platformām jūsu avota kods var apkopot. Dotie ir amd65, x86 un, iespējams, arm64. Pilns saraksts ir pieejams jūsu Gentoo sistēmā. Ņemiet vērā, ka, ja vēlaties piedalīties, jūs jābūt uzstādiet tildi (~) arhitektūras priekšā. Tas nozīmē, ka kods nav pārbaudīts, tāpēc pirms šī simbola noņemšanas pārliecinieties, vai kods ir pārbaudīts. Vēlams, lai daudzi lietotāji pirms tildes noņemšanas apskatītu kodu.

Mainīgais IUSE atgriežas pie parametriem, kurus vēlaties iestatīt kompilatoram.

Jums ir arī DEPEND, kas ir trīs dažādos veidos. RDEPEND vērtības ir vērtības, kuras izmantojat koda palaišanas laikā. BDEPEND vērtības ir no uzbūves atkarīgas vērtības. Paketē, kuru mēģināt pievienot Gentoo, būs fails, kurā aprakstītas nepieciešamās atkarības.

Vienkāršiem iepakojumiem jums nekas cits nav vajadzīgs. Tomēr konkrētajā paketē, pie kuras strādājat, iespējams, būs dažas lietas, kas jāveic pirms koda sastādīšanas. Ja tas neatbilst tam, ko Gentoo izstrādātāji ir gaidījuši, varat iestatīt pats.

Funkcijas

Failā instalētājs visā procesā izmantos noteiktas funkcijas. Piemēram, lai lietotu ielāpus pirms komandas palaišanas, src_prepare () funkcija rīkosies šajā situācijā.

The src_configure () funkcija izmanto econf, lai iestatītu, t.i.e., 'use_enable.'Šajā funkcijā failus var izpakot, izmantojot komandu izpakot. Jūs varat arī nodot argumentus ./ configure savam projektam, izmantojot econf. Kā redzat, šīs funkcijas tiek sauktas pēc to ekvivalentiem, un daudzas reizes tās izvirza argumentus.

The src_install () funkcija veic to pašu funkciju, kas veidot uzstādīt darītu C / C ++ būvējumā. Tomēr tajā ir daudz iespēju, kuras varat meklēt atsauces dokumentā.

Lielākā daļa funkciju ir paredzētas, kad jums ir īpaša programmatūra. Jūs, iespējams, sāksit izpētīt šīs funkcijas, mēģinot ieviest pirmo pakotni.

Piemērs: SimulIDE pakotnes fails

Šeit mēs piedāvājam failu, kas tika izveidots pakotnei SimulIDE. Pakotnei nepieciešama Qt5 izstrādes vide, tāpēc tā būs jāpievieno ebuild failā. Šajā attēlā varat redzēt RDEPEND vērtības, kas atspoguļo šo ideju. Bibliotēkas jau atrodas Gentoo krātuvēs, kas ļauj to viegli norādīt.

# Autortiesības 2021 Mats Tage Axelsson
# Izplatīts saskaņā ar GNU General Public License v3 noteikumiem
EAPI = 7
DESCRIPTION = "SimulIDE simulē jūsu shēmas dizainu, tā ietver Arduino emulāciju."
MĀJAS LAPA = "https: // www.simulīds.com / p / home.html "
SRC_URI = "https: // mailfence.com / pub / docs / santigoro / web / SimulIDE_0.4.14 / simulide_0.4.14-SR4_Sources.darva.gz "
LICENCE = "GPL-3"
SLOT = "0"
KEYWORDS = "~ x86 ~ amd64"
RDEPEND = "dev-qt / qtsvg
dev-qt / qtxml
dev-qt / qtscript
dev-qt / qtwidgets
dev-qt / qtkonkursa
dev-qt / qtserialport
dev-qt / qtmultimedia "
DEPEND = "$ RDEPEND
dev-libs / libelf
dev-embedded / avr-libc "
src_prepare ()
izpakot simulide_0.4.14-SR4_Sources.darva.gz

src_configure ()
econf - ar popt

Iekš src_prepare () funkciju, jūs varat redzēt, ka pakete pirms lietošanas ir izpakota.

Pārklājums

Kad esat apgriezis un iztīrījis visas kļūdas, ieteicams pievienot savu pakotni Gentoo projektam. Layman tika izveidots, lai jūs varētu izmantot eksperimentālo programmatūru savai galvenajai izplatīšanas instalēšanai. Projektu sauc par pārklājumiem, bet komandu tā instalēšanai sauc par Layman.

Secinājums

Jaunu pakotņu izveide Gentoo ir uzņēmums, kas var paplašināt jūsu spējas. Pat ja tā ir izveidojusi daudz pakotņu, pirms lietojat make un rīku komplektu gcc, jums vajadzētu būt iespējai šo procesu uzņemt diezgan ātri. Pārliecinieties arī, lai pēc iespējas vairāk atgrieztos sabiedrībā.

Kā palielināt FPS Linux?
FPS apzīmē Kadri sekundē. FPS uzdevums ir izmērīt kadru ātrumu video atskaņošanā vai spēļu izrādēs. Vienkāršos vārdos nepārtrauktu pilnekrāna attēlu s...
Populārākās Oculus App Lab spēles
Ja esat Oculus austiņu īpašnieks, jums ir jāsazinās par sānu ielādi. Sānu ielāde ir process, kurā austiņās tiek instalēts saturs, kas nav veikals. Sid...
10 labākās spēles, kuras spēlēt Ubuntu
Windows platforma ir bijusi viena no dominējošajām spēļu platformām, jo ​​mūsdienās tiek attīstīts milzīgs spēļu skaits, lai atbalstītu Windows. Vai k...