PKGBUILD(5) Manualul Pacman PKGBUILD(5) NUME PKGBUILD - fiier de descriere a construciei pachetului SINOPSIS PKGBUILD DESCRIERE Aceasta pagina de manual descrie regulile generale despre PKGBUILD. Odata ce un PKGBUILD este scris, pachetul real este construit utilizand makepkg i instalat cu pacman. Nota Un exemplu de PKGBUILD, util pentru referina, este localizat in /usr/share/pacman impreuna cu alte fiiere de exemplu, cum ar fi un script de instalare. Putei copiai fiierul PKGBUILD.proto furnizat intr-un nou director de creare a pachetului i sa facei personalizari in funcie de nevoile dvs. OPIUNI I DIRECTIVE Urmatoarea este o lista de opiuni i directive standard disponibile pentru a fi utilizate intr-un PKGBUILD. Toate acestea sunt inelese i interpretate de makepkg, iar cele mai multe dintre ele vor fi transferate direct in pachetul construit. Campurile obligatorii pentru un PKGBUILD minim funcional sunt pkgname, pkgver, pkgrel i arch. Daca trebuie sa creai variabile personalizate pentru a le utiliza in procesul de construire, se recomanda este recomandat sa prefixai numele acestora cu un caracter _ (liniua de subliniere). Acest lucru va preveni orice posibile ciocniri de nume cu variabilele interne makepkg. De exemplu, pentru a stoca versiunea nucleului de baza intr-o variabila, utilizai ceva similar cu $_basekernver. pkgname (lista) Fie numele pachetului, fie o serie de nume pentru pachete divizate. Caracterele valide pentru membrii acestei serii sunt alfanumerice i oricare dintre urmatoarele caractere: ,,@ . _ + -". In plus, numele nu sunt trebuie sa inceapa cu liniue de unire sau puncte. pkgver Versiunea software-ului eliberata de autor (de ex, 2.7.1). Variabila nu are voie sa conina doua puncte (:), bare oblice (/), liniue de unire (-) sau spaii albe. Variabila pkgver poate fi actualizata automat prin furnizarea unei funcii pkgver() in PKGBUILD care produce noua versiune a pachetului. Aceasta este rulata dupa descarcarea i extragerea surselor i dupa rularea funciei prepare() (daca este prezenta), astfel incat sa poata utiliza aceste fiiere pentru a determina noua valoare a pkgver. Aceasta este foarte utila atunci cand este utilizata cu surse din sisteme de control al versiunilor (a se vedea mai jos). pkgrel Valoarea acestei variabile este numarul de versiune specific distribuiei. Aceasta permite deinatorilor de pachete sa faca actualizari ale fanioanelor de configurare ale pachetului, de exemplu. Aceasta este de obicei definita la 1 pentru fiecare noua versiune de software din amonte i incrementata pentru actualizarile PKGBUILD intermediare. Variabila este un numar intreg pozitiv, cu un nivel subversiune opional specificat prin adaugarea unui alt numar intreg pozitiv separat de un punct (adica sub forma x.y). epoch Utilizata pentru a fora pachetul sa fie vazut ca fiind mai nou decat orice versiune anterioara cu o epoca mai mica, chiar daca numarul versiunii nu ar declana in mod normal o astfel de actualizare. Aceasta valoare trebuie sa fie un numar intreg pozitiv; valoarea implicita daca nu este specificata este 0. Acest lucru este util atunci cand schema de numerotare a versiunilor unui pachet se schimba (sau este alfanumerica), rupand logica normala de comparare a versiunilor. Consultai pacman(8) pentru mai multe informaii despre compararea versiunilor. pkgdesc Aceasta ar trebui sa fie o scurta descriere a pachetului i a funcionalitaii sale. Incercai sa limitai descrierea la un singur rand de text i sa nu folosii numele pachetului. url Acest camp conine o adresa URL care este asociata cu software-ul care este impachetat. Aceasta este de obicei adresa sitului web al proiectului. license (camp) Acest camp specifica licena(ele) care se aplica pachetului. Daca se aplica mai multe licene, listai-le pe toate: license=('GPL' 'FDL'). install Specifica un script special de instalare care urmeaza sa fie inclus in pachet. Acest fiier trebuie sa se afle in acelai director ca PKGBUILD i va fi copiat in pachet de catre makepkg. Nu este necesar sa fie inclus in lista sursa (de exemplu, install=$pkgname.install). changelog Specifica un fiier changelog care urmeaza sa fie inclus in pachet. Fiierul changelog trebuie sa se incheie cu o singura linie noua. Acest fiier trebuie sa se afle in acelai director ca PKGBUILD i va fi copiat in pachet de catre makepkg. Nu este necesar sa fie inclus in lista sursa (de exemplu, changelog=$pkgname.changelog). source (lista) O serie de fiiere sursa necesare pentru construirea pachetului. Fiierele sursa trebuie fie sa se afle in acelai director ca PKGBUILD, fie sa fie o adresa URL complet calificata pe care makepkg o poate utiliza pentru a descarca fiierul. Pentru a simplifica intreinerea PKGBUILD-urilor, utilizai variabilele $pkgname i $pkgver atunci cand specificai locaia de descarcare, daca este posibil. Fiierele comprimate vor fi extrase automat daca nu sunt gasite in lista noextract descrisa mai jos. Surse suplimentare specifice arhitecturii pot fi adaugate prin adaugarea unui caracter de subliniere i a numelui arhitecturii, de exemplu, source_x86_64=(). Trebuie sa existe o matrice de integritate corespunzatoare cu sume de control, de exemplu cksums_x86_64=(). De asemenea, este posibil sa se schimbe numele fiierului descarcat, ceea ce este util in cazul adreselor URL ciudate i pentru gestionarea mai multor fiiere sursa cu acelai nume. Sintaxa este: source=('filename::url'). makepkg suporta, de asemenea, construirea versiunilor de dezvoltare ale pachetelor folosind surse descarcate din sisteme de control al versiunilor (VCS). Pentru mai multe informaii, consultai seciunea <>, de mai jos. Fiierele din lista de surse cu extensiile .sig, .sign sau .asc sunt recunoscute de makepkg ca semnaturi PGP i vor fi utilizate automat pentru a verifica integritatea fiierului sursa corespunzator. validpgpkeys (lista) O lista de amprente digitale PGP. Daca aceasta lista nu este goala, makepkg va accepta numai semnaturi de la cheile enumerate aici i va ignora valorile de incredere din breloc. Daca fiierul sursa a fost semnat cu o subcheie, makepkg va utiliza in continuare cheia principala pentru comparaie. Sunt acceptate numai amprentele digitale complete. Acestea trebuie sa fie scrise cu majuscule i nu trebuie sa conina caractere de spaiu alb. noextract (lista) Un ir de nume de fiiere corespunzatoare celor din irul sursa. Fiierele enumerate aici nu vor fi extrase impreuna cu restul fiierelor sursa. Acest lucru este util pentru pachetele care utilizeaza direct date comprimate. cksums (camp) Aceasta linie conine sumele de control CRC (cksums) pentru fiecare fiier sursa specificat in linia sursa (in aceeai ordine). makepkg va utiliza aceasta linie pentru a verifica integritatea fiierelor sursa in timpul compilarilor ulterioare. Daca SKIP este pus in aceasta linie in locul unei sume de control, verificarea integritaii pentru fiierul sursa respectiv va fi omisa. Pentru a genera uor sume de control (cksums), executai <> PKGBUILD>>. Daca dorii, mutai linia sumelor de control intr-o locaie corespunzatoare. Reinei ca sumele de control generate de <> trebuie verificate folosind valorile sumelor de control furnizate de dezvoltatorul de software. md5sums, sha1sums, sha224sums, sha256sums, sha384sums, sha512sums, b2sums (camp) Verificari alternative de integritate acceptate de makepkg; toate acestea se comporta similar cu opiunea cksums descrisa mai sus. Pentru a permite utilizarea i generarea acestor sume de control, asigurai-va ca configurai opiunea INTEGRITY_CHECK in makepkg.conf(5). groups (lista) O lista de nume simbolice care reprezinta grupuri de pachete, permiandu-va sa instalai mai multe pachete prin solicitarea unui singur obiectiv. De exemplu, se pot instala toate pachetele KDE prin instalarea grupului kde. arch (lista) Definete pe ce arhitecturi este disponibil pachetul dat (de exemplu, arch=('i686' 'x86_64')). Pachetele care nu conin fiiere specifice arhitecturii trebuie sa utilizeze arch=('any'). Caracterele valide pentru membrii acestei serii sunt alfanumerice i ,,_". backup (lista) O lista de nume de fiiere, fara bare oblice la inceputul acestora, care ar trebui sa fie salvate daca pachetul este eliminat sau actualizat. Acest lucru este frecvent utilizat pentru pachetele care plaseaza fiiere de configurare in /etc. Consultai GESTIONAREA FIIERELOR DE CONFIGURARE in pacman(8) pentru mai multe informaii. depends (lista) O lista de pachete de care depinde acest pachet pentru a rula. Intrarile in aceasta lista trebuie sa fie incadrate cu ghilimele simple i sa conina cel puin numele pachetului. De asemenea, intrarile pot include o cerina de versiune de forma nume<>versiune, unde <> este una dintre cele cinci comparaii: >= (mai mare sau egal cu), <= (mai mic sau egal cu), = (egal cu), > (mai mare decat) sau < (mai mic decat). Daca numele dependenei pare a fi o biblioteca (se termina cu .so), makepkg va incerca sa gaseasca un binar care depinde de biblioteca in pachetul construit i va adauga versiunea necesara pentru binar. Adaugarea versiunii de catre dvs. iniva, dezactiveaza detectarea automata. Pot fi adaugate dependene suplimentare specifice arhitecturii prin adaugarea unui semn de subliniere i a numelui arhitecturii, de exemplu, depends_x86_64=(). makedepends (lista) O lista de pachete de care depinde acest pachet pentru a fi construit, dar care nu sunt necesare la momentul rularii. Pachetele din aceasta lista urmeaza acelai format ca i pachetele dependente. Se pot adauga dependene de construire (makedepends) suplimentare specifice arhitecturii prin adaugarea unei liniue de subliniere i a numelui arhitecturii, de exemplu, makedepends_x86_64=(). checkdepends (lista) O lista de pachete de care depinde acest pachet pentru a rula suita sa de teste, dar care nu sunt necesare in timpul rularii. Pachetele din aceasta lista urmeaza acelai format ca i ,,depends". Aceste dependene sunt luate in considerare numai atunci cand funcia check() este prezenta i trebuie sa fie executata de makepkg. Se pot adauga dependene de verificare ,,checkdepends" suplimentare specifice arhitecturii prin adaugarea unui semn de subliniere i a numelui arhitecturii, de exemplu, checkdepends_x86_64=(). optdepends (camp) O serie de pachete (i explicaiile aferente) care nu sunt eseniale pentru funcionalitatea de baza, dar pot fi necesare pentru a utiliza pe deplin coninutul acestui pachet. Dependenele opionale ,,optdepends" sunt in prezent doar in scopuri informative i nu sunt utilizate de pacman in timpul rezolvarii dependenelor. Pachetele din aceasta lista respecta acelai format ca i pachetele dependente ,,depends", cu o descriere opionala adaugata. Formatul pentru specificarea descrierilor optdepends este: optdepends=('python: for library bindings') Alte dependene opionale ,,optdepends" specifice arhitecturii pot fi adaugate prin adaugarea unui semn de subliniere i a numelui arhitecturii, de exemplu, optdepends_x86_64=(). conflicts (camp) O serie de pachete care vor intra in conflict cu acest pachet (adica nu pot fi instalate toate in acelai timp). Aceasta directiva urmeaza acelai format ca i ,,depends". Conflictele in funcie de versiune sunt acceptate utilizand operatorii descrii in ,,depends". Alte conflicte ,,conflicts" specifice arhitecturii pot fi adaugate prin adaugarea unei liniue de subliniere i a numelui arhitecturii, de exemplu, conflicts_x86_64=(). provides (camp) O serie de ,,dispoziii virtuale" pe care le ofera acest pachet. Acest lucru permite unui pachet sa furnizeze dependene altele decat propriul nume de pachet. De exemplu, pachetul dcron poate furniza cron, ceea ce permite pachetelor sa depinda de cron mai degraba decat de dcron OR fcron. De asemenea, sunt posibile dispoziii in versiune, in formatul nume=versiune. De exemplu, dcron poate furniza cron=2.0 pentru a satisface dependena cron>=2.0 a altor pachete. Dispoziiile care implica operatorii > i < nu sunt valabile, deoarece pot fi furnizate numai versiuni specifice ale unui pachet. Daca numele dispoziiei pare a fi o biblioteca (se termina cu .so), makepkg va incerca sa gaseasca biblioteca in pachetul construit i va adauga versiunea corecta. Adaugand versiunea dvs. iniva, dezactivai detectarea automata. Se pot adauga furnizari ,,provides" suplimentare specifice arhitecturii prin adaugarea unei liniue de subliniere i a numelui arhitecturii, de exemplu, provides_x86_64=(). replaces (lista) O lista de pachete pe care acest pachet ar trebui sa le inlocuiasca. Aceasta poate fi utilizata pentru a gestiona pachetele redenumite/combinate. De exemplu, daca pachetul j2re este redenumit in jre, aceasta directiva permite actualizarilor viitoare sa continue conform ateptarilor, chiar daca pachetul a fost mutat. Inlocuirile pe versiuni sunt acceptate utilizand operatorii descrii in ,,depends". Sysupgrade este in prezent singura operaie pacman care utilizeaza acest camp. O sincronizare sau o actualizare normala nu va utiliza valoarea acestuia. Se pot adauga inlocuiri ,,replaces" suplimentare specifice arhitecturii prin adaugarea unei liniue de subliniere i a numelui arhitecturii, de exemplu, replaces_x86_64=(). options (serie de opiuni) Aceasta lista va permite sa suprascriei unele dintre comportamentele implicite ale makepkg atunci cand construii pachete. Pentru a defini o opiune, trebuie doar sa includei numele opiunii in lista de opiuni. Pentru a inversa comportamentul implicit, plasai un ,,!" in faa opiunii. Specificai numai opiunile pe care dorii in mod specific sa le inlocuii, restul vor fi preluate din makepkg.conf(5). NOTA: force este o opiune eliminata acum in favoarea variabilei de nivel superior epoch. strip Indeparteaza simbolurile din binare i biblioteci. Daca folosii frecvent un depanator pentru programe sau biblioteci, poate fi util sa dezactivai aceasta opiune. docs Salvai directoarele doc. Daca dorii sa tergei directoarele doc, specificai !docs in lista. libtool Lasa fiierele libtool (.la) in pachete. Specificai !libtool pentru a le elimina. staticlibs Lasa fiierele de biblioteca statica (.a) in pachete. Specificai !staticlibs pentru a le elimina (daca au o contraparte partajata). emptydirs Lasa directoare goale in pachete. zipman Comprima paginile man i info cu gzip. ccache Permite utilizarea ccache in timpul build(). Mai utila in forma sa negativa !ccache cu pachete selectate care au probleme de compilare cu ccache. distcc Permite utilizarea distcc in timpul build() Mai utila in forma sa negativa !distcc cu pachete selectate care au probleme de compilare cu distcc. buildflags Permite utilizarea de fanioane de compilare ,,buildflags" specificate de utilizator (CPPFLAGS, CFLAGS, CXXFLAGS, LDFLAGS) in timpul build(), dupa cum se specifica in makepkg.conf(5). Mai utila in forma sa negativa !buildflags cu pachete selectate care au probleme de compilare cu ,,buildflags" personalizate. makeflags Permite utilizarea de fanioane de construcie ,,makeflags" specificate de utilizatori in timpul build(), dupa cum se specifica in makepkg.conf(5). Mai utila in forma sa negativa !makeflags cu pachete selectate care au probleme de compilare cu ,,makeflags" personalizate, cum ar fi -j2 (sau superior). debug Adauga fanioanele de depanare specificate de utilizator (DEBUG_CFLAGS, DEBUG_CXXFLAGS) la contrapartida lor ,,buildflags", dupa cum se specifica in makepkg.conf(5). Atunci cand este utilizata in combinaie cu opiunea ,,strip", este creat un pachet separat care conine simbolurile de depanare. lto Activeaza construirea de pachete folosind optimizarea timpului de legatura. Adauga -flto la CFLAGS i CXXFLAGS. FUNCII DE IMPACHETARE In plus faa de directivele de mai sus, PKGBUILD-urile necesita un set de funcii care ofera instruciuni pentru construirea i instalarea pachetului. PKGBUILD trebuie sa conina cel puin o funcie package() care instaleaza toate fiierele pachetului in directorul de impachetare, funciile opionale prepare(), build() i check() fiind utilizate pentru a crea aceste fiiere din sursa. Aceasta este direct furnizata i executata de makepkg, astfel incat tot ceea ce Bash sau sistemul are disponibil este disponibil pentru utilizare aici. Asigurai-va ca orice comenzi exotice utilizate sunt acoperite de lista ,,makedepends". Daca creai variabile proprii in oricare dintre aceste funcii, se recomanda utilizarea cuvantului-cheie local Bash pentru a defini variabila in interiorul funciei. Funcia package() Funcia package() este utilizata pentru a instala fiiere in directorul care va deveni directorul radacina al pachetului construit i este executata dupa toate funciile opionale enumerate mai jos. Etapa de impachetare este executata utilizand fakeroot pentru a asigura permisiunile corecte ale fiierelor in pachetul rezultat. Toate celelalte funcii vor fi executate ca utilizator care apeleaza makepkg. Aceasta funcie este executata in interiorul $srcdir. Funcia verify() O funcie opionala verify() poate fi specificata pentru a implementa o autentificare arbitrara a sursei. Funcia trebuie sa returneze un cod de ieire diferit de zero atunci cand verificarea eueaza. Aceasta funcie este executata inainte de extragerea surselor. Aceasta funcie este executata in interiorul $startdir. Funcia prepare() Se poate specifica o funcie opionala prepare() in care se efectueaza operaiuni de pregatire a surselor pentru compilare, cum ar fi aplicarea de plasturi (corecii). Aceasta funcie este executata dupa extragerea sursei i inainte de funcia build(). Funcia prepare() este omisa atunci cand extragerea sursei este omisa. Aceasta funcie este executata in interiorul $srcdir. Funcia build() Funcia opionala build() este utilizata pentru a compila i/sau ajusta fiierele sursa in vederea instalarii de catre funcia package(). Aceasta funcie este executata in interiorul $srcdir. Funcia check() Se poate specifica o funcie opionala check() in care poate fi rulata suita de teste a unui pachet. Aceasta funcie este executata intre funciile build() i package(). Asigurai-va ca orice comenzi ,,exotice" utilizate sunt acoperite de lista ,,checkdepends". Aceasta funcie este executata in interiorul $srcdir. Toate variabilele de mai sus, cum ar fi $pkgname i $pkgver, sunt disponibile pentru utilizare in funciile de impachetare. In plus, makepkg definete urmatoarele variabile: srcdir Aceasta conine directorul in care makepkg extrage sau copiaza toate fiierele sursa. pkgdir Aceasta conine directorul in care makepkg impacheteaza pachetul instalat. Acest director va deveni directorul radacina al pachetului construit. Aceasta variabila trebuie utilizata numai in funcia package(). startdir Aceasta conine ruta absoluta catre directorul in care se afla PKGBUILD, care este de obicei rezultatul $(pwd) atunci cand makepkg este iniiat. Utilizarea acestei variabile este depreciata i puternic descurajata. SCINDAREA PACHETULUI makepkg permite construirea mai multor pachete dintr-un singur PKGBUILD. Acest lucru se realizeaza prin atribuirea unei liste de nume de pachete directivei pkgname. Fiecare pachet scindat utilizeaza o funcie de impachetare corespunzatoare cu numele package_foo(), unde foo este numele pachetului scindat. Toate opiunile i directivele pentru pachetele scindate au implicit valorile globale indicate in PKGBUILD. Cu toate acestea, urmatoarele pot fi suprascrise in cadrul funciei de ambalare a fiecarui pachet scindat: pkgdesc, arch, url, license, groups, depends, optdepends, provides, conflicts, replaces, backup, options, install i changelog. Reinei ca makepkg nu ia in considerare dependenele pachetelor scindate atunci cand verifica daca dependenele sunt instalate inainte de construirea pachetului i cu ,,--syncdeps". Toate pachetele necesare pentru realizarea pachetului trebuie sa fie specificate in listele globale depends i makedepends. O directiva globala opionala este disponibila la construirea unui pachet scindat: pkgbase Numele utilizat pentru a face referire la grupul de pachete in rezultatul makepkg i in denumirea arhivelor-tar numai din codurile-sursa. Daca nu este specificat, se utilizeaza primul element din lista variabilei ,,pkgname". Caracterele valide pentru aceasta variabila sunt alfanumerice i oricare dintre urmatoarele caractere: ,,@ . _ + -". In plus, nu este permis ca variabila sa inceapa cu cratime sau puncte. SCRIPT DE INSTALARE/ACTUALIZARE/ELIMINARE Pacman are capacitatea de a stoca i executa un script specific pachetului atunci cand instaleaza, elimina sau actualizeaza un pachet. Acest lucru permite unui pachet sa se configureze singur dupa instalare i sa efectueze o aciune opusa la eliminare. Momentul exact in care scriptul este rulat variaza in funcie de fiecare operaie i ar trebui sa fie auto-explicativ. Reinei ca, in timpul unei operaii de actualizare, nu va fi apelata niciuna dintre funciile de instalare sau eliminare. Scripturilor le sunt transmise unul sau doua ,,iruri de versiuni complete", unde un ir de versiune completa este fie pkgver-pkgrel, fie epoch:pkgver-pkgrel, daca ,,epoch" este diferita de zero. pre_install Se executa chiar inainte de extragerea fiierelor. I se paseaza un argument: irul versiunii complete a noului pachet. post_install Se executa imediat dupa extragerea fiierelor. I se paseaza un argument: irul versiunii complete a noului pachet. pre_upgrade Se executa chiar inainte de extragerea fiierelor. Ii sunt pasate doua argumente in aceasta ordine: irul versiunii complete a pachetului nou, irul versiunii complete a pachetului vechi. post_upgrade Se executa dupa ce fiierele sunt extrase. Sunt pasate doua argumente in aceasta ordine: irul versiunii complete a pachetului nou, irul versiunii complete a pachetului vechi. pre_remove Se executa chiar inainte de eliminarea fiierelor. I se paseaza un argument: irul versiunii complete a vechiului pachet. post_remove Se executa imediat dupa eliminarea fiierelor. I se trece un argument: irul versiunii complete a pachetului vechi. Pentru a utiliza aceasta caracteristica, creai un fiier precum pkgname.install i punei-l in acelai director cu scriptul PKGBUILD. Apoi utilizai directiva <>: install=nume-pachet.install Scriptul de instalare nu trebuie sa fie specificat in lista de surse. Un fiier de instalare ablon este disponibil in /usr/share/pacman ca proto.install pentru referina cu toate funciile disponibile definite. UTILIZAREA SURSELOR VCS Construirea unei versiuni de dezvoltare a unui pachet folosind surse dintr-un sistem de control al versiunilor (VCS) este activata prin specificarea sursei de forma: source=('director::url#fragment?interogare') In prezent, makepkg accepta sistemele de control al versiunilor Bazaar, Git, Subversion, Fossil i Mercurial. Pentru alte sisteme de control al versiunilor, clonarea manuala a depozitelor din amonte trebuie efectuata in funcia prepare(). Unele surse VCS, cum ar fi Git, accepta fixarea ,,checkout-ului" printr-o suma de control a coninutului sau, utilizand funcionalitai de export deterministe, cum ar fi ,,git archive". Adresa URL a sursei este imparita in patru componente: director (opional) Specifica un nume de director alternativ in care makepkg sa descarce sursa VCS. url Adresa URL a depozitului VCS. Aceasta trebuie sa includa VCS in protocolul URL pentru ca makepkg sa o recunoasca ca sursa VCS. Daca protocolul nu include numele VCS, acesta poate fi adaugat prin prefixarea adresei URL cu vcs+. De exemplu, utilizarea unui depozit Git prin HTTPS ar avea o adresa URL a sursei sub forma: git+https://.... fragment (opional) Permite specificarea unui numar de revizuire sau a unei ramuri pentru ca makepkg sa faca ,,checkout" din VCS. Un fragment are forma tip=valoare; de exemplu, pentru a extrage o anumita revizuire, linia sursa ar fi source=(url#revision=123). Tipurile disponibile depind de VCS-ul utilizat: bzr revision (a se vedea <> pentru detalii) fossil branch, commit, tag git branch, commit, tag hg branch, revision, tag svn revision query (opional) Permite specificarea daca o verificare VCS ar trebui sa fie verificata pentru revizuirile semnate PGP. Linia sursa trebuie sa aiba formatul source=(url#fragment?signed) sau source=(url?signed#fragment). In prezent este acceptata doar de catre Git. EXEMPLU Ceea ce urmeaza, este un exemplu de PKGBUILD pentru pachetul patch. Pentru mai multe exemple, consultai fiierele de construire ale pachetelor din distribuia dumneavoastra. # Maintainer: Joe User pkgname=patch pkgver=2.7.1 pkgrel=1 pkgdesc="A utility to apply patch files to original sources" arch=('i686' 'x86_64') url="https://www.gnu.org/software/patch/patch.html" license=('GPL') groups=('base-devel') depends=('glibc') makedepends=('ed') optdepends=('ed: for "patch -e" functionality') source=("ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz"{,.sig}) sha256sums=('9124ba46db0abd873d0995c2ca880e81252676bb6c03e0a37dfc5f608a9b0ceb' 'SKIP') build() { cd "$srcdir/$pkgname-$pkgver" ./configure --prefix=/usr make } package() { cd "$srcdir/$pkgname-$pkgver" make DESTDIR="$pkgdir/" install } CONSULTAI I makepkg(8), pacman(8), makepkg.conf(5) Consultai situl web pacman la https://archlinux.org/pacman/ pentru informaii actuale despre <> i instrumentele sale conexe. ERORI Hibe? Probabil ca glumii; nu exista nicio hiba in acest software&. Dar daca se intampla sa fie ceva greit, depunei o cerere de rezolvare a problemei cu cat mai multe detalii posibile la: https://gitlab.archlinux.org/pacman/pacman/-/issues. AUTORI Responsabilii actuali: o Allan McRae o Andrew Gregory o Morgan Adamiec Contribuitori importani din trecut: o Judd Vinet o Aurelien Foret o Aaron Griffin o Dan McGee o Xavier Chantry o Nagy Gabor o Dave Reisner o Eli Schwartz Pentru contribuitori suplimentari, folosii <> in depozitul .git pacman. TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pacman 7.0.0 27 noiembrie 2024 PKGBUILD(5)