Ebuild felépítése
Saját ebuild létrehozásához el kell kezdeni a megfelelő *.ebuild fájl. Az ebuild fájlja az egész ebuild szíve. Az ebuild fájl sok más fájltól függ, hasonlóan a make-hez. Valójában a legtöbb esetben az ebuild a gyártótól függ, bár ez a döntés. A következő a neovim fája:
/ mnt / SW / projects / System / Gentoo / gentoo / app-editors / neovim
├── fájlok
│ ├── neovim-0.4.3-gcc-10-fix.tapasz
│ ├── neovim-0.4.4 cmake_luaversion_patch
│ ├── neovim-0.4.4 cm-es sütemény-kioldó típus.tapasz
│ └── sysinit.vim
├── Nyilatkozat
├── metaadatok.xml
├── neovim-0.4.4-r100.ebuild
└── neovim-9999.ebuild
Tehát mire használja ezeket a fájlokat az alkalmazásában? A *.Az ebuild fájl a nyilvánvaló fájl. Ez a fájl tartalmazza az SRC_URI értéket, amely közvetlenül a kódra mutat. A fájl egyéb információi tartalmazzák a leírást, a weboldalt és a csomag összeállításához szükséges további információkat.
A Manifest fájl tartalmazza a kódot egyedileg azonosító kivonatot.
A metaadatok.Az xml fájl tartalmazza a fenntartó nevét és e-mail címét, a projekt nevét és néhány zászlót a fordításhoz. A távoli identitás szintén ebben a fájlban található, például a GitHub tárház az upstream számára. A fájlkönyvtár tartalmazza az esetlegesen szükséges javításokat és a szükséges speciális beállításokat. A fenti példa a Gentoo fenntartói szerint megfelelő beállításokkal rendelkező fájlt mutat be.
Az Ebuild fájl belsejében
A fájlon belüli értékek többnyire könnyen érthetők. A Leírás és a Honlap a fejlesztő segítségére szolgál. Az EAPI szám jelzi, hogy a Gentoo melyik verziót fogja futtatni. Megvan a Licence is, ami teljesen egyértelmű; illessze a Licencet ahhoz a kódhoz, amelyhez ebuild fájlt épít.
Még bonyolultabb a SLOT, amelyet akkor használnak, ha több verzióra van szüksége. A SLOT ezután az Ön által támogatott verzióra irányítja ezt az összeállítást. A legtöbb szoftver 0 értékkel rendelkezik, és egyszerre csak egy verziót engedélyez.
A KEYWORDS az az érték, amely azt jelzi, hogy mely platformokra fordíthatja a forráskód. A megadottak: amd65, x86, esetleg arm64. A teljes lista elérhető a Gentoo rendszerén. Ne feledje, hogy ha közreműködni szeretne, akkor Ön kell tildét (~) állítson az építészet elé. Ez azt jelenti, hogy a kód nincs tesztelve, ezért a szimbólum eltávolítása előtt ellenőrizze, hogy a kód jól tesztelt-e. Lehetséges, hogy sok felhasználó nézze meg a kódot, mielőtt eltávolítja a tildét.
Az IUSE változó visszatér a fordítóhoz beállítani kívánt paraméterekhez.
Önnek is van DEPEND-je, amely három különböző típusú. Az RDEPEND értékek azok az értékek, amelyeket a kód futtatása során használ. A BDEPEND értékek a felépítéstől függő értékek. A Gentoo-hoz hozzáadni kívánt csomag tartalmazni fogja a szükséges függőségeket leíró fájlt.
Az egyszerű csomagokhoz nincs szükség másra. Azonban az a konkrét csomag, amelyen dolgozik, valószínűleg tartalmaz néhány dolgot, amelyeket el kell végezni a kód fordítása előtt. Ha ez nem egyezik a Gentoo fejlesztői elvárásaival, beállíthatja sajátját.
Funkciók
A fájlban a telepítő bizonyos funkciókat fog használni az egész folyamat során. Például a javítások futtatásához a parancs futtatása előtt a src_prepare () függvény kezeli ezt a helyzetet.
A src_configure () függvény az econf segítségével állítja be, azaz.e., 'use_enable.'Ebben a funkcióban kicsomagolhatja a fájlokat a kicsomagolás paranccsal. Argokat is átadhat a ./ configure a projekthez a econf. Amint láthatja, ezeket a függvényeket az egyenértékűségüknek megfelelően nevezik meg, és sokszor átadják az érveket.
A src_install () függvény ugyanazt a funkciót látja el, mint készítsen telepítés C / C ++ összeállításban csinálná. Ugyanakkor sok lehetőséget tartalmaz, amelyeket a referenciadokumentumban kereshet meg.
A legtöbb funkció akkor használható, ha speciális esetszoftvered van. Valószínűleg akkor kezdi el ásni ezeket a funkciókat, amikor megpróbálja megvalósítani az első csomagot.
Példa: SimulIDE csomagfájl
Itt bemutatunk egy fájlt, amelyet a SimulIDE csomaghoz készítettünk. A csomaghoz Qt5 fejlesztői környezet szükséges, ezért ezt hozzá kell adnia az ebuild fájljához. A következő képen láthatja az RDEPEND értékeket, amelyek ezt az ötletet tükrözik. A könyvtárak már a Gentoo adattáraiban találhatók, ami megkönnyíti a rámutatást.
# Copyright 2021 Mats Tage Axelsson# Terjesztve a GNU General Public License v3 feltételei szerint
EAPI = 7
DESCRIPTION = "A SimulIDE szimulálja az áramköri terveket, beleértve az Arduino emulációt is."
FŐOLDAL = "https: // www.szimulid.com / p / home.html "
SRC_URI = "https: // mailfence.com / pub / docs / santigoro / web / SimulIDE_0.4.14 / simulide_0.4.14-SR4_Források.kátrány.gz "
ENGEDÉLY = "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
dev-embedded / avr-libc "
src_prepare ()
csomagold ki a simulide_0 csomagot.4.14-SR4_Források.kátrány.gz
src_configure ()
econf - popt-tal
Ban,-ben src_prepare () funkció, akkor láthatja, hogy a csomag használat előtt kicsomagolva van.
Overlay
Ha minden hibáját levágta és megtisztította, érdemes felvennie a csomagját a Gentoo projektbe. A Layman-t azért hozták létre, hogy kísérleti szoftvert használhasson a fő terjesztési telepítéshez. A projekt neve Overlays, de a telepítés parancsát Layman-nek hívják.
Következtetés
Új csomagok létrehozása a Gentoo számára olyan vállalkozás, amely kibővítheti képességeit. Ennek ellenére, ha sok csomagot épített a make és a gcc eszközkészlet használata előtt, akkor ezt a folyamatot meglehetősen gyorsan fel kell tudnia venni. Emellett mindenképpen járuljon hozzá a közösséghez, amennyire csak tud.