PKGBUILD (Magyar)
Ez a cikk azokrĂłl a vĂĄltozĂłkrĂłl szĂłl, amelyeket a karbantartĂł (maintainer) meg tud hatĂĄrozni egy PKGBUILD szkriptfĂĄjlban. A PKGBUILD fĂŒggvĂ©nyeivel kapcsolatban Ă©s ĂĄltalĂĄban a szoftvercsomagok lĂ©trehozĂĄsĂĄval kapcsolatban tekintse meg a Szotvercsomagok lĂ©trehozĂĄsa cĂmƱ oldalt. Olvassa el tovĂĄbbĂĄ a PKGBUILD(5) man sĂșgĂłt.
A PKGBUILD egy Bash szkriptfĂĄjl, amely az Arch Linux szoftvercsomagok lĂ©trehozĂĄsĂĄhoz szĂŒksĂ©ges informĂĄciĂłkat tartalmazza.
Az Arch Linux szoftvercsomag-archĂvumfĂĄjlok a makepkg segĂ©dprogrammal kĂ©szĂŒlnek. (A szoftvercsomag-archĂvumfĂĄjl lĂ©nyegĂ©ben egy közönsĂ©ges tömörĂtett fĂĄjl). Amikor a makepkg fut, megkeresi az aktuĂĄlis könyvtĂĄrban a PKGBUILD fĂĄjlt, Ă©s követi annak utasĂtĂĄsait azĂ©rt, hogy lefordĂtsa vagy mĂĄs mĂłdon beszerezze a fĂĄjlokat a szoftvercsomag-archĂvumfĂĄjl lĂ©trehozĂĄsa cĂ©ljĂĄbĂłl â pkgname.pkg.tar.zst. Az elkĂ©szĂŒlt szoftvercsomag-archĂvumfĂĄjl a szĂĄmĂtĂłgĂ©p ĂĄltal binĂĄrisan futtathatĂł fĂĄjlokat, Ă©s telepĂtĂ©si utasĂtĂĄsokat tartalmaz. A lĂ©trehozott szoftvercsomag-archĂvumfĂĄjlok azonnal feltelepĂthetĆk a szĂĄmĂtĂłgĂ©pre a pacman szoftvercsomag-kezelĆ segĂtsĂ©gĂ©vel.
A kötelezĆ vĂĄltozĂłk a pkgname, pkgver, pkgrel Ă©s arch. A license vĂĄltozĂł nem feltĂ©tlenĂŒl szĂŒksĂ©ges a szoftvercsomag lĂ©trehozĂĄsĂĄhoz, de ajĂĄnlott minden olyan PKGBUILD szkriptfĂĄjl esetĂ©ben, amelyet mĂĄsokkal megosztanak, mivel a makepkg figyelmeztetĂ©st ad amikor nincs jelen ez a vĂĄltozĂł.
ĂltalĂĄnos gyakorlat, hogy a vĂĄltozĂłkat a PKGBUILD fĂĄjlban ugyanabban a sorrendben hatĂĄrozzĂĄk meg, mint ahogyan ebben a cikkben szerepelnek. Ez azonban nem kötelezĆ.
- Hasznålja a namcap segédprogramot a
PKGBUILDszkriptfĂĄjlok ellenĆrzĂ©sĂ©re annak Ă©rdekĂ©ben, hogy kiszƱrje a gyakori szoftvercsomagolĂĄsi hibĂĄkat. - HasznĂĄlja a shellcheck(1) szegĂ©dprogramot a
PKGBUILDszkriptfĂĄjlok ellenĆrzĂ©sĂ©re annak Ă©rdekĂ©ben, hogy kiszƱrje a gyakori szkriptelĂ©si hibĂĄkat. Tekintse meg a SC2034, SC2154 Ă©s SC2164 leĂrĂĄsokat:
shellcheck --shell=bash --exclude=SC2034,SC2154,SC2164 PKGBUILD
- A termux-language-serverAUR egy nyelvi szervert biztosĂt a
PKGBUILD,makepkg.confstb. szĂĄmĂĄra.
Példa gyanånt tekintse meg a .proto fåjlokat a /usr/share/pacman/ könyvtårban.
Szoftvercsomag neve
pkgbase
Amikor Ăn szokvĂĄnyos szoftvercsomagokat hoz lĂ©tre, nem kötelezĆ megadni ezt a vĂĄltozĂłt a PKGBUILD fĂĄjlban: ĂrtĂ©ke alapĂ©rtelmezĂ©s szerint megegyezik a #pkgname Ă©rtĂ©kĂ©vel.
Amikor Ăn egy osztott szoftvercsomagot kĂ©szĂt, ezt a vĂĄltozĂłt szĂĄndĂ©kosan meg lehet adni, hogy meg legyen hatĂĄrozva az, hogy milyen nĂ©vvel hivatkozzon a szoftvercsomagok csoportjĂĄra a makepkg kimenetĂ©ben, valamint a csak forrĂĄsokat tartalmazĂł tar tömörĂtett fĂĄjlok elnevezĂ©sĂ©ben. Az Ă©rtĂ©k nem kezdĆdhet kötĆjellel. Ha nincs megadva, akkor az Ă©rtĂ©k alapĂ©rtelmezĂ©s szerint a pkgname tömb elsĆ elemĂ©re fog beĂĄllni.
Az osztott szoftvercsomagok minden beĂĄllĂtĂĄsa Ă©s direktĂvĂĄja alapĂ©rtelmezĂ©s szerint a PKGBUILD fĂĄjlban megadott globĂĄlis Ă©rtĂ©keket veszi ĂĄt. Ennek ellenĂ©re a következĆket felĂŒl lehet Ărni az egyes osztott szoftvercsomagok csomagolĂĄsi fĂŒggvĂ©nyĂ©ben: #pkgdesc, #arch, #url, #license, #groups, #depends, #optdepends, #provides, #conflicts, #replaces, #backup, #options, #install Ă©s #changelog.
pkgname
A szoftvercsomag neve lehet egyetlen nĂ©v, pĂ©ldĂĄul pkgname=jezus, vagy osztott szoftvercsomagok esetĂ©n egy nĂ©vtömb, pĂ©ldĂĄul pkgname=(jezus krisztus). A szoftvercsomagnevek kizĂĄrĂłlag kisbetƱs alfanumerikus karakterekbĆl Ă©s a következĆ jelekbĆl ĂĄllhatnak: @._+- (kukac, pont, alĂĄhĂșzĂĄs, plusz, kötĆjel). A nevek nem kezdĆdhetnek kötĆjellel vagy ponttal. A következetessĂ©g Ă©rdekĂ©ben a pkgname Ă©rtĂ©kĂ©nek meg kell egyeznie a szoftver tar forrĂĄsfĂĄjljĂĄnak a nevĂ©vel: Ha pĂ©ldĂĄul a szoftver neve jezuskrisztus-2.5.tar.gz, akkor hasznĂĄlja a pkgname=jezuskrisztus formĂĄt.
VerziĂł
pkgver
A szoftvercsomag verziĂłja.
Ez ugyanaz kell, hogy legyen, mint a szoftver eredeti szerzĆje ĂĄltal közzĂ©tett verziĂł. Tartalmazhat betƱket, szĂĄmokat, pontokat Ă©s alĂĄhĂșzĂĄsokat, de nem tartalmazhat kötĆjelet (-). Ha a szoftver szerzĆje kötĆjelet hasznĂĄl, akkor azt alĂĄhĂșzĂĄsra (_) kell cserĂ©lni. Ha a pkgver vĂĄltozĂł kĂ©sĆbb felhasznĂĄlĂĄsra kerĂŒl a PKGBUILD fĂĄjlban, akkor az alĂĄhĂșzĂĄs könnyen helyettesĂthetĆ kötĆjellel. PĂ©ldĂĄul: source=("${pkgname}-${pkgver//_/-}.tar.gz").
30102014, akkor ĂŒgyeljen rĂĄ, hogy Ăn a fordĂtott dĂĄtumot hasznĂĄlja, azaz 20141030 (ISO 8601 formĂĄtum). EllenkezĆ esetben nem fog Ășjabb verziĂłkĂ©nt megjelenni.- A ritkĂĄn hasznĂĄlt Ă©rtĂ©kek sorrendje tesztelhetĆ a vercmp(8) segĂtsĂ©gĂ©vel, amelyet a pacman szoftvercsomag biztosĂt.
- A makepkg automatikusan frissĂtheti ezt a vĂĄltozĂłt egy
pkgver()fĂŒggvĂ©ny definiĂĄlĂĄsĂĄval aPKGBUILDfĂĄjlban. RĂ©szletekĂ©rt tekintse meg a VCS package guidelines#A pkgver() fĂŒggvĂ©ny cĂmƱ leĂrĂĄst.
TovĂĄbbĂĄ, tekintse meg az Arch package guidelines#IrĂĄnyelvek a szoftvercsomagok verziĂłszĂĄmĂĄnak Ă©s kiadĂĄsi szĂĄmĂĄnak meghatĂĄrozĂĄsĂĄhoz cĂmƱ leĂrĂĄst is.
pkgrel
A kiadĂĄsi szĂĄm. Ez ĂĄltalĂĄban egy pozitĂv egĂ©sz szĂĄm, amely lehetĆvĂ© teszi az egymĂĄst követĆ szoftvercsomag-lĂ©trehozĂĄsok megkĂŒlönböztetĂ©sĂ©t ugyanazon szoftvercsomag verziĂłjĂĄn belĂŒl. Ahogy javĂtĂĄsok Ă©s tovĂĄbbi funkciĂłk kerĂŒlnek hozzĂĄadĂĄsra a PKGBUILD fĂĄjlhoz, amelyek befolyĂĄsoljĂĄk a lĂ©trejövĆ szoftvercsomagot, a pkgrel Ă©rtĂ©kĂ©t növelni kell 1âgyel. Amikor a szoftver Ășj verziĂłja megjelenik, ezt az Ă©rtĂ©ket vissza kell ĂĄllĂtani 1âre. KivĂ©teles esetekben mĂĄs formĂĄtumok is hasznĂĄlatban lehetnek, pĂ©ldĂĄul major.minor.
TovĂĄbbĂĄ, tekintse meg az Arch package guidelines#IrĂĄnyelvek a szoftvercsomagok verziĂłszĂĄmĂĄnak Ă©s kiadĂĄsi szĂĄmĂĄnak meghatĂĄrozĂĄsĂĄhoz cĂmƱ leĂrĂĄst is.
epoch
Arra szolgĂĄl, hogy a szoftvercsomagot Ășjabbnak lehessen tekinteni minden korĂĄbbi verziĂłnĂĄl, amelynek alacsonyabb az epoch Ă©rtĂ©ke. Ennek az Ă©rtĂ©knek nemnegatĂv egĂ©sz szĂĄmnak kell lennie. Az alapĂ©rtelmezett Ă©rtĂ©k 0. Akkor hasznĂĄljĂĄk, amikor egy szoftvercsomag verziĂłszĂĄmozĂĄsi sĂ©mĂĄja megvĂĄltozik (vagy alfanumerikus), Ă©s ez megtöri a normĂĄl verziĂł-összehasonlĂtĂĄs logikĂĄjĂĄt. PĂ©ldĂĄul:
pkgver=5.13 pkgrel=2 epoch=1
1:5.13-2
Tekintse meg a pacman(8) man sĂșgĂłt a verziĂł összehasonlĂtĂĄsokkal kapcsolatos tovĂĄbbi informĂĄciĂłkĂ©rt.
epoch kizĂĄrĂłlag akkor hasznĂĄlhatĂł, amikor erre feltĂ©tlenĂŒl szĂŒksĂ©g van.ĂltalĂĄnos
pkgdesc
A szoftvercsomag leĂrĂĄsa. AjĂĄnlott, hogy legfeljebb 80 karakter hosszĂș legyen, Ă©s ne tartalmazza a szoftvercsomag nevĂ©t önmagĂĄra hivatkozĂł mĂłdon, kivĂ©ve, amikor az alkalmazĂĄs neve eltĂ©r a szoftvercsomag nevĂ©tĆl. PĂ©ldĂĄul hasznĂĄlja a pkgdesc='Text editor for X11' formĂĄt, ahelyett, hogy a pkgdesc='Nedit is a text editor for X11' formĂĄt alkalmaznĂĄ.
Emellett fontos, hogy bölcsen hasznålja a kulcsszavakat, ezzel növelve annak esélyét, hogy a szoftvercsomag megjelenjen a relevåns keresési lekérdezésekben.
arch
Az arch tömb a PKGBUILD fĂĄjlban azt hatĂĄrozza meg, hogy mely processzorâarchitektĂșrĂĄkra hozhatĂł lĂ©tre a szoftvercsomag Ă©s mely processzorâarchitektĂșrĂĄkon futtathatĂł a szoftvercsomag. Ha egy architektĂșra nincs felsorolva a tömbben, akkor a makepkg nem engedi a szoftvercsomag forrĂĄskĂłdbĂłl törtĂ©nĆ lefordĂtĂĄsĂĄt azon a rendszeren. Az arch hivatalosan csak az x86_64 architektĂșrĂĄt tĂĄmogatja, de mĂĄs projektek mĂĄs architektĂșrĂĄkat is tĂĄmogathatnak. PĂ©ldĂĄul az Arch Linux 32 tĂĄmogatja a i686 Ă©s pentium4 architektĂșrĂĄkat, mĂg az Arch Linux ARM tĂĄmogatja a armv7h (armv7 hardfloat) Ă©s aarch64 (armv8 64-bit) architektĂșrĂĄkat.
Kétféle értéket hasznålhat a tömb:
- Az
arch=(any)azt jelzi, hogy a szoftvercsomag bĂĄrmely architektĂșrĂĄn lĂ©trehozhatĂł, Ă©s a lĂ©trehozĂĄs utĂĄn architektĂșrafĂŒggetlen a forrĂĄskĂłdbĂłl lefordĂtott ĂĄllapotĂĄban (ĂĄltalĂĄban shell szkriptek, betƱtĂpusok, tĂ©mĂĄk, sokfĂ©le kiterjesztĂ©s, Java programok stb.). - Az
arch=(...)egy vagy több architektĂșrĂĄval (de nemany) azt jelzi, hogy a szoftvercsomag bĂĄrmely megadott architektĂșrĂĄra forrĂĄskĂłdbĂłl lefordĂthatĂł, de a kĂłdfordĂtĂĄs utĂĄn architektĂșrafĂŒggĆ lesz. EzeknĂ©l a szoftvercsomagoknĂĄl meg kell adni minden olyan architektĂșrĂĄt, amelyet aPKGBUILDhivatalosan tĂĄmogat. A hivatalos szoftvercsomag-tĂĄrolĂłban Ă©s az AUR szoftvercsomagoknĂĄl ez azarch=('x86_64')architektĂșrĂĄt jelenti. OpcionĂĄlisan az AUR szoftvercsomagok dönthetnek Ășgy, hogy tovĂĄbbi ismerten mƱködĆ architektĂșrĂĄkat is tĂĄmogatnak.
A cĂ©larchitektĂșra a szoftvercsomag-lĂ©trehozĂĄs sorĂĄn a CARCH vĂĄltozĂłval Ă©rhetĆ el.
url
A csomagolt szoftver hivatalos webhelyĂ©nek URL-cĂme.
license
A licenc ami alatt a szoftver terjesztve van. Az Arch Linux SPDX licencazonosĂtĂłkat hasznĂĄl. Minden licenchez tartoznia kell egy megfelelĆ bejegyzĂ©snek a /usr/share/licenses/ könyvtĂĄrban.
A gyakori licencekhez (pĂ©ldĂĄul GPL-3.0-or-later) a licenses szoftvercsomag biztosĂtja az összes megfelelĆ fĂĄjlt. A szoftvercsomag alapĂ©rtelmezĂ©s szerint telepĂtve van, mivel a base meta szoftvercsomag fĂŒggĆsĂ©ge, Ă©s a fĂĄjlok megtalĂĄlhatĂłk a /usr/share/licenses/spdx/ könyvtĂĄrban. EgyszerƱen hivatkozzon a licencre az SPDX azonosĂtĂłk listĂĄjĂĄbĂłl szĂĄrmazĂł SPDX licencazonosĂtĂł hasznĂĄlatĂĄval.
Az olyan licenccsalĂĄdok, mint a BSD vagy az MIT, szigorĂșan vĂ©ve nem egyetlen licencet jelentenek, Ă©s minden egyes vĂĄltozat kĂŒlön licencfĂĄjlt igĂ©nyel. A license vĂĄltozĂłban közös SPDX azonosĂtĂłval hivatkozzon rĂĄjuk (pĂ©ldĂĄul BSD-3-Clause vagy MIT), majd adja meg a megfelelĆ fĂĄjlt Ășgy, mintha egyedi licenc lenne.
Az egyedi licencek esetĂ©ben az azonosĂtĂłnak LicenseRef-license-name vagy custom:license-name formĂĄtumĂșnak kell lennie, amennyiben azokat nem fedik le a fent emlĂtett közös licenccsalĂĄdok. A megfelelĆ licencszöveget a /usr/share/licenses/pkgname könyvtĂĄrba kell elhelyezni. A fĂĄjl telepĂtĂ©sĂ©hez a következĆ kĂłdrĂ©szlet hasznĂĄlhatĂł a package() szakaszban:
install -Dm644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}/"
pkgdir vĂĄltozĂłt a makepkg hatĂĄrozza meg. TovĂĄbbi informĂĄcióért tekintse meg a PKGBUILD(5) § PACKAGING FUNCTIONS man sĂșgĂłt.A több licenc kombinĂĄlĂĄsa vagy kivĂ©telek hozzĂĄadĂĄsa az SPDX szintaxis szerint törtĂ©njen. PĂ©ldĂĄul egy szoftvercsomag, amelyet vagy GNU/GPL 2.0 vagy GNU/LGPL 2.1 alatt adnak ki, hasznĂĄlhatja a 'GPL-2.0-or-later OR LGPL-2.1-or-later' kifejezĂ©st, egy Apache 2.0 licenc alatt kiadott szoftvercsomag LLVM kivĂ©tellel a 'Apache-2.0 WITH LLVM-exception' kifejezĂ©st, mĂg egy olyan szoftvercsomag, amelynek egy rĂ©sze BSD 3 klauzula alatt, mĂĄs rĂ©sze GNU/LGPL 2.1 alatt, Ă©s nĂ©hĂĄny GNU/GPL 2.0 alatt van kiadva, a 'BSD-3-Clause AND LGPL-2.1-or-later AND GPL-2.0-or-later' kifejezĂ©st hasznĂĄlhatja [1]. Fontos, hogy ez egyetlen karakterlĂĄnc legyen, tehĂĄt a teljes kifejezĂ©st idĂ©zĆjelek közĂ© kell tenni. 2023 novemberĂ©tĆl az SPDX kivĂ©telek listĂĄja korlĂĄtozott, Ăgy ĂĄltalĂĄban az egyedi licenc Ăștvonalat kell hasznĂĄlni.
Ha problĂ©mĂĄk merĂŒlnek fel az SPDX azonosĂtĂłkkal kapcsolatban, akkor az ĂĄtmeneti idĆszakban elfogadhatĂł a rĂ©gi azonosĂtĂłk hasznĂĄlata â vagyis a könyvtĂĄrak nevei a /usr/share/licenses/common Ăștvonalon.
Tekintse meg a Nem szabadon terjeszthetĆ alkalmazĂĄsok csomagolĂĄsĂĄnak irĂĄnyelvei cĂmƱ oldalt.
TovĂĄbbi informĂĄciĂłk Ă©s nĂ©zĆpontok a szabad Ă©s nyĂlt forrĂĄskĂłdĂș szoftverlicencekkel kapcsolatban az alĂĄbbi oldalakon talĂĄlhatĂłk:
- Wikipedia:Free software license
- Wikipedia:Comparison of free and open-source software licenses
- A Legal Issues Primer for Open Source and Free Software Projects
- GNU Project - Various Licenses and Comments about Them
- Debian - License information
- Open Source Initiative - Licenses by Name
groups
A szoftvercsomagcsoport, amelyhez a szoftvercsomag tartozik. Amikor pĂ©ldĂĄul a plasma telepĂtĂ©sre kerĂŒl, akkor az összes, ebbe a csoportba tartozĂł szoftvercsomagot feltelepĂti a szĂĄmĂtĂłgĂ©pre.
FĂŒggĆsĂ©gek
optdepends_x86_64=().depends
Egy szoftvercsomagtömb, amelyet telepĂteni kell ahhoz, hogy a szoftver lĂ©trejöjjön Ă©s fusson. Azok a szoftvercsomag-fĂŒggĆsĂ©gek, amelyek a package() fĂŒggvĂ©nyen belĂŒl vannak meghatĂĄrozva, csak a szoftver futtatĂĄsĂĄhoz szĂŒksĂ©gesek.
A verziĂłkorlĂĄtozĂĄsok megadhatĂłk összehasonlĂtĂł operĂĄtorokkal. PĂ©ldĂĄul: depends=('foobar>=1.8.0'). Ha több korlĂĄtozĂĄsra van szĂŒksĂ©g, akkor a szoftvercsomag-fĂŒggĆsĂ©get minden egyes esethez meg lehet ismĂ©telni. PĂ©ldĂĄul: depends=('foobar>=1.8.0' 'foobar<2.0.0').
A depends tömbnek minden közvetlen, elsĆ szintƱ szoftvercsomag-fĂŒggĆsĂ©get tartalmaznia kell, mĂ©g akkor is, ha nĂ©hĂĄny mĂĄr tranzitĂvan deklarĂĄlva van. PĂ©ldĂĄul, ha egy foo szoftvercsomag fĂŒgg mind a bar, mind a baz szoftvercsomagtĂłl, Ă©s a bar szoftvercsomag viszont szintĂ©n fĂŒgg a baz szoftvercsomagtĂłl, akkor nem kĂvĂĄnt viselkedĂ©shez vezethet, ha a bar többĂ© nem hĂșzza be fĂŒggĆsĂ©gkĂ©nt a baz szoftvercsomagot. A pacman szoftvercsomag-kezelĆ nem fogja kikĂ©nyszerĂteni a baz telepĂtĂ©sĂ©t azon rendszereken, amelyek Ășjonnan telepĂtik a foo szoftvercsomagot, vagy amelyek eltĂĄvolĂtottĂĄk az elĂĄrvult szoftvercsomagokat, Ă©s a foo futĂĄsidĆben összeomlik vagy mĂĄs mĂłdon hibĂĄsan fog mƱködni.
Bizonyos esetekben ez nem szĂŒksĂ©ges, Ă©s fel is tĂŒntethetĆ, de nem kötelezĆ. PĂ©ldĂĄul a glibc nem tĂĄvolĂthatĂł el, mivel minden rendszernek szĂŒksĂ©ge van valamilyen C fĂŒggvĂ©nykönyvtĂĄrra, vagy a python egy olyan szoftvercsomag esetĂ©ben, amely mĂĄr fĂŒgg egy mĂĄsik python- modultĂłl, hiszen a mĂĄsodik modul definĂciĂł szerint fĂŒgg a python-tĂłl, Ă©s soha nem szƱnhet meg annak fĂŒggĆsĂ©gkĂ©nt valĂł behĂșzĂĄsa.
A szoftvercsomag-fĂŒggĆsĂ©geknek ĂĄltalĂĄban tartalmazniuk kell a szoftvercsomag minden opcionĂĄlis funkciĂłjĂĄnak lĂ©trehozĂĄsĂĄhoz szĂŒksĂ©ges követelmĂ©nyeket. AlternatĂv megoldĂĄskĂ©nt minden olyan funkciĂłt, amelynek fĂŒggĆsĂ©gei nincsenek feltĂŒntetve, kifejezetten le kell tiltani egy beĂĄllĂtĂĄsopciĂłval. Ennek elmulasztĂĄsa olyan szoftvercsomagok lĂ©trejöttĂ©hez vezethet, amelyeknĂ©l az "automatikus fĂŒggĆsĂ©gek" futĂĄsidejƱ opcionĂĄlis funkciĂłi lĂ©trehozĂĄs közben kiszĂĄmĂthatatlanul engedĂ©lyezĆdnek tranzitĂv fĂŒggĆsĂ©gek vagy a build gĂ©pen telepĂtett, nem kapcsolĂłdĂł szoftverek miatt. Ăm ezek nem tĂŒkrözĆdnek a szoftvercsomag fĂŒggĆsĂ©geiben.
Ha a szoftvercsomag-fĂŒggĆsĂ©g neve fĂŒggvĂ©nykönyvtĂĄrnak tƱnik, pl. depends=(libfoobar.so), akkor a makepkg megprĂłbĂĄlja megkeresni a lĂ©trehozott szoftvercsomagban azt a binĂĄris fĂĄjlt, amely a fĂŒggvĂ©nykönyvtĂĄrtĂłl fĂŒgg, Ă©s hozzĂĄfƱzi a binĂĄris fĂĄjl ĂĄltal igĂ©nyelt soname verziĂłt. A verziĂł manuĂĄlis Ășton törtĂ©nĆ hozzĂĄfƱzĂ©se letiltja az automatikus felismerĂ©st, pl. depends=('libfoobar.so=2').
makedepends
Egy olyan szoftvercsomagtömb, amely csak a szoftvercsomag lĂ©trehozĂĄsĂĄhoz szĂŒksĂ©ges. A minimĂĄlis szoftvercsomag-fĂŒggĆsĂ©gi verziĂł ugyanabban a formĂĄtumban adhatĂł meg, mint a depends tömbben. A depends tömbben szereplĆ szoftvercsomagok implicit mĂłdon szĂŒksĂ©gesek a szoftvercsomag lĂ©trehozĂĄsĂĄhoz, ezĂ©rt itt nem szabad ismĂ©telten megadni Ćket.
- A base-devel szoftvercsomagrĂłl feltĂ©telezhetĆ, hogy mĂĄr fel van telepĂtve a szĂĄmĂtĂłgĂ©pre, amikor a makepkg segĂtsĂ©gĂ©vel Ăn szoftvercsomagot hoz lĂ©tre. Ennek a szoftvercsomagnak a szoftvercsomag-fĂŒggĆsĂ©geit nem szabad belefoglalni a
makedependstömbbe. - Amennyiben Ăn VCS forrĂĄsokat hasznĂĄl, ne felejtse el belefoglalni a megfelelĆ VCS segĂ©dprogramot (git, subversion, cvs, ...).
pactree -rsud1 package | grep base-devel parancsot annak ellenĆrzĂ©sĂ©re, hogy egy adott szoftvercsomag közvetlen fĂŒggĆsĂ©ge-e a base-devel szoftvercsomagnak. (Ehhez szĂŒksĂ©ges a pacman-contrib szoftvercsomag meglĂ©te a szĂĄmĂtĂłgĂ©pen).checkdepends
Egy szoftvercsomagtömb, amelyre a szoftvernek szĂŒksĂ©ge van a tesztkĂ©szlet futtatĂĄsĂĄhoz, de futĂĄsidĆben nincs rĂĄ szĂŒksĂ©g. Az ebben a listĂĄban szereplĆ szoftvercsomagok ugyanazt a formĂĄtumot követik, mint a depends. Ezeket a szoftvercsomag-fĂŒggĆsĂ©geket egyedĂŒl akkor veszi figyelembe a rendszer, amikor a check() fĂŒggvĂ©ny jelen van, Ă©s a makepkg futtatni fogja.
checkdepends tömbbe.optdepends
Egy szoftvercsomagtömb, amelyre a szoftver mƱködĂ©sĂ©hez nincs szĂŒksĂ©g, de tovĂĄbbi funkciĂłkat biztosĂt. Ez azt jelentheti, hogy nem minden, a szoftvercsomag ĂĄltal biztosĂtott vĂ©grehajthatĂł fĂĄjl mƱködni fog a megfelelĆ optdepends nĂ©lkĂŒl.[2] Ha a szoftver több alternatĂv szoftvercsomag-fĂŒggĆsĂ©ggel is mƱködik, akkor itt mindegyik felsorolhatĂł a depends tömbben törtĂ©nĆ felsorolĂĄs helyett.
Az extra funkciĂłk rövid leĂrĂĄsĂĄt, amelyet minden egyes optdepend biztosĂt, szintĂ©n fel kell jegyezni:
optdepends=('cups: printing support'
'sane: scanners support'
'libgphoto2: digital cameras support'
'alsa-lib: sound support'
'giflib: GIF images support'
'libjpeg: JPEG images support'
'libpng: PNG images support')
Szoftvercsomagok kapcsolatai
conflicts_x86_64=().provides
Egy tovĂĄbbi szoftvercsomagokbĂłl ĂĄllĂł tömb, amelyeket a szoftver szolgĂĄltatĂĄskĂ©nt biztosĂt, beleĂ©rtve a virtuĂĄlis szoftvercsomagokat, mint pĂ©ldĂĄul a cron vagy a sh, valamint az összes kĂŒlsĆ megosztott fĂŒggvĂ©nykönyvtĂĄrat. Azonos elemet biztosĂtĂł szoftvercsomagok egymĂĄs mellett is telepĂthetĆk, kivĂ©ve, ha legalĂĄbb egyikĂŒk hasznĂĄlja a conflicts tömböt.
- A szoftvercsomag ĂĄltal biztosĂtott verziĂłt meg kell emlĂteni (
pkgverĂ©s adott esetben apkgrel), arra az esetre, ha a szoftverre hivatkozĂł szoftvercsomagoknak szĂŒksĂ©gĂŒk lenne rĂĄ. PĂ©ldĂĄul Ănnek a következĆt kell hasznĂĄlnia egy mĂłdosĂtott qt szoftvercsomag 3.3.8 verziĂłjĂĄval, qt-foobar nĂ©ven:provides=('qt=3.3.8'). A verziĂłszĂĄm elhagyĂĄsa azt eredmĂ©nyeznĂ©, hogy a qt adott verziĂłjĂĄt igĂ©nylĆ szoftvercsomag-fĂŒggĆsĂ©gek meghiĂșsulnak. - Ne adja hozzĂĄ a
pkgnamevåltozót aprovidestömbhöz, mivel ez automatikusan megtörténik.
conflicts
Azon szoftvercsomagok tömbje, amelyek ĂŒtköznek a szoftvercsomaggal, vagy problĂ©mĂĄt okoznak szĂĄmĂĄra, ha telepĂtve vannak. Az összes ilyen szoftvercsomagot Ă©s az ezt az elemet biztosĂtĂł szoftvercsomagokat el kell tĂĄvolĂtani. Az ĂŒtközĆ szoftvercsomagok verziĂłtulajdonsĂĄgai ugyanabban a formĂĄtumban adhatĂłk meg, mint a depends tömb esetĂ©ben.
Vegye figyelembe, hogy az ĂŒtközĂ©sek ellenĆrzĂ©se a pkgname ellen, valamint a provides tömbben megadott nevekkel szemben is megtörtĂ©nik. EzĂ©rt, ha az Ăn szoftvercsomagja biztosĂt egy foo funkciĂłt, akkor a foo megadĂĄsa a conflicts tömbben ĂŒtközĂ©st fog okozni az Ăn szoftvercsomagja Ă©s minden mĂĄs szoftvercsomag között, amely tartalmazza a foo elemet a sajĂĄt provides tömbjĂ©ben (vagyis nincs szĂŒksĂ©g az összes ilyen ĂŒtközĆ szoftvercsomagnĂ©v megadĂĄsĂĄra az Ăn conflicts tömbjĂ©ben). VegyĂŒnk egy konkrĂ©t pĂ©ldĂĄt:
- A netbeans implicit mĂłdon biztosĂtja a
netbeanselemet magĂĄn apkgnamenĂ©ven keresztĂŒl. - Egy hipotetikus netbeans-cpp szoftvercsomag biztosĂtanĂĄ a
netbeanselemet, Ă©s ĂŒtközik anetbeansszoftvercsomaggal. - Egy hipotetikus netbeans-php szoftvercsomag biztosĂtanĂĄ a
netbeanselemet, Ă©s ĂŒtközik anetbeansszoftvercsomaggal, de nem szĂŒksĂ©ges kifejezetten ĂŒtköznie a netbeans-cpp szoftvercsomaggal, mivel az ugyanazt a funkciĂłt biztosĂtĂł szoftvercsomagok implicit mĂłdon ĂŒtköznek egymĂĄssal.
Amikor a szoftvercsomagok ugyanazt a funkciĂłt biztosĂtjĂĄk a provides tömbön keresztĂŒl, kĂŒlönbsĂ©g van aközött, hogy az alternatĂv szoftvercsomag szĂĄndĂ©kosan hozzĂĄ van-e adva a conflicts tömbhöz vagy nincs hozzĂĄadva. Ha a conflicts tömb szĂĄndĂ©kosan deklarĂĄlva van, akkor az ugyanazt a funkciĂłt biztosĂtĂł kĂ©t szoftvercsomag alternatĂvnak lesz tekintve. Ha a conflicts tömb hiĂĄnyzik, akkor az ugyanazt a funkciĂłt biztosĂtĂł kĂ©t szoftvercsomag esetlegesen egyĂŒtt lĂ©tezĆnek lesz tekintve. A szoftvercsomag-kĂ©szĂtĆknek mindig figyelmen kĂvĂŒl kell hagyniuk a provides vĂĄltozĂł tartalmĂĄt annak eldöntĂ©sekor, hogy deklarĂĄljanak-e conflicts vĂĄltozĂłt vagy sem.
replaces
Azon elavult szoftvercsomagok tömbje, amelyeket a szoftvercsomag helyettesĂt, pl. a wireshark-qt a replaces=('wireshark') hasznĂĄlatĂĄval. SzinkronizĂĄlĂĄskor a pacman azonnal lecserĂ©l egy feltelepĂtett szoftvercsomagot, amint a szoftvercsomag-tĂĄrolĂłkban talĂĄl egy mĂĄsik szoftvercsomagot, amelynek replaces mezĆje egyezik. Amennyiben Ăn egy mĂĄr lĂ©tezĆ szoftvercsomag alternatĂv verziĂłjĂĄt adja meg, vagy az AUR szoftvercsomag-tĂĄrolĂłba tölti fel, akkor hasznĂĄlja a conflicts Ă©s provides tömböket, amelyek csak akkor kerĂŒlnek kiĂ©rtĂ©kelĂ©sre, amikor a konfliktusos szoftvercsomag tĂ©nyleges feltelepĂtĂ©se törtĂ©nik.
Egyéb
backup
Egy fĂĄjlokbĂłl ĂĄllĂł tömb, amely felhasznĂĄlĂł ĂĄltal kĂ©szĂtett mĂłdosĂtĂĄsokat tartalmazhat, Ă©s amelyeket egy szoftvercsomag frissĂtĂ©se vagy eltĂĄvolĂtĂĄsa sorĂĄn meg kell Ćrizni, elsĆsorban a /etc könyvtĂĄrban talĂĄlhatĂł beĂĄllĂtĂĄsfĂĄjlokhoz kĂ©szĂŒlt. Ha ezek a fĂĄjlok vĂĄltozatlanok ahhoz kĂ©pest, ahogyan a szoftvercsomaggal egyĂŒtt kerĂŒlnek szĂĄllĂtĂĄsra, akkor frissĂtĂ©s vagy eltĂĄvolĂtĂĄs sorĂĄn normĂĄl fĂĄjlokkĂ©nt törlĂ©sre kerĂŒlnek vagy lecserĂ©lĆdnek.
Az ebben a tömbben lĂ©vĆ fĂĄjloknak relatĂv Ăștvonalakat kell hasznĂĄlniuk a kezdĆ perjel (/) nĂ©lkĂŒl (pl. etc/pacman.conf, a /etc/pacman.conf helyett). A backup tömb nem tĂĄmogatja az ĂŒres könyvtĂĄrakat vagy a "*" jelhez hasonlĂł helyettesĂtĆ karaktereket.
FrissĂtĂ©skor az Ășj verziĂłk fĂĄjl.pacnew nĂ©ven kerĂŒlhetnek mentĂ©sre, hogy elkerĂŒljĂ©k egy mĂĄr lĂ©tezĆ Ă©s korĂĄbban a felhasznĂĄlĂł ĂĄltal mĂłdosĂtott fĂĄjl felĂŒlĂrĂĄsĂĄt. HasonlĂłan, a szoftvercsomag eltĂĄvolĂtĂĄsakor a felhasznĂĄlĂł ĂĄltal mĂłdosĂtott fĂĄjlok fĂĄjl.pacsave nĂ©ven kerĂŒlnek megĆrzĂ©sre, kivĂ©ve, ha a szoftvercsomag eltĂĄvolĂtĂĄsa a pacman -Rn paranccsal törtĂ©nt.
Tekintse meg a Pacnew Ă©s Pacsave fĂĄjlok cĂmƱ oldalt.
options
Ez a tömb lehetĆvĂ© teszi a makepkg alapĂ©rtelmezett viselkedĂ©sĂ©nek felĂŒlbĂrĂĄlĂĄsĂĄt, amely a /etc/makepkg.conf fĂĄjlban van meghatĂĄrozva. Egy opciĂł beĂĄllĂtĂĄsa Ă©rdekĂ©ben adja meg az opciĂł nevĂ©t a tömbben. Egy opciĂł letiltĂĄsa Ă©rdekĂ©ben helyezzen az opciĂł elĂ© egy ! jelet.
A rendelkezĂ©sre ĂĄllĂł opciĂłk teljes listĂĄja a PKGBUILD(5) § OPTIONS AND DIRECTIVES man sĂșgĂłban talĂĄlhatĂł meg.
install
A szoftvercsomagba belefoglalandĂł .install szkript neve.
A pacman kĂ©pes egy szoftvercsomag-specifikus szkript tĂĄrolĂĄsĂĄra Ă©s vĂ©grehajtĂĄsĂĄra, amikor egy szoftvercsomagot telepĂt, eltĂĄvolĂt vagy frissĂt. A szkript az alĂĄbbi fĂŒggvĂ©nyeket tartalmazza, amelyek kĂŒlönbözĆ idĆpontokban futnak:
pre_installâ A szkript közvetlenĂŒl a fĂĄjlok kibontĂĄsa elĆtt fut le. Egy argumentum kerĂŒl ĂĄtadĂĄsra: Az Ășj szoftvercsomag verziĂłja.post_installâ A szkript közvetlenĂŒl a fĂĄjlok kibontĂĄsa utĂĄn fut le. Itt helyezendĆk el azok a tovĂĄbbi megjegyzĂ©sek, amelyeket a szoftvercsomag telepĂtĂ©se utĂĄn kell kiĂrni. Egy argumentum kerĂŒl ĂĄtadĂĄsra: Az Ășj szoftvercsomag verziĂłja.pre_upgradeâ A szkript közvetlenĂŒl a fĂĄjlok kibontĂĄsa elĆtt fut le. KĂ©t argumentum kerĂŒl ĂĄtadĂĄsra a következĆ sorrendben: Az Ășj szoftvercsomag verziĂłja, a rĂ©gi szoftvercsomag verziĂłja.post_upgradeâ A szkript közvetlenĂŒl a fĂĄjlok kibontĂĄsa utĂĄn fut le. KĂ©t argumentum kerĂŒl ĂĄtadĂĄsra a következĆ sorrendben: Az Ășj szoftvercsomag verziĂłja, a rĂ©gi szoftvercsomag verziĂłja.pre_removeâ A szkript közvetlenĂŒl a fĂĄjlok eltĂĄvolĂtĂĄsa elĆtt fut le. Egy argumentum kerĂŒl ĂĄtadĂĄsra: A rĂ©gi szoftvercsomag verziĂłja.post_removeâ A szkript közvetlenĂŒl a fĂĄjlok eltĂĄvolĂtĂĄsa utĂĄn fut le. Egy argumentum kerĂŒl ĂĄtadĂĄsra: A rĂ©gi szoftvercsomag verziĂłja.
Mindegyik fĂŒggvĂ©ny chroot környezetben fut, a pacman telepĂtĂ©si könyvtĂĄrĂĄn belĂŒl. RĂ©szletekĂ©rt tekintse meg ezt a tĂ©mĂĄt.
- Egy prototĂpus .install fĂĄjl elĂ©rhetĆ a /usr/share/pacman/proto.install elĂ©rĂ©si Ăștvonalon.
- A pacman#Automatikus mƱveletindĂtĂł fĂĄjlok hasonlĂł funkcionalitĂĄst biztosĂtanak.
exit paranccsal. Ez megakadĂĄlyoznĂĄ a benne talĂĄlhatĂł fĂŒggvĂ©nyek vĂ©grehajtĂĄsĂĄt.changelog
A szoftvercsomag vĂĄltozĂĄsnaplĂłjĂĄnak neve. A telepĂtett szoftvercsomag vĂĄltozĂĄsnaplĂłjĂĄnak megtekintĂ©se Ă©rdekĂ©ben a következĆ parancsot kell futtatni (amelyek a telepĂtett szoftvercsomag rendelkeznek vĂĄltozĂĄsnaplĂłfĂĄjllal):
$ pacman -Qc pkgname
ForrĂĄsok
source
Egy, a szoftvercsomag lĂ©trehozĂĄsĂĄhoz szĂŒksĂ©ges fĂĄjlokbĂłl ĂĄllĂł tömb. Tartalmaznia kell a szoftver forrĂĄsĂĄnak helyĂ©t, amely a legtöbb esetben egy teljes HTTP vagy FTP URL. A korĂĄbban beĂĄllĂtott pkgname Ă©s pkgver vĂĄltozĂłk itt hatĂ©konyan hasznĂĄlhatĂłk. PĂ©ldĂĄul: source=("https://example.com/${pkgname}-${pkgver}.tar.gz").
A fĂĄjlok a PKGBUILD szkriptfĂĄjlt tartalmazĂł könyvtĂĄrban is megadhatĂłk, Ă©s nevĂŒk hozzĂĄadhatĂł ehhez a tömbhöz. A tĂ©nyleges kĂłdfordĂtĂĄsi folyamat megkezdĂ©se elĆtt a tömbben hivatkozott összes fĂĄjl letöltĂ©sre kerĂŒl vagy ellenĆrzĂ©sre kerĂŒl a meglĂ©tĂŒk, Ă©s ha bĂĄrmelyik hiĂĄnyzik, akkor a makepkg nem folytatja a mƱveletet.
A .install fĂĄjlokat a makepkg automatikusan felismeri, Ă©s nem szabad Ćket a source tömbbe felvenni. A source tömbben szereplĆ .sig, .sign vagy .asc kiterjesztĂ©sƱ fĂĄjlokat a makepkg PGP-alĂĄĂrĂĄskĂ©nt ismeri fel, Ă©s automatikusan felhasznĂĄlja a megfelelĆ forrĂĄsfĂĄjl integritĂĄsĂĄnak ellenĆrzĂ©sĂ©hez.
source=('unique_package_name::file_uri') szintaxissal adható meg. Példåul: source=("${pkgname}-${pkgver}.tar.gz::https://github.com/coder/program/archive/v${pkgver}.tar.gz").
- TovĂĄbbi architektĂșra-specifikus tömbök adhatĂłk hozzĂĄ az alĂĄhĂșzĂĄs Ă©s az architektĂșra nevĂ©nek hozzĂĄfƱzĂ©sĂ©vel. PĂ©ldĂĄul:
source_x86_64=(). Ennek megfelelĆen lĂ©teznie kell egy integritĂĄsi tömbnek is ellenĆrzĆösszegekkel. PĂ©ldĂĄul:sha256sums_x86_64=(). - Egyes szerverek korlĂĄtozhatjĂĄk a letöltĂ©st az ĂŒgyfĂ©l User-Agent karakterlĂĄncĂĄnak szƱrĂ©sĂ©vel vagy egyĂ©b tĂpusĂș korlĂĄtozĂĄsokkal, amely korlĂĄtozĂĄsok a DLAGENTS hasznĂĄlatĂĄval megkerĂŒlhetĆk.
- A
file://URL hasznĂĄlhatĂł a helyi szĂĄmĂtĂłgĂ©p fĂĄjlrendszerĂ©ben lĂ©vĆ könyvtĂĄr vagy fĂĄjl megadĂĄsĂĄra. PĂ©ldĂĄul egy helyi Git tĂĄrolĂł Ăgy adhatĂł meg:"${pkgname}::git+file:///elĂ©rĂ©si/Ășt/a/tĂĄrolĂłhoz". - A magnet link tĂĄmogatĂĄs hozzĂĄadhatĂł a transmission-dlagentAUR hasznĂĄlatĂĄval
DLAGENTformĂĄjĂĄban, valamint amagnet://URI elĆtag hasznĂĄlatĂĄval a kanonikusmagnet:?helyett. - Tekintse meg a PKGBUILD(5) § USING VCS SOURCES man sĂșgĂłt Ă©s a VCS package guidelines#VCS sources szakaszokat a VCS-specifikus beĂĄllĂtĂĄsok rĂ©szleteiĂ©rt, pĂ©ldĂĄul egy adott Git fejlesztĂ©si ĂĄg vagy commit cĂ©lzĂĄsĂĄhoz.
noextract
Egy fĂĄjlokbĂłl ĂĄllĂł tömb, amely a source tömb alatt van felsorolva, Ă©s amelyet a makepkg nem szabad, hogy kicsomagoljon az archĂvum formĂĄtumĂĄbĂłl. Ez hasznĂĄlhatĂł olyan archĂvumok esetĂ©n, amelyeket a /usr/bin/bsdtar nem tud kezelni, vagy amelyeket vĂĄltozatlan formĂĄban kell telepĂteni. Amennyiben alternatĂv kicsomagolĂł program van hasznĂĄlva (pĂ©ldĂĄul lrzip), akkor azt hozzĂĄ kell adni a makedepends tömbhöz, Ă©s a prepare() fĂŒggvĂ©ny elsĆ sorĂĄnak manuĂĄlisan kell kicsomagolnia a forrĂĄskĂłdot tartalmazĂł archĂvumfĂĄjlt. PĂ©ldĂĄul:
prepare() {
lrzip -d source.tar.lrz
}
Vegye figyelembe, hogy mĂg a source tömb elfogad URL cĂmeket, addig a noextract kizĂĄrĂłlag a fĂĄjlnĂ©v rĂ©szĂ©t fogadja el:
source=("http://foo.org/bar/foobar.tar.xz")
noextract=('foobar.tar.xz')
Annak Ă©rdekĂ©ben, hogy semmi ne legyen kicsomagolva, vegye figyelembe a következĆket:
- Ha a
sourcecsak egyszerƱ URL cĂmeket tartalmaz egyĂ©ni fĂĄjlnevek nĂ©lkĂŒl, akkor asourcetömbben a legutolsĂł perjel elĆtt vĂĄgja le:
noextract=("${source[@]##*/}")
- Ha a
sourcecsak egyéni fåjlneveket tartalmazó bejegyzéseket tartalmaz, akkor asourcetömböt a::elvålasztó utån kell levågni (a firefox-i18n PKGBUILD egy koråbbi verziójåból åtvéve):
noextract=("${source[@]%%::*}")
noextract tömbhöz, és manuålisan csomagolja ki egy alkönyvtårba.validpgpkeys
PGP ujjlenyomatok tömbje. Ha hasznĂĄlva van, akkor a makepkg csak az itt felsorolt kulcsokbĂłl szĂĄrmazĂł alĂĄĂrĂĄsokat fogadja el, Ă©s figyelmen kĂvĂŒl hagyja a kulcstartĂłban talĂĄlhatĂł megbĂzhatĂłsĂĄgi Ă©rtĂ©keket. Ha a forrĂĄsfĂĄjlt egy al kulccsal lett alĂĄĂrva, akkor a makepkg tovĂĄbbra is a fĆkulcsot fogja hasznĂĄlni az összehasonlĂtĂĄshoz.
EgyedĂŒl teljes ujjlenyomatok fogadhatĂłk el. NagybetƱsnek kell lenniĂŒk, Ă©s nem tartalmazhatnak szĂłköz karaktereket.
gpg --list-keys --fingerprint KEYID parancsot annak megĂĄllapĂtĂĄsĂĄra, hogy mi az adott kulcs megfelelĆ ujjlenyomata.TovĂĄbbi informĂĄciĂłkĂ©rt kĂ©rjĂŒk, hogy olvassa el a makepkg#Szoftvercsomag alĂĄĂrĂĄsĂĄnak az ellenĆrzĂ©se cĂmƱ leĂrĂĄst.
IntegritĂĄs
Ezek a vĂĄltozĂłk olyan tömbök, amelyek elemei ellenĆrzĆösszeg-karakterlĂĄncok, Ă©s a megfelelĆ fĂĄjlok integritĂĄsĂĄnak ellenĆrzĂ©sĂ©re lesznek hasznĂĄlva a source tömbben. SzĂșrja be a SKIP Ă©rtĂ©ket egy adott fĂĄjlhoz, Ă©s annak ellenĆrzĆösszege nem lesz ellenĆrizve.
Az ellenĆrzĆösszeg tĂpusa Ă©s Ă©rtĂ©kei mindig az upstream ĂĄltal megadottak legyenek, pĂ©ldĂĄul a kiadĂĄsi bejelentĂ©sekben szereplĆk. Ha több tĂpus is elĂ©rhetĆ, akkor a legerĆsebb ellenĆrzĆösszeg rĂ©szesĂtendĆ elĆnyben (a leginkĂĄbb elĆnyöstĆl a legkevĂ©sbĂ© elĆnyösig): b2, sha512, sha384, sha256, sha224, sha1, md5, ck. Ez biztosĂtja legjobban a letöltött fĂĄjlok integritĂĄsĂĄt, a upstream bejelentĂ©stĆl a szoftvercsomag lĂ©trehozĂĄsĂĄig.
Ezeknek a vĂĄltozĂłknak az Ă©rtĂ©kei automatikusan elĆĂĄllĂthatĂłk a makepkg -g/--geninteg kapcsolĂłjĂĄval, majd ĂĄltalĂĄban a makepkg -g >> PKGBUILD paranccsal kerĂŒlnek hozzĂĄfƱzĂ©sre. A pacman-contrib szoftvercsomagbĂłl szĂĄrmazĂł updpkgsums(8) parancs kĂ©pes frissĂteni a vĂĄltozĂłkat, bĂĄrhol is legyenek azok a PKGBUILD fĂĄjlban. MindkĂ©t segĂ©dprogram a PKGBUILD fĂĄjlban mĂĄr beĂĄllĂtott vĂĄltozĂłt fogja hasznĂĄlni, vagy ha egyik sincs beĂĄllĂtva, akkor visszatĂ©r a sha256sums vĂĄltozĂłra.
A hasznĂĄlandĂł fĂĄjlintegritĂĄs-ellenĆrzĂ©sek a /etc/makepkg.conf fĂĄjlban talĂĄlhatĂł INTEGRITY_CHECK beĂĄllĂtĂĄssal adhatĂłk meg. Tekintse meg a makepkg.conf(5) man sĂșgĂłt.
sha256sums_x86_64=().b2sums
Egy BLAKE2b ellenĆrzĆösszegeket tartalmazĂł tömb 512 bites kivonatmĂ©rettel.
sha512sums, sha384sums, sha256sums, sha224sums
Egy SHA-2 ellenĆrzĆösszegeket tartalmazĂł tömb rendre 512, 384, 256 Ă©s 224 bites kivonatmĂ©retekkel. Ezek közĂŒl a sha256sums a leggyakoribb.
sha1sums
A source tömbben felsorolt fĂĄjlok 160 bites SHA-1 ellenĆrzĆösszegeit tartalmazĂł tömb.
md5sums
Egy 128 bites MD5 ellenĆrzĆösszeg tömbje a source tömbben felsorolt fĂĄjlokrĂłl.
cksums
A source tömbben felsorolt fĂĄjlok CRC32 ellenĆrzĆösszegeit tartalmazĂł tömb (a UNIX-szabvĂĄny szerinti cksum alapjĂĄn).