RPMBUILD(1) General Commands Manual RPMBUILD(1) NAMN rpmbuild -- Bygg RPM-paket SYNOPSIS rpmbuild -bSTEG [flaggor] SPEC-FIL rpmbuild -rSTEG [flaggor] KALLPAKET rpmbuild -tSTEG [flaggor] TAR-ARKIV rpmbuild {--rebuild|--recompile} [flaggor] KALLPAKET BESKRIVNING rpmbuild anvands for att bygga programvarupaket i formatet RPM pa ett automatiserat och repeterbart satt. Ett paket bestar av ett arkiv av filer och metadata som anvands for att installera och radera arkivfiler. Metadatan inkluderar hjalpskript, filattribut och beskrivande information om paketet. Paket finns i tva varianter: binarpaket, anvanda for att kapsla in programvara som kan installeras, och kallpaket, som innehaller kallkoden och receptet som behovs for att producera binarpaket. ATGARDER -bSTEG Bygg STEG fran en spec-fil. -rSTEG Bygg STEG fran ett kall-RPM-paket. -tSTEG Bygg STEG fran ett tar(5)-arkiv. --rebuild, --recompile Kompatibilitetsalias for -ra. Paket byggs i fyra faser: tolka, bygg, satt samman och stada upp. De mittersta tva ar vidare uppdelade i steg, listade nedan, vilka kan byggas separat. Att bygga ett STEG betyder att kora alla de foregaende stegen fram till (och inklusive) det angivna, savida inte annat sags. Sammansattningssteg Sammansattningsstegen skapar paket och ar det huvudsakliga sattet att interagera med rpmbuild. Om du ar osaker, valj ett av dessa. a Bygg bade kall- och binarpaket. Detta ar inte ett faktiskt steg utan en kombination av b och s, med skillnaden att paket som byggs pa detta satt innehaller en "kaka" for att indikera att de kommer fran samma bygge. Om det gar bra tas byggkatalogen bort. b Bygg bara binarpaket. Om det gar bra tas byggkatalogen bort. r Bygg bara kallpaketet med kontroll av dynamiska byggberoenden. Kor stegen %prep och %generate_buildrequires fore ett paket skapas. Se avsnittet DYNAMISKA BYGGBEROENDEN for detaljer. s Bygg bara kallpaketet. Inga byggsteg kors. Byggsteg Byggstegen skapar artifakterna som skall paketeras, typiskt genom att patcha och kompilera kallkoden och installera binarerna i byggroten. Dessa steg motsvarar allmant sadana sektioner i spec-filen %prep, %build eller %install, men det finns nagra som ar implicita. Att bygga dessa steg separat ar i allmanhet endast anvandbart nar ny programvara paketeras i RPM-format och/eller felsokning. De listas nedan i den ordning de kors, med motsvarande sektioner i spec-filen i parenteser dar det ar tillampligt. p (%prep) Packa upp kallkoden och tillampa eventuella patchar. d (%generate_buildrequires) Kontrollera dynamiska byggberoenden och bygg paketet buildreqs.nosrc.rpm om nagra saknas. Bygg inte nagot annat. f (%conf) Konfigurera kallkoden. Detta innefattar vanligen motsvarigheten till en ./configure. c (%build) Kompilera kallkoden. Detta innebar normalt motsvarigheten till make. i (%install och %check) Installera binarerna i byggroten. Detta innebar normalt motsvarigheten till en make install och make check. l Gor en "listkontroll" -- avsnittet %files fran spec-filen makroexpanderas, och kontroller gors for att verifiera att varje fil finns. Detta forutsatter att ett tidigare bygge upp till steget %install har skett. ARGUMENT SPEC-FIL En RPM-spec-fil. KALLPAKET Ett RPM-kallpaket (med andelsen .\&src.\&rpm) TAR-ARKIV Ett tar(5)-arkiv, eventuellt komprimerat. For att vara direkt byggbart med rpmbuild maste ett arkiv innehalla en spec-fil antingen med namnet Specfile eller med en andelse .spec. FLAGGOR --build-in-place Bygg fran lokalt utcheckad kallkod i den aktuella arbetskatalogen. Byggtradet satts om som om %setup anvants, men %builddir/%buildsubdir pekar tillbaka pa den aktuella arbetskatalogen. %prep hoppas helt over. --clean Ta bort byggtradet efter att paketen gjorts (standard). --nobuild Kor inte nagra byggsteg. Anvandbart for att testa spec-filer. --nocheck Kor inte byggsteget %check aven om det finns i spec. --noclean Kor inte byggsteget %clean aven om det finns i spec. --nodebuginfo Generera inte debuginfo-paket. --nodeps Verifiera inte byggberoenden. --noprep Kor inte byggsteget %prep aven om det finns i spec. Detta antar att det har gjorts en annan korning av rpmbuild i vilken %prep redan har korts. --rmsource Ta bort kallkoder efter bygget (kan aven anvandas fristaende, t.ex. rpmbuild --rmsource apa.spec). Observera att per definition ar NoSource- och NoPatch-filer inte kallkod och paverkas darfor inte av denna flagga. --rmspec Ta bort spec-filen efter bygget (kan aven anvandas fristaende, t.ex. rpmbuild --rmspec apa.spec). --rpmfcdebug Skriv ut felsokningsinformation om filklassificering och beroendegenerering. --scm=SCM Valj vilket SCM som skall anvandas med %autosetup, om inte nagot ar satt i spec-filen. Observera att inte alla varden pa SCM, t.ex., patch (standard) och gendiff, git eller quilt fungerar utbytbart med alla andra patchar och flaggor som anges pa raden %autosetup, sarskilt flaggan -pN. --short-circuit Hoppa direkt till det angivna steget (d.v.s., hoppa over alla steg som leder fram till det angivna steget). Endast giltigt med -bc, -bi och -bb. Endast anvandbart for lokal testning. Paket som byggts pa detta satt kommer markeras med ett beroende som inte kan uppfyllas for att forhindra att det anvands av misstag. --with FLAGGA Aktivera konfigurationen FLAGGA for bygget. --without FLAGGA Avaktivera konfigurationen FLAGGA for bygget. Se rpm-common(8) for flaggorna gemensamma for alla atgarder. DYNAMISKA BYGGBEROENDEN Nar steget %generate_buildrequires kors och nagra av de nygenererade BuildRequires inte ar uppfyllda skapar rpmbuild ett intermediart kallpaket som slutar med buildreqs.nosrc.rpm, vilket har de nya BuildRequires, och avslutar med kod 11. Detta paket kan sedan anvandas istallet for originalkallpaketet for att losa upp och installera de saknade byggberoendena pa det vanliga sattet, sasom med dnf-builddep(8). Flera nivaer av dynamiska byggberoenden kan finnas i en spec-fil; forekomsten av specifika BuildRequires pa systemet kan producera nya BuildRequires nasta gang ett bygge gors med samma kallpaket. Det enklaste sattet att sakerstalla att alla dynamiska byggberoenden ar uppfyllda ar att anvanda flaggan -br, installera de nya beroendena i paketet buildreqs.nosrc.rpm och upprepa hela proceduren tills rpmbuild inte langre avslutas med kod 11. Om flaggan -br kopplas ihop med --nodeps returneras alltid slutkod 11 och ett paket buildreqs.nosrc.rpm skapas alltid. MILJO RPM_BUILD_NCPUS Asidosatt autodetektering av antalet CPU:er att anvanda for parallelliserade avsnitt av bygget. SLUTSTATUS Om det gick bra returneras 0, annars en nollskild felkod. Paket med en sektion %generate_buildrequires kommer returnera med kod 11 nar det finns ouppfyllda DYNAMISKA BYGGBEROENDEN. EXEMPEL rpmbuild --rebuild hej-1.0-1.src.rpm Bygg binar- och kallpaket fran kallpaketet hej-1.0-1.src.rpm. rpmbuild -bb --nocheck --with openssl hej.spec Bygg binarpaket fran spec-filen hej.spec, dar steget %check hoppas over ifall det finns och aktivera stod for byggvillkoret openssl (under antagandet att det ar specificerat i spec:en). rpmbuild -ta hej-2.0.tar.gz Bygg binar- och kallpaket fran den komprimerade tarbollen hej-2.0.tar.gz, med antagandet att arkivet innehaller en korrekt spec-fil (se TARARKIV for detaljer). rpmbuild -bc hej.spec Bygg hej.spec fram till och med steget %build, d.v.s. utan att producera faktiska paket. rpmbuild -bi --short-circuit hej.spec Kor bara steget %install i hej.spec och hoppa over alla foregaende steg. Detta antar att en tidigare korning atminstone fram till steget %build, se tidigare exempel. Anvandbart for att undvika fullstandiga ombyggen nar man arbetar med sektionen %files i ett paket. FILER Se rpm-common(8) SE AVEN 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) http://www.rpm.org/ OVERSATTNING Den svenska oversattningen av denna manualsida skapades av Goran Uddeborg Denna oversattning ar fri dokumentation; las GNU General Public License Version 3 eller senare for upphovsrattsvillkor. Vi tar INGET ANSVAR. Om du hittar fel i oversattningen av denna manualsida, skicka ett mail till . RPM 6.0.1 8 januari 2026 RPMBUILD(1)