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