Нет необходимости устанавливать пакет с исходными кодами в систему, чтобы пересобрать из него бинарный пакет. Вместо этого можно собрать пакет непосредственно, с помощью опции --rebuild .
Если команда выполняется из каталога, в котором находится src.rpm, базовый синтаксис такой:
| 
 rpmbuild --rebuild package.src.rpm 
  
 | 
Эта команда собирает бинарный пакет с минимумом усилий. Например:
| 
 $ rpmbuild --rebuild unix2dos-2.2-17.src.rpm 
  
Installing unix2dos-2.2-17.src.rpm 
  
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.15828 
  
+ umask 022 
  
+ cd /usr/src/redhat/BUILD 
  
+ LANG=C 
  
+ export LANG 
  
+ cd /usr/src/redhat/BUILD 
  
+ rm -rf unix2dos-2.2 
  
+ /bin/mkdir -p unix2dos-2.2 
  
+ cd unix2dos-2.2 
  
+ /usr/bin/gzip -dc /usr/src/redhat/S  
  
OURCES/unix2dos-2.2.src.tar.gz 
  
+ tar -xf - 
  
+ STATUS=0 
  
+ '[' 0 -ne 0 ']' 
  
++ /usr/bin/id -u 
  
+ '[' 500 = 0 ']' 
  
++ /usr/bin/id -u 
  
+ '[' 500 = 0 ']' 
  
+ /bin/chmod -Rf a+rX,g-w,o-w . 
  
+ echo 'Patch #0 (unix2dos-mkstemp.patch):' 
  
Patch #0 (unix2dos-mkstemp.patch): 
  
+ patch -p1 -b --suffix .sec -s 
  
+ echo 'Patch #1 (unix2dos-2.2-segfault.patch):' 
  
Patch #1 (unix2dos-2.2-segfault.patch): 
  
+ patch -p1 -b --suffix .segf -s 
  
+ echo 'Patch #2 (unix2dos-2.2-manpage.patch):' 
  
Patch #2 (unix2dos-2.2-manpage.patch): 
  
+ patch -p1 -b --suffix .man -s 
  
+ perl -pi -e 's,^#endif.*,#endif,g;s,^#else.*,#else,g'   unix2dos.c unix2dos.h 
  
+ exit 0 
  
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.60650 
  
+ umask 022 
  
+ cd /usr/src/redhat/BUILD 
  
+ cd unix2dos-2.2 
  
+ LANG=C 
  
+ export LANG 
  
+ gcc -O2 -march=i386 -mcpu=i686 -ounix2dos unix2dos.c 
  
+ exit 0 
  
Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.35128 
  
+ umask 022 
  
+ cd /usr/src/redhat/BUILD 
  
+ cd unix2dos-2.2 
  
+ LANG=C 
  
+ export LANG 
  
+ rm -rf /var/tmp/unix2dos-root 
  
+ mkdir -p /var/tmp/unix2dos-root/usr/bin /var/tmp/unix2dos- 
root/usr/share/man/man1 
  
+ install -m755 unix2dos /var/tmp/unix2dos-root/usr/bin 
  
+ install -m444 unix2dos.1  
  
/var/tmp/unix2dos-root/usr/share/man/man1 
  
+ /usr/lib/rpm/redhat/brp-compress 
  
+ /usr/lib/rpm/redhat/brp-strip 
  
+ /usr/lib/rpm/redhat/brp-strip-comment-note 
  
Processing files: unix2dos-2.2-17 
  
Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.12033 
  
+ umask 022 
  
+ cd /usr/src/redhat/BUILD 
  
+ cd unix2dos-2.2 
  
+ DOCDIR=/var/tmp/unix2dos-root/usr/share/doc/unix2dos-2.2 
  
+ export DOCDIR 
  
+ rm -rf /var/tmp/unix2dos-root/usr/share/doc/unix2dos-2.2 
  
+ /bin/mkdir -p  
  
/var/tmp/unix2dos-root/usr/share/doc/unix2dos-2.2 
  
+ cp -pr COPYRIGHT  
  
/var/tmp/unix2dos-root/usr/share/doc/unix2dos-2.2 
  
+ exit 0 
  
Finding Provides: /usr/lib/rpm/find-provides 
  
Finding Requires: /usr/lib/rpm/find-requires 
  
PreReq: rpmlib(PayloadFilesHavePrefix) <= 4.0-1   rpmlib(CompressedFileNames) 
<= 3.0.4-1 
  
Requires(rpmlib): rpmlib(PayloadFilesHavePrefix) <= 4.0-1 
  
rpmlib(CompressedFileNames) <= 3.0.4-1 
  
Requires: libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1) 
  
Checking for unpackaged file(s): /usr/lib/rpm/check-files   /var/tmp/unix2dos-root 
  
Wrote: /usr/src/redhat/RPMS/i386/unix2dos-2.2-17.i386.rpm 
  
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.47653 
  
+ umask 022 
  
+ cd /usr/src/redhat/BUILD 
  
+ cd unix2dos-2.2 
  
+ rm -rf /var/tmp/unix2dos-root 
  
+ exit 0 
  
Executing(--clean): /bin/sh -e /var/tmp/rpm-tmp.47653 
  
+ umask 022 
  
+ cd /usr/src/redhat/BUILD 
  
+ rm -rf unix2dos-2.2 
  
+ exit 0  
  
 | 
Действия, вызываемые rpmbuild с опцией --rebuild таковы: src.rpm устанавливается в систему, выполняется подготовка к сборке, компиляция и установка собранного бинарного пакета. Если по ходу не возникли ошибки, новый бинарный rpm будет найден в каталоге /usr/src/redhat/RPMS под соответствующей архитектурой.
После сборки и установки пакета происходит очистка директории сборки. Также в конце процесса удаляется установленный в систему src.rpm-пакет, то есть удаляется архив с исходными кодами и spec-файл.
 Далее - Перекомпиляция бинарных пакетов из src.rpm 
 Назад - Работа с пакетами, содержащими исходный код (src.rpm) 
 Содержание