MAKEPKG.CONF(5)

NUME
makepkg.conf - fișierul de configurare al «makepkg»

SINOPSIS

/etc/makepkg.conf, $XDG_CONFIG_HOME/pacman/makepkg.conf, ~/.makepkg.conf

DESCRIERE

Opțiunile de configurare pentru «makepkg» sunt stocate în makepkg.conf. Acest fișier este configurabil, astfel încât să puteți include orice fanioane speciale de compilare pe care doriți să îi utilizați. Acest lucru este util atunci când construiți pentru diferite arhitecturi sau cu diferite optimizări. Cu toate acestea, numai variabilele descrise mai jos sunt exportate în mediul de compilare.

    Notă

    Acest lucru nu garantează că toate fișierele Makefile ale pachetului vor utiliza variabilele exportate de dvs. Unele dintre ele sunt non-standard.

Fișierul de configurare la nivel de sistem se găsește în /etc/makepkg.conf. Adăugiri specifice (de exemplu, fanioane de compilare pentru limbi suplimentare) pot fi plasate în /etc/makepkg.conf.d/*.conf.

Opțiunile individuale pot fi anulate (sau adăugate) pentru fiecare utilizator în $XDG_CONFIG_HOME/pacman/makepkg.conf sau ~/.makepkg.conf, primul fișier având prioritate.

Fișierul implicit este destul de bine comentat, așa că cel mai simplu ar fi să urmați instrucțiunile date acolo pentru personalizare.

OPȚIUNI

DLAGENTS=(„protocol::/ruta/către/comandă [opțiuni]” ...)
    Stabilește agenții de descărcare utilizați pentru a prelua fișierele sursă specificate cu o adresă URL în fișierul PKGBUILD(5). De asemenea, se pot specifica opțiuni pentru fiecare comandă, iar orice protocol poate avea un agent de descărcare. Orice spațiu din argumentele opțiunilor trebuie să fie eludat pentru a evita să fie divizat. Mai multe exemple sunt furnizate în fișierul implicit makepkg.conf. Dacă este prezent, %u va fi înlocuit cu URL-ul de descărcare. În caz contrar, URL-ul de descărcare va fi plasat la sfârșitul comenzii. Dacă este prezent, %o va fi înlocuit cu numele fișierului local, plus o extensie „.part”, care permite «makepkg» să se ocupe de reluarea descărcărilor de fișiere.

VCSCLIENTS=(„protocol::pachet” ...)
    Stabilește pachetele necesare pentru a prelua fișierele sursă cu versiunea cerută. Atunci când este necesar, «makepkg» va verifica dacă aceste pachete sunt instalate sau dacă sunt incluse în matricele „depends” (depinde) sau makedepends din PKGBUILD.

CARCH="arhitectura-calculatorului"
    Specifică arhitectura computerului; valorile posibile includ lucruri precum „i686”, „x86_64”, „ppc”, etc. Acest lucru ar trebui să fie configurat automat la instalare.

CHOST="gazda-calculatorului"
    Un șir de caractere cum ar fi „i686-pc-linux-gnu”; nu atingeți acest lucru decât dacă știți ce faceți. Acesta poate fi comentat de majoritatea utilizatorilor, dacă se dorește.

NPROC=""
    Stabilește numărul de procesoare care vor fi utilizate pentru sarcini paralele în makepkg. Notă: acest lucru nu afectează paralelizarea sarcinilor în timpul „build()” și a funcțiilor asociate.

CPPFLAGS="fanioane-cpp"
    Fanioane utilizate pentru preprocesorul C; a se vedea CFLAGS pentru mai multe informații.

CFLAGS="fanioane-c"
    Fanioane utilizate pentru compilatorul C. Aceasta este o parte esențială pentru utilizarea «makepkg». De obicei, sunt specificate mai multe opțiuni, iar cel mai frecvent șir seamănă cu ceva de genul acesta: „march=i686 -O2 -pipe”. O altă opțiune utilă poate fi „-mcpu” în loc de „-march”. Citiți gcc(1) pentru mai multe detalii despre marea varietate de fanioane de compilare disponibile.

CXXFLAGS="fanioane-cxx"
    Fanioane utilizate pentru compilatorul C++; a se vedea CFLAGS pentru mai multe informații.

LDFLAGS="fanioane-ld"
    Fanioane utilizate pentru editorul de legături. Se pot specifica mai multe opțiuni, utilizarea obișnuită fiind asemănătoare cu „-Wl,--hash-style=gnu”. Citiți ld(1) pentru mai multe detalii despre fanioanele disponibile pentru editorul de legături.

LTOFLAGS="fanioane-lto"
    Fanioane suplimentare de compilator și editor de legături adăugate la CFLAGS, CXXFLAGS și LDFLAGS atunci când se construiește cu optimizare în timpul legăturii. Dacă este gol, se utilizează „-flto”.

MAKEFLAGS="fanioane-make"
    Acesta este adesea utilizat pentru a stabili numărul de lucrări utilizate; de exemplu, -j2. Pot fi pasate și alte fanioane pe care «make» le acceptă.

DEBUG_CFLAGS="fanioane-c_de-depanare"
    Fanioane de compilator suplimentare adăugate la CFLAGS pentru a fi utilizate la depanare. De obicei, acestea includ: „-g”. Citiți gcc(1) pentru mai multe detalii despre marea varietate de fanioane de compilare disponibile.

DEBUG_CXXFLAGS="fanioane-cxx_de-depanare"
    Fanioane utilizate pentru compilatorul C++; a se vedea DEBUG_CFLAGS pentru mai multe informații.

BUILDENV=(!distcc !color !ccache check !sign)
    Această matrice conține opțiuni care afectează mediul de compilare; valorile implicite sunt afișate aici. Toate opțiunile trebuie lăsate întotdeauna în matrice; pentru a activa sau dezactiva o opțiune, este suficient să eliminați sau să adăugați un „!” în fața opțiunii. În cazul în care o opțiune este specificată de mai multe ori, valoarea finală are prioritate. Fiecare opțiune funcționează după cum urmează:

    distcc
        Utilizează compilatorul C/C++/ObjC distribuit pentru a distribui compilarea între mai multe mașini. Dacă această opțiune este activată, trebuie să se specifice de asemenea și DISTCC_HOSTS.

    color - culoare
        Colorează mesajele de ieșire, facilitând citirea acestora.

    ccache
        Utilizează «ccache» pentru a stoca în memoria cache compilarea implicită. Acest lucru permite compilări mai rapide dacă recompilați în mod continuu aceleași pachete. Poate fi dezactivată pentru pachete individuale prin plasarea lui !ccache în matricea de opțiuni PKGBUILD.

    check
        Execută funcția check() dacă este prezentă în PKGBUILD. Această funcție poate fi activată sau dezactivată pentru pachete individuale prin utilizarea opțiunilor «makepkg» --check și --nocheck, respectiv.

    sign
        Generează un fișier de semnătură PGP utilizând GnuPG. Aceasta va executa gpg --detach-sign pe pachetul construit pentru a genera un fișier de semnătură detașat, utilizând agentul GPG, dacă acesta este disponibil. Fișierul de semnătură va fi întregul nume de fișier al pachetului cu o extensie „&.sig”.

DISTCC_HOSTS="gazda1 ..."
    În cazul în care se utilizează DistCC, se utilizează pentru a specifica o listă delimitată prin spații de gazde care rulează în clusterul DistCC. În plus, veți dori să modificați MAKEFLAGS.

BUILDDIR="/ruta/la/director"
    Dacă această valoare nu este definită, pachetele vor fi construite, în mod implicit, în subdirectoare ale directorului din care este apelat «makepkg». Această opțiune permite definirea locației de construire într-un alt director. Folosirea incorectă a $startdir într-un PKGBUILD poate face ca compilarea cu această opțiune să eșueze.

GPGKEY=""
    Specifică o cheie care să fie utilizată pentru semnarea GPG în locul cheii implicite din inelul de chei. Poate fi suprascrisă cu opțiunea --key din «makepkg».

OPTIONS=(!strip docs libtool staticlibs emptydirs ...)
    Această matrice conține opțiunile care afectează împachetarea implicită. Acestea sunt echivalente cu opțiunile care pot fi plasate în PKGBUILD; valorile implicite sunt afișate aici. Toate opțiunile trebuie lăsate întotdeauna în matrice; pentru a activa sau dezactiva o opțiune, este suficient să eliminați sau să adăugați un „!” în fața opțiunii. În cazul în care o opțiune este specificată de mai multe ori, valoarea finală are prioritate. Fiecare opțiune funcționează după cum urmează:

    strip
        Îndepărtează simbolurile din binare și biblioteci. Dacă folosiți frecvent un depanator pentru programe sau biblioteci, poate fi util să dezactivați această opțiune.

    docs
        Salvează directoarele de documente. Dacă doriți să ștergeți directoarele de documente, specificați !docs în matrice. Directoarele afectate sunt specificate de variabila DOC_DIRS.

    libtool
        Lasă fișierele libtool (.la) în pachete. Specificați !libtool pentru a le elimina.

    staticlibs
        Lasă fișierele de bibliotecă statică (.a) în pachete. Specificați !staticlibs pentru a le elimina, dacă au un corespondent partajat.

    emptydirs
        Lasă directoare goale în pachete.

    zipman
        Comprimă paginile de manual (man și info) cu gzip. Directoarele afectate sunt specificate de variabila MAN_DIRS.

    purge
        Elimină din pachet fișierele specificate de variabila PURGE_TARGETS.

    debug
        Adaugă fanioanele de depanare specificate de utilizator în DEBUG_CFLAGS și DEBUG_CXXFLAGS la omologii lor buildflags. Creează un pachet separat care conține simbolurile de depanare atunci când este utilizată cu „strip”.

    lto
        Activează construirea de pachete folosind optimizarea timpului de legătură. Adaugă fanioanele specificate în LTOFLAGS la CFLAGS, CXXFLAGS și LDFLAGS (sau „-flto” dacă LTOFLAGS este gol).

    autodeps
        Activează adăugarea automată a bibliotecilor la matricele „depends” (depinde) și „provides” (furnizează). Căutarea directoarelor de biblioteci este controlată de variabila LIB_DIRS definită mai jos.

INTEGRITY_CHECK=(control1 ...)
    Verificările de integritate a fișierelor care trebuie utilizate. Se pot specifica mai multe verificări; acest lucru afectează atât generarea, cât și verificarea. Opțiunile valabile în prezent sunt: ck, md5, sha1, sha224, sha256, sha384, sha512 și b2.

STRIP_BINARIES="--strip-all"
    Opțiuni care trebuie utilizate la curățarea binarelor. A se vedea strip(1) pentru detalii.

STRIP_SHARED="--strip-unneeded"
    Opțiuni care trebuie utilizate la curățarea bibliotecilor partajate sau a executabilelor PIE. A se vedea strip(1) pentru detalii.

STRIP_STATIC="--strip-debug"
    Opțiuni care trebuie utilizate la curățarea bibliotecilor statice. A se vedea strip(1) pentru detalii.

MAN_DIRS=(usr{,/local}{,/share}/{man,info} ...)
    Dacă zipman este specificat în matricea OPTIONS, această variabilă îi va indica lui «makepkg» unde să caute pentru a comprima paginile de manual (man și info). Dacă construiți pachete care se află în opt/, este posibil să fie necesar să adăugați directorul la această matrice. NOTĂ: Nu adăugați bara oblică de început la numele directorului.

DOC_DIRS=(usr/{,share/}{doc,gtk-doc} ...)
    Dacă !docs este specificată în matricea OPTIONS, această variabilă îi va indica lui «makepkg» unde să caute pentru a elimina docs. Dacă construiți pachete care se află în opt/, este posibil să fie necesar să adăugați directorul la această matrice. NOTĂ: Nu adăugați bara oblică de început la numele directorului.

LIB_DIRS=(lib:usr/lib ...)
    Dacă autodeps este specificată în matricea OPTIONS, această variabilă îi va indica lui makepkg unde să caute biblioteci pentru a le adăuga la matricea „provides”. Formatul este „prefix:ruta”, unde „provides” va fi adăugată pentru bibliotecile găsite în „rută” cu prefixul specificat adăugat.

PURGE_TARGETS=(usr/{,share}/info/dir .podlist *.pod...)
    Dacă se specifică „purge” în matricea OPTIONS, această variabilă va indica makepkg ce fișiere trebuie să elimine din pachet. Acest lucru este util pentru fișierele de indexare care sunt adăugate de mai multe pachete.

DBGSRCDIR="/usr/src/debug"
    Dacă „strip” și „debug” sunt specificate în matricea OPTIONS, această variabilă îi va indica lui «makepkg» unde să plaseze fișierele sursă pentru fișierele binare instalate. Binarele vor fi modificate pentru a lega acest director pentru ruta de căutare a depanatorului.

PKGDEST="/ruta/la/director"
    Dacă această valoare nu este definită, pachetele vor fi plasate, în mod implicit, în directorul curent (locația PKGBUILD(5)). Multe persoane preferă să își păstreze toate pachetele într-un singur loc, astfel încât această opțiune permite acest comportament. O locație obișnuită este „/home/packages”.

SRCDEST="/ruta/la/director"
    Dacă această valoare nu este definită, fișierele sursă descărcate vor fi stocate numai în directorul curent. Multe persoane doresc să păstreze toate fișierele sursă într-o locație centrală pentru o curățare ușoară, astfel încât această rută poate fi definită aici.

SRCPKGDEST="/ruta/la/director"
    Dacă această valoare nu este definită, fișierele pachetului sursă vor fi stocate în directorul curent. Multe persoane doresc să păstreze toate fișierele pachetului sursă într-o locație centrală pentru o curățare ușoară, astfel încât această rută poate fi definită aici.

LOGDEST="/ruta/la/director"
    Dacă această valoare nu este definită, fișierele de jurnal sunt scrise în directorul curent. Acest lucru centralizează locația jurnalului, facilitând curățarea și comprimarea.

PACKAGER="Adrian Iscusitul <adrian@iscusitul.com>"
    Această valoare este utilizată atunci când se interoghează un pachet pentru a vedea cine a fost constructorul. Formatul dat este necesar pentru căutarea cheilor PGP prin WKD. Se recomandă să schimbați această valoare cu numele și adresa dvs. de poștă electronică.

COMPRESSGZ="(gzip -c -f -n)", COMPRESSBZ2="(bzip2 -c -f)", COMPRESSXZ="(xz -c -z -)", COMPRESSZST="(zstd -c -z -)", COMPRESSLZO"(lzop -q)", COMPRESSLRZ="(lrzip -q)", COMPRESSLZ4="(lz4 -q)", COMPRESSZ="(compress -c -f)", COMPRESSLZ="(lzip -c -f)"
    Stabilește comanda și opțiunile utilizate la comprimarea pachetelor compilate sau sursă în formatul numit.

PKGEXT=".pkg.tar.gz", SRCEXT=".src.tar.gz"
    Stabilește comprimarea utilizată atunci când se creează pachete compilate sau sursă. Sufixele valide sunt .pkg sau .src (pentru PKGEXT și SRCEXT, respectiv) urmate de unul dintre următoarele sufixe: .tar.gz, .tar.bz2, .tar.xz, .tar.xz, . tar.zst, .tar.lzo, .tar.lrz, .tar.lz4, .tar.lz și .tar.Z, sau pur și simplu .tar pentru a dezactiva în întregime comprimarea.

PACMAN_AUTH=()
    Specifică un prefix de comandă pentru a rula «pacman» ca root. Dacă nu este definită, «makepkg» va verifica pe rând prezența sudo(8) și su(1) și va încerca prima pe care o găsește. Dacă este prezentă, %c va fi înlocuită cu forma citată de shell a comenzii de executat. În caz contrar, comanda care urmează să fie executată este adăugată la comanda auth.

CONSULTAȚI ȘI

makepkg(8), pacman(8), PKGBUILD(5)

Consultați situl web pacman la https://archlinux.org/pacman/ pentru informații actuale despre «pacman» și instrumentele sale conexe.

ERORI

Hibe? Probabil că glumiți; nu există nicio hibă în acest software&. Dar dacă se întâmplă să fie ceva greșit, depuneți o cerere de rezolvare a problemei cu cât mai multe detalii posibile la: https://gitlab.archlinux.org/pacman/pacman/-/issues.

AUTORI

Responsabilii actuali:

    • Allan McRae <allan@archlinux.org>

    • Andrew Gregory <andrew.gregory.8@gmail.com>

    • Morgan Adamiec <morganamilo@archlinux.org>

Contribuitori importanți din trecut:

    • Judd Vinet <jvinet@zeroflux.org>

    • Aurelien Foret <aurelien@archlinux.org>

    • Aaron Griffin <aaron@archlinux.org>

    • Dan McGee <dan@archlinux.org>

    • Xavier Chantry <shiningxc@gmail.com>

    • Nagy Gabor <ngaba@bibl.u-szeged.hu>

    • Dave Reisner <dreisner@archlinux.org>

    • Eli Schwartz <eschwartz@archlinux.org>

Pentru contribuitori suplimentari, folosiți «git shortlog -s» în depozitul .git pacman.

TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.