table of contents
- unstable 4.29.1-1
| RPMBUILD(1) | General Commands Manual | RPMBUILD(1) |
NAMN¶
rpmbuild — Bygg RPM-paket
SYNOPSIS¶
rpmbuild -bSTEG [flaggor] SPEC-FIL …
rpmbuild -rSTEG [flaggor] KÄLLPAKET …
rpmbuild -tSTEG [flaggor] TAR-ARKIV …
rpmbuild {--rebuild|--recompile} [flaggor] KÄLLPAKET …
BESKRIVNING¶
rpmbuild används för att bygga programvarupaket i formatet RPM på ett automatiserat och repeterbart sätt.
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.
ÅTGÄRDER¶
-bSTEG
-rSTEG
-tSTEG
--rebuild, --recompile
Paket byggs i fyra faser: tolka, bygg, sätt samman och städa upp. De mittersta två är vidare uppdelade i steg, listade nedan, vilka kan byggas separat. Att bygga ett STEG betyder att köra alla de föregående stegen fram till (och inklusive) det angivna, såvida inte annat sägs.
Sammansättningssteg¶
Sammansättningsstegen skapar paket och är det huvudsakliga sättet att interagera med rpmbuild. Om du är osäker, välj ett av dessa.
a
b
r
s
Byggsteg¶
Byggstegen skapar artifakterna som skall paketeras, typiskt genom att patcha och kompilera källkoden och installera binärerna i byggroten. Dessa steg motsvarar allmänt sådana sektioner i spec-filen %prep, %build eller %install, men det finns några som är implicita.
Att bygga dessa steg separat är i allmänhet endast användbart när ny programvara paketeras i RPM-format och/eller felsökning. De listas nedan i den ordning de körs, med motsvarande sektioner i spec-filen i parenteser där det är tillämpligt.
p (%prep)
d (%generate_buildrequires)
f (%conf)
c (%build)
i (%install och %check)
l
ARGUMENT¶
SPEC-FIL
KÄLLPAKET
TAR-ARKIV
FLAGGOR¶
--build-in-place
--clean
--nobuild
--nocheck
--noclean
--nodebuginfo
--nodeps
--noprep
--rmsource
--rmspec
--rpmfcdebug
--scm=SCM
--short-circuit
--with FLAGGA
--without FLAGGA
Se rpm-common(8) för flaggorna gemensamma för alla åtgärder.
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 producera 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 flaggan -br kopplas ihop med --nodeps returneras alltid slutkod 11 och ett paket buildreqs.nosrc.rpm skapas alltid.
MILJÖ¶
RPM_BUILD_NCPUS
SLUTSTATUS¶
Om det gick bra returneras 0, annars en nollskild felkod.
Paket med en sektion %generate_buildrequires kommer returnera med kod 11 när det finns ouppfyllda DYNAMISKA BYGGBEROENDEN.
EXEMPEL¶
rpmbuild --rebuild hej-1.0-1.src.rpm
rpmbuild -bb --nocheck --with openssl hej.spec
rpmbuild -ta hej-2.0.tar.gz
rpmbuild -bc hej.spec
rpmbuild -bi --short-circuit hej.spec
FILER¶
SE ÄVEN¶
gendiff(1), popt(3), rpm(8), rpm-common(8), rpmbuild-config(5), rpm2cpio(1), rpmkeys(8), rpmspec(1), rpmsign(1), rpm-setup-autosign(1) rpm-macros(7)
Ö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.
| 7 november 2025 | RPM 6.0.0 |