Три основных способа сделать это:
- Используйте переключатель
--short-circuit
на rpmbuild
, чтобы перейти непосредственно к шагу сборки. - Список всех файлов в ваших источникахкак
SourceXX:
в файле спецификации, и поместите все эти файлы в каталог rpmbuild/SOURCES/
- Оберните макрос
%setup
некоторым интеллектом
Опция 1 позволяет вам временноОбойти необходимость извлечения tarball каждый раз, что идеально подходит для разработки.Вариант 2 обходит понятие наличия тарбола для начала, но становится громоздким, когда у вас много-много файлов.Вариант 3, когда происходят регулярные сборки пакета, и это большой исходный файл, такой как ядро Linux.Файл .spec ядра EL6 делает это:
if [ ! -d kernel-%{kversion}/vanilla-%{kversion}/ ]; then
%setup -q -n kernel-%{kversion} -c
mv linux-2.6.32 vanilla-%{kversion};
else
cd kernel-%{kversion}/;
fi
cp -rl vanilla-%{kversion} linux-%{KVERREL}
cd linux-%{KVERREL}
По сути, извлеките исходные коды ядра и назовите его как-нибудь еще.При следующей сборке проверьте это.Если он есть, не извлекайте источник, просто сделайте копию.