Scroll to navigation

RPMBUILD(8) RPMBUILD(8)

NAMN

rpmbuild — Bygg RPM-paket

SYNOPSIS

BYGGA PAKET

rpmbuild {-ba|-bb|-bp|-bf|-bc|-bi|-bl|-bs|-br|-bd} [rpmbuild-flaggor] SPECFIL …

rpmbuild {-ra|-rb|-rp|-rf|-rc|-ri|-rl|-rs|-rr|-rd} [rpmbuild-flaggor] KÄLPAKET …

rpmbuild {-ta|-tb|-tp|-tf|-tc|-ti|-tl|-ts|-tr|-td} [rpmbuild-flaggor] TARBOLL …

rpmbuild {--rebuild|--recompile} KÄLLPKT …

DIVERSE

rpmbuild --showrc

rpmbuild-flaggor

[--buildroot KATALOG] [--clean] [--nobuild] [--rmsource] [--rmspec] [--short-circuit] [--build-in-place] [--noprep] [--noclean] [--nocheck] [--rpmfcdebug] [--target PLATTFORM] [--with FLAGGA] [--without FLAGGA]

BESKRIVNING

rpmbuild används för att bygga både binär- och källpaket för programvara. Ett paket består av ett arkiv av filer och metadata som används för att installera och radera arkivfiler. Metadatan inkluderar hjälpskript, filattribut och beskrivande information om paketet. Paket finns i två varianter: binärpaket, använda för att kapsla in programvara som kan installeras, och källpaket, som innehåller källkoden och receptet som behövs för att producera binärpaket.

Ett eller flera av följande grundläggande lägen måste väljas: Bygg paket, Bygg paket från en tarboll, Kompilera om paket, Visa konfigurationen.

ALLMÄNNA FLAGGOR

Dessa flaggor kan användas i alla de olika lägena.

-?, --help
Skriv ut ett längre användarmeddelande än vanligt.
Skriv ut en ensam rad som innehåller versionsnumret för den rpm som används.
Skriv så lite som möjligt — normalt kommer endast felmeddelanden att visas.
Skriv utförlig information — normalt kommer rutinmässiga förloppsmeddelanden visas.
Skriv mängder av ful felsökningsinformation.
Aktiverar felsökning av beroendegenerering.
Ersätt standardlistan över konfigurationsfiler att läsa med FILLISTA. Se rpmrc-konfiguration i rpm(8) för detaljer.
Läs in en enstaka makrofil.
Ersätt listan över makrofiler att laddas med FILLISTA. Se Makrokonfiguration i rpm(8) för detaljer.
Skickar utdata från rpm till kommandot KMD.
Använd databasen i KATALOG istället för standardsökvägen /var/lib/rpm.
Använd filsystemsträdet med rot i KATALOG för alla åtgärder. Observera att detta betyder att databasen i KATALOG kommer användas för beroendekontroller och skript (t.ex. %post vid installation av, eller %prep vid bygge av, ett paket) kommer köras efter att ha gjort chroot(2) till KATALOG.
Definierar MAKRO med värdet UTTR.
Välj vilket SCM som skall användas med %autosetup, om inte något är satt i spec-filen. Observera att inte alla värden på SCM, t.ex., patch (standard) och gendiff, git eller quilt fungerar utbytbart med alla andra patchar och flaggor som anges på raden %autosetup, särskilt flaggan -pN.

BYGGFLAGGOR

Det allmänna formatet på ett rpm(8)-byggkommando är

rpmbuild {-bSTEG|-rSTEG|-tSTEG} [rpmbuild-flaggor] FIL …

Argumentet som används är -b om en spec-fil används för att bygga paketet, -r om ett källpaket skall byggas om och -t om rpmbuild skall leta inuti en (möjligen komprimerad) tar-fil efter spec-filen som skall användas.

Paket byggs i ett antal steg. De första sex motsvarar följande avsnitt i en spec-fil: %prep, %generate_buildrequires, %build, %install, %check och %clean. Slutligen skapas binär och källpaket i ett sammansättningssteg.

Tecknet STEG anger steget att avsluta vid (efter att ha gjort alla steg som kommer före), och är ett av:

Utför ett fullständigt bygge — kör fram till och inklusive sammansättningssteget. I de flesta fall är detta flaggan man vill använda.
Bygg bara binärpaket — kör fram till och med sammansättningssteget, men utan att skapa källpaketet. Går det bra tas byggkatalogen bort (som med --clean).
Packa upp källkoden och tillämpa eventuella patchar — kör endast steget %prep.
Konfigurera källkoden — kör fram till och med steget %conf. Detta innefattar vanligen motsvarigheten till en ”./configure”.
Kompilera källkoden — kör fram till och med steget %build. Detta innebär normalt motsvarigheten till ”make”.
Installera binärerna i byggroten — kör fram till och med steget %check. Detta innebär normalt motsvarigheten till en ”make install” och ”make check”.
Gör en ”listkontroll” — avsnittet %files från spec-filen makroexpanderas, och kontroller görs för att verifiera att varje fil finns.
Bygg bara källpaketet — hoppar direkt till sammansättningssteget, utan att köra några av de föregående stegen eller att skapa några binärpaket.
Bygg bara källpaketet, men tolka och inkludera även dynamiska byggberoenden — kör fram till och med steget %generate_buildrequires och hoppar sedan direkt till sammansättningssteget, utan att skapa binärpaket. Detta kommando kan användas för att lösa upp dynamiska byggberoenden. Se avsnittet DYNAMISKA BYGGBEROENDEN för detaljer.
Kontrollera dynamiska byggberoenden och bygg paketet .buildreqs.nosrc.rpm om några saknas. Bygg inte något annat.

Följande flaggor kan också användas:

Ersätt, när ett baket byggs, byggroten till rpmbuild(8) med KATALOG. Denna flagga är föråldrad och kommer att tas bort i framtiden, introducera inte nya användningar.
Ta bort byggträdet efter att paketen gjorts.
Kör inte några byggsteg. Användbart för att testa spec-filer.
Kör inte byggsteget %prep även om det finns i spec.
Kör inte byggsteget %clean även om det finns i spec.
Kör inte byggsteget %check även om det finns i spec.
Generera inte debuginfo-paket.
Verifiera inte byggberoenden.
Ta bort källkoder efter bygget (kan även användas fristående, t.ex. ”rpmbuild --rmsource apa.spec”).
Ta bort spec-filen efter bygget (kan även användas fristående, t.ex. ”rpmbuild --rmspec apa.spec”).
Hoppa direkt till det angivna steget (d.v.s., hoppa över alla steg som leder fram till det angivna steget). Endast giltigt med -bc, -bi och -bb. Endast användbart för lokal testning. Paket som byggts på detta sätt kommer markeras med ett beroende som inte kan uppfyllas för att förhindra att det används av misstag.
Bygg från lokalt utcheckad källkod i den aktuella katalogen. Byggträdet sätts om som om %setup använts, men %builddir/%buildsubdir pekar tillbaka på den aktuella arbetskatalogen. %prep hoppas helt över.
Tolka när paketet byggs PLATTFORM som ark-leverantör-os och sätt makrona %_target, %_target_cpu och %_target_os därefter.
Aktivera konfigurationen FLAGGA för bygget.
Avaktivera konfigurationen FLAGGA för bygget.

OMBYGGNADS- OCH OMKOMPILERINGSFLAGGOR

Det finns två andra sätt att starta ett bygge med rpm(8):

rpmbuild --rebuild|--recompile KÄLLPAKET …

När det anropas på detta sätt installerar rpmbuild det namngivna källpaketet och gör en prep, kompilering och installation. Dessutom bygger --rebuild ett nytt binärpaket. När bygget är färdigt tas byggkatalogen bort (som med --clean) och källkoden och spec-filen för paketet tas bort.

Dessa flaggor ersatta av flaggorna -r* vilka tillåter en mycket mer finkornig styrning av vilka steg i bygget som skall köras.

DYNAMISKA BYGGBEROENDEN

När steget %generate_buildrequires körs och några av de nygenererade BuildRequires inte är uppfyllda skapar rpmbuild ett intermediärt källpaket som slutar med buildreqs.nosrc.rpm, vilket har de nya BuildRequires, och avslutar med kod 11. Detta paket kan sedan användas istället för originalkällpaketet för att lösa upp och installera de saknade byggberoendena på det vanliga sättet, såsom med dnf-builddep(8).

Flera nivåer av dynamiska byggberoenden kan finnas i en spec-fil; förekomsten av specifika BuildRequires på systemet kan resultera i nya BuildRequires nästa gång ett bygge görs med samma källpaket. Det enklaste sättet att säkerställa att alla dynamiska byggberoenden är uppfyllda är att använda flaggan -br installera de nya beroendena i paketet buildreqs.nosrc.rpm och upprepa hela proceduren tills rpmbuild inte längre avslutas med kod 11.

Om kommandot -br kopplas ihop med --nodeps returneras alltid slutkod 11 och ett paket buildreqs.nosrc.rpm skapas alltid.

SHOWRC

Kommandot

rpmbuild --showrc

visar värdena rpmbuild kommer använda för alla flaggorna som för närvarande sätts i konfigurationsfilerna rpmrc och macros.

FILER

Se rpm(8)

SE ÄVEN

gendiff(1), popt(3), rpm(8), rpm2cpio(8), rpmkeys(8), rpmspec(8), rpmsign(8)

rpmbuild --help — eftersom rpm stödjer anpassning av flaggor via popt-alias är det omöjligt att garantera att vad som beskrivs i manualen stämmer med vad som finns tillgängligt.

http://www.rpm.org/ <URL:http://www.rpm.org/>

FÖRFATTARE

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

ÖVERSÄTTNING

Den svenska översättningen av denna manualsida skapades av Göran Uddeborg <goeran@uddeborg.se>

Denna översättning är fri dokumentation; läs GNU General Public License Version 3 eller senare för upphovsrättsvillkor. Vi tar INGET ANSVAR.

Om du hittar fel i översättningen av denna manualsida, skicka ett mail till Tp-sv@listor.tp-sv.se.

9 juni 2002