次のrpm "%prep"ステップは何をしますか?

次のrpm "%prep"ステップは何をしますか?

仮説

Source0:        %{gnu_download_url}/coreutils/coreutils-%{version}.tar.gz
Source1:        mk7distro.tar.bz2
Patch0:         hostutils.patch.bz2

%prep誰かがRPM仕様ファイルセクションで次のコマンドの機能を教えてもらえますか?

%setup -q -n %{name} -c -a 1

答え1

それソースコード解凍マクロ:

the %setup macro is used to unpack the original sources, in preparation for the
build. In its simplest form, the macro is used with no options and gets the name
of the source archive from the source tag specified earlier in the spec file.

答え2

質問に正確に回答し、更新されたリンクを提供するには、はい、%セットコマンドSource1 Tarballは解凍されますが、指定されたオプションのため、Source0 Tarballは解凍されません-a 1。このオプションを使用すると、仕様ファイルの「Name:」セクションで名前付き-cサブディレクトリにtarballが抽出されます。-n %{name}

%setup -qこのコマンドはビルドディレクトリ(通常は/usr/src/redhat/BUILD)に変更し、ソースファイルを抽出します。このマクロには少なくとも1つのソースファイルが必要で、/usr/src/redhat/BUILDの下に必要なサブディレクトリを作成します。サブディレクトリの名前は、パッケージ名とバージョンに応じて指定する必要があります(たとえば、telnet-1.0.1)。正しいサブディレクトリを自動的に生成する圧縮tarアーカイブを使用しない場合は、%setupマクロに-cオプションを追加してください。 -cオプションは、ソースコードを抽出するためのサブディレクトリを作成します。

%setup コマンドは、tar、zip、gzip、bzip2、pack、圧縮、および lzh 圧縮ファイルを自動的に解凍できます。しかし、tar-gzip形式が最も広く使用されています。

関連情報