MAKEPKG(8) Manualul Pacman MAKEPKG(8)

makepkg - ustensilă de construire a pachetelor

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

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.

-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

Elimină $srcdir înainte de a construi pachetul.

-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.

«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.

«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.

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ă.

GITFLAGS

Opțiunile care trebuie pasate atunci când se verifică sursele git, înlocuind opțiunea implicită „--mirror”.

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.

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.

Hibe (erori)? Glumiți; nu există erori în acest software. Dar dacă se întâmplă să apară greșeli, trimiteți un raport de eroare cu cât mai multe detalii posibil la sistemul de urmărire a erorilor al Arch Linux (Arch Linux Bug Tracker) din secțiunea Pacman.

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.

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 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.

15 martie 2024 Pacman 6.1.0