これを行うための3つの基本的な方法:
--short-circuit
スイッチを使用しrpmbuild
て、ビルドステップに直接スキップします。
SourceXX:
ソース内のすべてのファイルをスペックファイルとしてリストし、それらすべてのファイルをrpmbuild/SOURCES/
ディレクトリに配置します
%setup
マクロをインテリジェンスでラップする
オプション1では、毎回tarballを抽出する必要があることを一時的に回避できます。これは、開発に最適です。オプション2は、最初はtarballを使用するという概念をバイパスしますが、ファイルがたくさんあると面倒になります。オプション3は、パッケージの通常のビルドが行われる場合であり、Linuxカーネルなどの大きなソースファイルです。EL6カーネルの.specファイルはこれを行います。
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}
基本的に、カーネルソースを抽出し、別の名前を付けます。次のビルド時に、それを確認します。そこにある場合は、ソースを抽出するのではなく、コピーを作成するだけです。