rpmbuild - construiește pachetul(ele) RPM
rpmbuild {-ba|-bb|-bp|-bf|-bc|-bi|-bl|-bs|-br|-bd}
[opțiuni-rpmbuild] FIȘIER_SPEC ...
rpmbuild {-ra|-rb|-rp|-rf|-rc|-ri|-rl|-rs|-rr|-rd}
[opțiuni-rpmbuild] PACHET_SURSĂ ...
rpmbuild {-ta|-tb|-tp|-tf|-tc|-ti|-tl|-ts|-tr|-td}
[opțiuni-rpmbuild] TARBALL ...
rpmbuild {--rebuild|--recompile}
PACHET_SURSĂ ...
[--buildroot DIRECTOR] [--clean]
[--nobuild] [--rmsource] [--rmspec]
[--short-circuit] [--build-in-place] [--noprep]
[--noclean] [--nocheck] [--rpmfcdebug] [--target
PLATFORMA] [--with OPȚIUNE] [--without
OPȚIUNE]
rpmbuild este utilizat pentru a construi atât
pachete software binare, cât și surse. Un pachet
constă dintr-o arhivă de fișiere și metadate
utilizate pentru instalarea și ștergerea fișierelor
arhivei. Metadatele includ scripturi ajutătoare, atribute ale
fișierelor și informații descriptive despre pachet.
Pachetele vin în două varietăți: pachete
binare, utilizate pentru a încapsula software-ul care urmează
să fie instalat, și pachete sursă, care conțin
codul sursă și rețeta necesară pentru a produce
pachete binare.
Trebuie selectat unul dintre următoarele moduri de
bază: Build Package, Build Package from Tarball,
Recompile Package, Show Configuration..
OPȚIUNI GENERALE
Aceste opțiuni pot fi utilizate în toate modurile
diferite.
- -?, --help
- Imprimă un mesaj de utilizare mai lung decât în mod
normal.
- --version
- Imprimă o singură linie care conține numărul
versiunii de rpm utilizate.
- --quiet
- Imprimă cât mai puțin posibil - în mod normal,
vor fi afișate doar mesajele de eroare.
- -v
- Imprimă informații detaliate - în mod normal, vor fi
afișate mesaje de rutină privind progresul.
- -vv
- Imprimă o mulțime de informații de depanare
neplăcute.
- --rpmfcdebug
- Activează generarea de dependențe de depanare.
- --rcfile
]LISTĂ-FIȘIERE
- Înlocuiește lista implicită de fișiere de
configurare care urmează să fie citite cu
LISTĂ-FIȘIERE. Consultați rpmrc
Configuration în rpm(8) pentru detalii.
- --load
FIȘIER
- Încarcă un fișier macro individual.
- --macros
LISTĂ-FIȘIERE
- Înlocuiește lista de fișiere macro care
urmează să fie încărcate cu
LISTĂ-FIȘIERE. Consultați Macro
Configuration în rpm(8) pentru detalii.
- --pipe
COMANDA
- Transmite ieșirea lui rpm către comanda
COMANDA.
- --dbpath
DIRECTOR
- Utilizează baza de date din DIRECTOR în loc de ruta
implicită /var/lib/rpm.
- --root
DIRECTOR
- Utilizează arborele sistemului de fișiere cu
rădăcina la DIRECTOR pentru toate operațiile.
Rețineți că acest lucru înseamnă
că baza de date din DIRECTOR va fi utilizată pentru
verificările de dependență și orice scripuri
(de exemplu, %post dacă se instalează sau
%prep dacă se construiește un pachet) va fi rulat
după un chroot(2) în DIRECTOR.
- -D, --define='MACRO
EXPR'
- Definește MACRO cu valoarea EXPR.
- --scm=SCM
- Selectează SCM pentru a fi utilizat cu %autosetup,,
dacă nu este definit unul în fișierul spec.
Rețineți că nu toate valorile pentru SCM, de
ex, patch (implicit) și gendiff, git, sau
quilt funcționează interschimbabil cu toate celelalte
corecții (patch-uri) și opțiuni indicate în
linia %autosetup, în special opțiunea
-pN.
OPȚIUNI DE CONSTRUIRE
Forma generală a unei comenzi de construire rpm(8)
este
rpmbuild
{-bETAPA|-rETAPA|-tETAPA}
[opțiuni-rpmbuild] FIȘIER ...
Argumentul utilizat este -b dacă se
utilizează un fișier de specificații pentru a construi
pachetul, -r dacă trebuie reconstruit un pachet sursă
și -t dacă rpmbuild trebuie să caute
în interiorul unui fișier tar (eventual comprimat) pentru a
găsi fișierul de specificații care trebuie
utilizat.
Pachetele sunt construite în mai multe etape. Primele
șase corespund următoarelor secțiuni dintr-un
fișier spec: %prep, %generate_buildrequires,
%build, %install, %check și %clean.
În cele din urmă, pachetele binare și sursă sunt
create într-o etapă de asamblare.
Caracterul ETAPA specifică etapa cu care se
termină (după parcurgerea tuturor etapelor anterioare)
și este una dintre:
- -ba
- Efectuează o construire completă - execută
până la etapa de asamblare inclusiv. În majoritatea
cazurilor, aceasta este opțiunea care trebuie aleasă.
- -bb
- Construiește doar pachetele binare - execută
până la etapa de asamblare inclusiv, dar fără
a crea pachetul sursă. În caz de succes, directorul de
compilare este eliminat (ca în --clean).
- -bp
- Despachetează sursele și aplică orice corecții
(patch-uri) - execută doar etapa %prep.
- -bf
- Configurează sursele - se execută până la
etapa %conf inclusiv. Aceasta implică în general
echivalentul unei acțiuni „./configure”.
- -bc
- Compilează sursele - execută până la etapa
%build inclusiv. Aceasta implică în general
echivalentul unei operații „make”.
- -bi
- Instalează binarele în rădăcina de compilare -
execută până la etapa %check inclusiv. Aceasta
implică în general echivalentul unei operații
„make install” și „make
check”
- -bl
- Face o "verificare a listei" - secțiunea %files
din fișierul spec este macro-extinsă și se fac
verificări pentru a se asigura că fiecare fișier
există.
- -bs
- Construiește doar pachetul sursă - trece direct la etapa de
asamblare, fără a executa niciuna dintre etapele anterioare
sau a crea pachete binare.
- -br
- Construiește doar pachetul sursă, dar analizează
și include dependențele de compilare dinamică -
execută până la etapa
%generate_buildrequiresinclusiv și apoi trece direct la
etapa de asamblare, fără a crea pachete binare.
Această comandă poate fi utilizată pentru a rezolva
complet dependențele de compilare dinamică.
Consultați secțiunea DEPENDENȚE DE COMPILARE
DINAMICĂ pentru detalii.
- -bd
- Verifică dependențele de compilare dinamică și
construiește pachetul .buildreqs.nosrc.rpm dacă
lipsește vreuna. Nu construiește nimic altceva.
De asemenea, pot fi utilizate următoarele
opțiuni:
- --buildroot
DIRECTOR (DEPRECIATĂ)
- Atunci când se construiește un pachet, suprascrie
buildroot-ul al rpmbuild(8) la DIRECTOR. Această
opțiune este depreciată și va fi eliminată
în viitor, nu introduceți noi utilizări.
- --clean
- Elimină arborele de construcție după ce pachetele au
fost create.
- --nobuild
- Nu execută nicio etapă de construcție. Util pentru
testarea fișierelor de specificații.
- --noprep
- Nu se execută etapa de construire %prep chiar dacă
este prezentă în specificații.
- --noclean
- Nu execută etapa de construire %clean chiar dacă este
prezentă în specificații.
- --nocheck
- Nu execută etapa de construire %check chiar dacă este
prezentă în specificații.
- --nodebuginfo
- Nu generează pachete de informații de depanare
„debuginfo”.
- --nodeps
- Nu verifică dependențele de compilare.
- --rmsource
- Elimină sursele după compilare (poate fi folosită
și în mod independent, de exemplu,
« "rpmbuild --rmsource
foo.spec"»).
- --rmspec
- Elimină fișierul de specificații după
compilare (poate fi, de asemenea, utilizat în mod independent, de
exemplu, «rpmbuild --rmspec
foo.spec»).
- --short-circuit
- Trece direct la etapa specificată (adică sare peste toate
etapele care duc la etapa specificată). Valabilă numai cu
-bc, -bi, și -bb. Utilă numai pentru
teste locale. Pachetele construite în acest mod vor fi marcate cu o
dependență nesatisfăcută pentru a preveni
utilizarea lor accidentală.
- --build-in-place
- Construiește din surse verificate local în directorul de
lucru curent. Arborele de compilare este configurat ca și cum ar fi
fost utilizat %setup, dar %builddir/%buildsubdir
indică din nou către directorul curent de lucru.
%prep este ignorat complet.
- --target
PLATFORMA
- La construirea pachetului, interpretează PLATFORMA ca fiind
arch-vendor-os și configurează macrocomenzile
%_target, %_target_cpu, și %_target_os
în mod corespunzător.
- --with
OPȚIUNE
- Activează configurarea OPȚIUNE pentru
construire.
- --without
OPIUNE
- Dezactivează configurarea OPȚIUNE pentru
construire.
OPȚIUNI DE RECONSTRUIRE ȘI RECOMPILARE
Există alte două moduri de a invoca construirea cu
rpm(8):
rpmbuild --rebuild|--recompile
PACHET_SURSĂ ...
Atunci când este invocat în acest mod,
rpmbuild instalează pachetul sursă numit și face
o pregătire, compilare și instalare. În plus,
--rebuild construiește un nou pachet binar. După
finalizarea compilării, directorul de compilare este eliminat (ca
în --clean), iar sursele și fișierul de
specificații pentru pachet sunt eliminate.
Aceste opțiuni sunt acum înlocuite de
opțiunile -r*, care permit un control mult mai fin asupra
etapelor de execuție.
Atunci când etapa %generate_buildrequires
rulează și unele dintre BuildRequires nou generate nu sunt
îndeplinite, rpmbuild creează un pachet sursă
intermediar care se termină în buildreqs.nosrc.rpm,
care are noile BuildRequires, și iese cu codul 11. Acest pachet poate
fi apoi utilizat în locul pachetului sursă original pentru a
rezolva și instala dependențele de compilare lipsă
în mod obișnuit, cum ar fi cu dnf-builddep(8).
Într-un fișier spec pot exista mai multe straturi de
dependențe de compilare dinamică; prezența unor
BuildRequires specifice în sistem poate genera noi BuildRequires data
viitoare când se efectuează o compilare cu același
pachet sursă. Cel mai simplu mod de a vă asigura că
toate dependențele de compilare dinamică sunt
satisfăcute este să executați comanda cu
opțiunea -br, să instalați noile
dependențe ale pachetului buildreqs.nosrc.rpm și
să repetați întreaga procedură
până când rpmbuild nu mai iese cu codul 11.
Dacă comanda -br este cuplată cu
--nodeps, codul de ieșire 11 este întotdeauna returnat
și un pachet buildreqs.nosrc.rpm este întotdeauna
creat.
Comanda
rpmbuild --showrc
arată valorile pe care rpmbuild le va folosi pentru
toate opțiunile definite în prezent în fișierele
de configurare rpmrc și macros.
gendiff(1), popt(3), rpm(8),
rpm2cpio(8), rpmkeys(8), rpmspec(8),
rpmsign(8)
rpmbuild --help - deoarece rpm acceptă
personalizarea opțiunilor prin intermediul pseudonimelor
„alias” popt, este imposibil să se garanteze că
ceea ce este descris în manual corespunde cu ceea ce este
disponibil.
http://www.rpm.org/ <URL:http://www.rpm.org/>
-
Marc Ewing <marc@redhat.com>
Jeff Johnson <jbj@redhat.com>
Erik Troan <ewt@redhat.com>
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.