DOKK / manpages / debian 10 / rpm-i18n / rpmbuild.8.pl
RPMBUILD(8) System Manager's Manual RPMBUILD(8)

rpmbuild - Budowanie pakietów RPM

rpmbuild {-ba|-bb|-bp|-bc|-bi|-bl|-bs} [opcje-rpmbuild] PLIK_SPEC ...

rpmbuild {-ta|-tb|-tp|-tc|-ti|-tl|-ts} [opcje-rpmbuild] TARBALL ...

rpmbuild {--rebuild|--recompile} PAKIET_ŹRÓDŁOWY ...

rpmbuild --showrc


[--buildroot KATALOG] [--clean] [--nobuild]
[--rmsource] [--rmspec] [--short-circuit] [--sign]
[--target PLATFORMA]

rpmbuild służy do budowania binarnych i źródłowych pakietów oprogramowania. Pakiet składa się z archiwum plików oraz metadanych używanych do instalowania i usuwania plików. Metadane zawierają pomocnicze skrypty, atrybuty plików oraz informacje opisujące pakiet. Pakiety występują w dwóch wersjach: pakietach binarnych, służących do opakowania oprogramowania do instalacji oraz pakietach źródłowych, zawierających kod źródłowy i przepis na zbudowanie pakietów binarnych.

Trzeba wybrać jeden z następujących podstawowych trybów: Budowanie pakietu, Budowanie pakietu z tarballa, Rekompilacja pakietu, Wyświetlenie konfiguracji.

Opcje te mogą być używane we wszystkich trybach.

-?, --help
Wypisuje informację o użyciu dłuższą niż zwykle.
Wypisuje pojedynczą linię, zawierającą numer wersji używanego rpm-a.
Wypisuje jak najmniej - zazwyczaj tylko komunikaty o błędach.
Wypisuje szczegółowe informacje - zwykle komunikaty o przebiegu procesu.
Wypisuje dużo brzydkich informacji diagnostycznych.
Każdy z plików w oddzielonej dwukropkami LIŚCIE_PLIKÓW jest odczytywany kolejno przez rpm-a w poszukiwaniu informacji o konfiguracji. Istnieć musi tylko pierwszy plik z listy, a tyldy są zamieniane na wartość $HOME. Domyślną LISTĄ_PLIKÓW jest /usr/lib/rpm/rpmrc:/usr/lib/rpm/redhat/rpmrc:/etc/rpmrc:~/.rpmrc.
Przekazuje potokiem wyjście rpm-a do KOMENDY.
Używa bazy danych z KATALOGU zamiast domyślnego /var/lib/rpm.
Używa do wszystkich operacji systemu zakorzenionego w KATALOGU. Zauważ, że oznacza to, że baza danych w KATALOGU będzie używana przy sprawdzaniu zależności, a wszystkie skrypty (np. %post przy instalacji pakietu lub %prep przy budowaniu pakietu) będą uruchamiane po chroot(2) na KATALOG.

Ogólną postacią komendy budowania rpm-a jest

rpmbuild -bETAP|-tETAP [ opcje-rpmbuild ] PLIK ...

Jeśli do zbudowania pakietu używany jest plik spec, to argumentem powinno być -b, a jeśli rpmbuild powinien zajrzeć wewnątrz (być może skompresowanego) pliku tar w poszukiwaniu speca, to powinna być użyta opcja -t. Po pierwszym argumencie, drugi znak (ETAP) określa etapy budowania i pakietowania, które należy wykonać. Może być jednym z:

Buduje pakiety binarny i źródłowy (po wykonaniu etapów %prep, %build i %install).
Buduje pakiet binarny (po wykonaniu etapów %prep, %build i %install).
Wykonuje etap "%prep" z pliku spec. Zwykle obejmuje to rozpakowanie źródeł i zaaplikowanie wszelkich łat.
Wykonuje etap "%build" z pliku spec (po wykonaniu etapu %prep). Ogólnie obejmuje to odpowiednik "make".
Wykonuje etap "%install" z pliku spec (po wykonaniu etapów %prep i %build). Ogólnie obejmuje to odpowiednik "make install".
Dokonuje sprawdzenia listy. W sekcji "%files" pliku spec rozwijane są makra i dokonywane są sprawdzenia, by upewnić się, że każdy plik istnieje.
Buduje tylko pakiet źródłowy.

Mogą być też użyte następujące opcje:

Na czas budowania pakietu zastępuje wartość BuildRoot KATALOGIEM.
Usuwa drzewo budowania po stworzeniu pakietów.
Nie wykonuje żadnych etapów budowania. Przydatne do testowania plików spec.
Usuwa źródła po budowaniu (może być też używane samodzielnie, np. "rpmbuild --rmsource foo.spec").
Usuwa plik spec po budowaniu (może być też używane samodzielnie, np. "rpmbuild --rmspec foo.spec").
Przechodzi wprost do podanego etapu (tzn. pomija wszystkie etapy prowadzące do podanego). Prawidłowe tylko z -bc i -bi.
Osadza w pakiecie sygnaturę GPG. Sygnatura ta może być używana do weryfikowania integralności i pochodzenia pakietu. Zobacz sekcję o SYGNATURACH GPG w rpm(8), gdzie znajdują się szczegóły dotyczące konfiguracji.
Podczas budowania pakietu interpretuje PLATFORMĘ jako arch-vendor-os i ustawia odpowiednio makra %_target, %_target_cpu oraz %_target_os.

Istnieją dwa inne sposoby na wywołanie budowania przy użyciu rpm-a:

rpmbuild --rebuild|--recompile PAKIET_ŹRÓDŁOWY ...

Po takim wywołaniu, rpmbuild instaluje podany pakiet źródłowy oraz wykonuje etapy prep, kompilacji i instalacji. Dodatkowo, --rebuild buduje nowy pakiet binarny. Po tym jak budowanie jest zakończone, katalog budowania jest usuwany (jak przy --clean), a potem źródła i plik spec dla pakietu są usuwane.

Polecenie

rpmbuild --showrc

pokazuje wartości, których rpmbuild będzie używał dla wszystkich opcji, które są aktualnie ustawione w plikach konfiguracyjnych rpmrc oraz macros.

/usr/lib/rpm/rpmrc
/usr/lib/rpm/redhat/rpmrc
/etc/rpmrc
~/.rpmrc

/usr/lib/rpm/macros
/usr/lib/rpm/redhat/macros
/etc/rpm/macros
~/.rpmmacros

/var/lib/rpm/Basenames
/var/lib/rpm/Conflictname
/var/lib/rpm/Dirnames
/var/lib/rpm/Filemd5s
/var/lib/rpm/Group
/var/lib/rpm/Installtid
/var/lib/rpm/Name
/var/lib/rpm/Packages
/var/lib/rpm/Providename
/var/lib/rpm/Provideversion
/var/lib/rpm/Pubkeys
/var/lib/rpm/Removed
/var/lib/rpm/Requirename
/var/lib/rpm/Requireversion
/var/lib/rpm/Sha1header
/var/lib/rpm/Sigmd5
/var/lib/rpm/Triggername

/var/tmp/rpm*

popt(3),
rpm2cpio(8),
gendiff(1),
rpm(8),

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

Marc Ewing <marc@redhat.com>
Jeff Johnson <jbj@redhat.com>
Erik Troan <ewt@redhat.com>
9 czerwca 2002 Red Hat, Inc.