MAKEPKG(8)

NUME
makepkg - ustensilă de construire a pachetelor

SINOPSIS

makepkg [opțiuni] [VAR_MEDIU=valoare] [VAR_MEDIU+=valoare] ...

DESCRIERE

makepkg este un script pentru a automatiza crearea de pachete. Cerințele pentru utilizarea scriptului sunt o platformă *nix capabilă să construiască și un script de construire personalizat pentru fiecare pachet pe care doriți să îl construiți (cunoscut sub numele de PKGBUILD). Consultați PKGBUILD(5) pentru detalii despre crearea propriilor scripturi de construire.

Avantajul unei construiri bazate pe scripturi este că munca se face doar o dată. Odată ce aveți scriptul de construire pentru un pachet, makepkg va face restul: descarcă și validează fișierele sursă, verifică dependențele, configurează opțiunile pentru timpul de compilare, construiește pachetul, instalează pachetul într-o rădăcină temporară, face personalizări, generează meta-info și împachetează totul pentru a fi folosit de pacman.

    Notă

    makepkg folosește implicit configurația regională curentă și nu o dezactivează la compilarea pachetelor. Dacă doriți să împărtășiți rezultatul compilării cu alte persoane atunci când solicitați ajutor sau în alte scopuri, este posibil să rulați «LC_ALL=C makepkg» pentru ca jurnalele și rezultatele să nu fie sub o configurație regională în particular.

OPȚIUNI

-A, --ignorearch
    Ignoră un câmp de arhivă lipsă sau incomplet în scriptul de construcție. Acest lucru este necesar pentru reconstrucția pachetelor din sursă atunci când PKGBUILD poate fi ușor depășit și nu este actualizat cu un câmp arch="arhitectura-dvs".

-c, --clean
    Curăță fișierele și directoarele de lucru rămase după o construire reușită.

--config <fișier>
    Utilizează un fișier de configurare alternativ în locul fișierului implicit /etc/makepkg.conf.

-d, --nodeps
    Nu efectuează nicio verificare a dependențelor. Acest lucru vă va permite să anulați și să ignorați orice dependențe solicitate. Există o mare probabilitate ca această opțiune să întrerupă procesul de compilare dacă nu sunt instalate toate dependențele.

-e, --noextract
    Nu extrage fișierele sursă și nu rulează funcția prepare() (dacă este prezentă); folosește orice sursă care există deja în directorul $srcdir/. Acest lucru este util în cazul în care doriți să intrați în $srcdir/ și să modificați manual codul, apoi să creați un pachet din rezultatul obținut. Rețineți că a crea un plasture (corecție) poate fi o soluție mai bună pentru a permite altora să utilizeze PKGBUILD.

--verifysource
    Pentru fiecare fișier sursă din matricea sursă a PKGBUILD, descarcă fișierul, dacă este necesar, și efectuează verificările de integritate. Nu se efectuează nici o extragere sau construire. Dependențele specificate în PKGBUILD nu vor fi gestionate decât dacă se utilizează --syncdeps. Util pentru a efectua compilări ulterioare fără conexiune la rețea.

-f, --force
    «makepkg» nu va construi un pachet dacă există deja un pachet construit în directorul PKGDEST ( definit în makepkg.conf(5)), care poate fi implicit directorul curent. Această opțiune permite ca pachetul construit să fie suprascris.

-g, --geninteg
    Pentru fiecare fișier sursă din matricea sursă a PKGBUILD, descarcă fișierul, dacă este necesar, și generează verificări de integritate. Verificările de integritate generate sunt determinate de verificările prezente în PKGBUILD, revenind la valoarea matricei INTEGRITY_CHECK din makepkg.conf(5) în cazul în care acestea sunt absente. Această ieșire poate fi redirecționată în PKGBUILD pentru validarea sursei utilizând «makepkg -g >> PKGBUILD».

--skipinteg
    Nu efectuează verificări de integritate (sumă de control și PGP) asupra fișierelor sursă.

--skipchecksums
    Nu verifică sumele de control ale fișierelor sursă.

--skippgpcheck
    Nu verifică semnăturile PGP ale fișierelor sursă.

-h, --help
    Afișează sintaxa și opțiunile liniei de comandă.

--holdver
    La utilizarea surselor VCS (PKGBUILD(5)), orice sursă verificată în prezent nu va fi actualizată la cea mai recentă revizuire.

-i, --install
    Instalează sau actualizează pachetul după o construire reușită folosind pacman(8).

-L, --log
    Activează jurnalizarea. Aceasta va utiliza programul tee pentru a trimite ieșirea fiecărei funcții PKGBUILD atât la consolă, cât și la un fișier text din directorul de construcție numit pkgbase-pkgver-pkgrel-arch-<function>.log. După cum s-a menționat mai sus, jurnalele vor fi localizate, așa că este posibil să doriți să vă definiți configurația regională în mod corespunzător dacă partajați ieșirea jurnalului cu alții.

-m, --nocolor
    Dezactivează culoarea în mesajele de ieșire.

-o, --nobuild
    Descarcă și extrage fișierele, execută funcția prepare(), dar nu le construiește. Utilă cu opțiunea --noextract dacă doriți să modificați fișierele din $srcdir/ înainte de a construi.

-p <script-construire>
    Citește scriptul de compilare a pachetului în locul scriptului PKGBUILD implicit; a se vedea PKGBUILD(5). Scriptul de construire trebuie să fie localizat în directorul din care este apelat «makepkg».

-r, --rmdeps
    După construirea cu succes, elimină toate dependențele instalate de «makepkg» în timpul rezolvării automate a dependențelor și a instalării atunci când se utilizează opțiunea „-s”.

-R, --repackage
    Reîmpachetează conținutul pachetului fără a reconstrui pachetul. Acest lucru este util în cazul în care ați uitat, de exemplu, o dependență sau un fișier de instalare în PKGBUILD, iar construirea în sine nu se va modifica.

-s, --syncdeps
    Instalează dependențele lipsă folosind «pacman». Atunci când dependențele din timpul de compilare sau de execuție nu sunt găsite, «pacman» va încerca să le rezolve. Dacă reușește, pachetele lipsă vor fi descărcate și instalate.

-S, --source
    Nu construiește efectiv pachetul, ci construiește o arhivă împachetată „tarball” numai pentru surse care nu include sursele care pot fi obținute prin intermediul unui URL de descărcare. Acest lucru este util pentru a transmite o singură arhivă împachetată către un alt program, cum ar fi un chroot, un constructor de la distanță sau un încărcător de tarball. Deoarece se verifică integritatea, toate fișierele sursă ale pachetului trebuie să fie prezente sau să poată fi descărcate.

-V, --version
    Afișează informațiile despre versiune..

-C, --cleanbuild
    Curăță artefactele de construcție din execuțiile anterioare ale makepkg în directorul curent prin eliminarea $srcdir înainte de construirea pachetului.

-D <director>, --dir <director>
    Trece în directorul <director> înainte de a citi PKGBUILD sau de a face orice altceva.

--allsource
    Nu construiește efectiv pachetul, ci construiește o arhivă împachetată „tarball” care include toate sursele, inclusiv cele care sunt descărcate în mod normal prin «makepkg». Acest lucru este util pentru a transmite o singură arhivă „tarball” către un alt program, cum ar fi un chroot sau un constructor de la distanță. De asemenea, va satisface cerințele GPL atunci când distribuiți pachete binare.

--check
    Rulează funcția check() în PKGBUILD, înlocuind definiția din makepkg.conf(5).

--noarchive
    Nu creează arhiva la sfârșitul procesului de construire. Acest lucru poate fi util pentru a testa funcția package() sau dacă distribuția țintă nu utilizează «pacman».

--nocheck
    Nu execută funcția check() în PKGBUILD și nu procesează „checkdepends” (verificarea dependențelor).

--noprepare
    Nu execută funcția prepare() în PKGBUILD.

--noverify
    Nu execută funcția verify() în PKGBUILD.

--sign
    Semnează pachetul rezultat cu gpg, suprascriind configurarea din makepkg.conf(5).

--nosign
    Nu creează o semnătură pentru pachetul construit.

--key <cheie>
    Specifică o cheie de utilizat la semnarea pachetelor, înlocuind valoarea opțiunii GPGKEY din makepkg.conf(5). Dacă nu este specificată în niciuna dintre locații, se va utiliza cheia implicită din inelul de chei.

--noconfirm
    (Pasată către «pacman»). Împiedică «pacman» să aștepte intervenția utilizatorului înainte de a continua cu operațiile.

--needed
    (Pasată către «pacman»). Îi indică lui «pacman» să nu reinstaleze o țintă dacă aceasta este deja actualizată&. (folosită cu -i / --install).

--asdeps
    (Pasată către «pacman»). Instalează pachetele ca fiind instalate în mod neexplicit (folosită cu -i / --install).

--noprogressbar
    (Pasată către «pacman»). Împiedică «pacman» să afișeze o bară de progres; util dacă redirecționați ieșirea «makepkg» către un fișier.

--packagelist
    Listează numele fișierelor pachetului care ar fi fost produse fără construire. Numele fișierelor listate ale pachetului includ PKGDEST și PKGEXT.

--printsrcinfo
    Generează și imprimă fișierul SRCINFO la ieșirea standard.

CARACTERISTICI SUPLIMENTARE

«makepkg» permite construirea de versiuni de dezvoltare a pachetelor fără a fi nevoie să actualizați manual „pkgver” (versiunea pachetului) din PKGBUILD. Anterior, acest lucru se făcea cu ajutorul instrumentului separat versionpkg. A se vedea PKGBUILD(5) pentru detalii despre cum se configurează un PKGBUILD de dezvoltare.

REPRODUCTIBILITATE

«makepkg» este conceput pentru a fi compatibil cu „Reproducible Builds” (construcții reproductibile). Dacă variabila de mediu SOURCE_DATE_EPOCH este definită, aceasta va fi exportată în subprocese, iar orele de modificare a fișierelor sursă și a pachetelor și metadatele pachetelor vor fi unificate pe baza mărcii de timp specificate.

Dacă variabila de mediu SOURCE_DATE_EPOCH nu este definită, «makepkg» va utiliza propria dată de început pentru uz intern, dar nu va unifica marcajele temporale ale fișierelor sursă înainte de construire.

VARIABILE DE MEDIU

MAKEPKG_LIBRARY="/ruta/la/director"
    Utilizează o rută alternativă pentru „libmakepkg” în locul celei implicite „/usr/share/makepkg”.

PACMAN
    Comanda care va fi folosită pentru a verifica dacă lipsesc dependențele și pentru a instala și elimina pachetele. Operațiile «pacman» -Qq, -Rns, -S, -T și -U trebuie să fie acceptate de această comandă. Dacă variabila nu este definită sau este goală, «makepkg» va reveni la «pacman».

MAKEPKG_CONF="/ruta/la/fișier"
    Utilizează un fișier de configurare alternativ în locul fișierului „/etc/makepkg.conf” implicit.

PKGDEST="/ruta/la/director"
    Directorul în care vor fi stocate pachetele rezultate. Suprascrie valoarea corespunzătoare definită în makepkg.conf(5).

SRCDEST="/ruta/la/director"
    Directorul în care vor fi stocate sursele descărcate. Suprascrie valoarea corespunzătoare definită în makepkg.conf(5).

SRCPKGDEST="/ruta/la/director"
    Directorul în care vor fi stocate fișierele pachetului sursă. Suprascrie valoarea corespunzătoare definită în makepkg.conf(5).

LOGDEST="/ruta/la/director"
    Directorul în care vor fi stocate fișierele de jurnal generate. Suprascrie valoarea corespunzătoare definită în makepkg.conf(5).

PACKAGER="Adrian Iscusitul <adrian@iscusitul.com>"
    Șir de caractere pentru a identifica creatorul pachetului rezultat. Suprascrie valoarea corespunzătoare definită în makepkg.conf(5).

BUILDDIR="/ruta/la/director"
    Directorul în care va fi construit pachetul. Suprascrie valoarea corespunzătoare definită în makepkg.conf(5).

CARCH="(i686|x86_64)"
    Forțează construirea pentru o anumită arhitectură. Util pentru compilarea încrucișată. Suprascrie valoarea corespunzătoare definită în makepkg.conf(5).

PKGEXT=".pkg.tar.gz", SRCEXT=".src.tar.gz"
    Stabilește comprimarea utilizată atunci când se creează pachete compilate sau sursă. Suprascrie valoarea corespunzătoare definită în makepkg.conf(5).

GNUPGHOME="/ruta/la/director"
    Directorul în care se stochează cheia gpg pentru semnarea pachetului construit.

GPGKEY="id-cheie"
    Specifică o cheie de utilizat la semnarea pachetelor, înlocuind valoarea definită pentru GPGKEY în makepkg.conf(5).

SOURCE_DATE_EPOCH="<data>"
    Utilizată pentru construcțiile reproductibile.

BUILDTOOL="<nume>"
    Numele unui ecosistem de instrumente utilizat pentru a configura mediul de construcție. Utilizat pentru definirea unei specificații pentru construcții reproductibile, de exemplu, makepkg.conf(5) utilizat.

BUILDTOOLVER="<versiunea>"
    Versiunea de $BUILDTOOL folosită.

MAKEPKG_LINT_PKGBUILD=0
    Stabilirea la 0 dezactivează identificarea PKGBUILD în cadrul makepkg. Util pe sistemele cu operații lente ale subshell-ului bash sau pe PKGBUILD-urile cu cantități extreme de pachete divizate.

CONFIGURARE

Consultați makepkg.conf(5) pentru mai multe detalii despre configurarea «makepkg» folosind fișierul makepkg.conf.

ERORI-IEȘIRE

La ieșire, «makepkg» va returna unul dintre următoarele coduri de eroare.

0
    Condiție normală de ieșire.

1
    Cauza necunoscută a eșecului.

2
    Eroare în fișierul de configurare.

3
    Utilizatorul a specificat o opțiune nevalidă.

4
    Eroare în funcția furnizată de utilizator în PKGBUILD.

5
    Nu s-a reușit să se creeze un pachet viabil.

6
    Un fișier sursă sau auxiliar specificat în PKGBUILD lipsește.

7
    Directorul definit de PKGDIR lipsește.

8
    A eșuat instalarea dependențelor.

9
    Eliminarea dependențelor a eșuat.

10
    Utilizatorul a încercat să ruleze «makepkg» ca root.

11
    Utilizatorul nu are permisiuni pentru a construi sau instala într-o anumită locație.

12
    Eroare la analizarea PKGBUILD.

13
    Pachetul a fost deja construit.

14
    Instalarea pachetului a eșuat.

15
    Programele necesare pentru a rula «makepkg» lipsesc.

16
    Cheia GPG specificată nu există sau nu a reușit să semneze pachetul.

17
    Depozitul local nu este o clonă a depozitului sursă specificat în PKGBUILD.

CONSULTAȚI ȘI

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

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.