RPMBUILD(8)

NUME

rpmbuild - construiește pachetul(ele) RPM

SINOPSIS

  CONSTRUIREA PACHETELOR:

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

  DIVERSE:

rpmbuild --showrc

  opțiuni-rpmbuild

[--buildroot DIRECTOR] [--clean] [--nobuild] [--rmsource] [--rmspec] [--short-circuit] [--build-in-place] [--noprep] [--noclean] [--nocheck] [--rpmfcdebug] [--target PLATFORMA] [--with OPȚIUNE] [--without OPȚIUNE]

DESCRIERE

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
    Fiecare dintre fișierele din LISTĂ-FIȘIERE, separate prin două puncte, este citit secvențial de către rpm pentru informații de configurare. Numai primul fișier din listă trebuie să existe, iar tildele vor fi extinse la valoarea lui $HOME. Valoarea implicită LISTĂ-FIȘIERE este /usr/lib/rpm/rpmrc:/usr/lib/rpm/<vendor>/rpmrc:/etc/rpmrc:~/.rpmrc.

--pipe COMANDA
    Transmite ieșirea lui rpm către comanda COMANDA.

--dbpath DIRECTOR
    Utilizează baza de date din DIRECTORY î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 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_buildrequires inclusiv ș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
    Când construiește un pachet, suprascrie eticheta BuildRoot cu directorul DIRECTOR.

--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 la nivel local. Stabilește _builddir la directorul de lucru curent. Ignoră gestionarea funcțiilor -n și untar din %setup și ștergerea buildSubdir.

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

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.

  DEPENDENȚE DE COMPILARE DINAMICĂ

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

  SHOWRC

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.

FIȘIERE

  Configurația rpmrc

    /usr/lib/rpm/rpmrc
    /usr/lib/rpm/<vendor>/rpmrc
    /etc/rpmrc
    ~/.rpmrc

  Configurația macro

    /usr/lib/rpm/macros
    /usr/lib/rpm/<vendor>/macros
    /etc/rpm/macros
    ~/.rpmmacros

  Temporar

/var/tmp/rpm*

CONSULTAȚI ȘI

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

AUTORI

    Marc Ewing <marc@redhat.com>
    Jeff Johnson <jbj@redhat.com>
    Erik Troan <ewt@redhat.com>

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.