3.6.3. %setup マクロのオプション


ソースアーカイブの展開を制御するには、以下の %setup マクロオプションを使用してください。

注記

%setup マクロのオプションは、組み合わせて使用できます。

Expand
表3.4 %setup マクロのオプション
マクロのオプション説明

-q

-q オプションは、%setup マクロの詳細出力を制限するために使用します。このオプションは、%setup マクロの最初のオプションとして渡してください。

-n

-n オプションは、ソースコードアーカイブを展開した際に生成されるディレクトリー名を指定するために使用します。

たとえば、このオプションは、展開したソースコードアーカイブのディレクトリーの名前が、想定されるもの (%{<name>}-%{<version>}) と異なる場合に使用できます。このような場合、%setup マクロのエラーが発生する可能性があります。たとえば、パッケージ名が cello であるが、ソースコードアーカイブ名が hello-1.0.tgz で、そのアーカイブに hello/ ディレクトリーが含まれている場合、spec ファイルの内容を次のようにする必要があります。

Name: cello
Source0: https://example.com/%{name}/release/hello-%{version}.tar.gz
...
%prep
%setup -n hello

-c

-c オプションは、ソースを展開する前に、ディレクトリーを作成してそのディレクトリーに移動するために使用します。次に例を示します。

/usr/bin/mkdir -p cello-1.0
cd 'cello-1.0'

このディレクトリーはアーカイブの展開後も変更されません。

-D

-D オプションは、ソースコードディレクトリーの削除を無効にするために使用します。たとえば、%setup マクロを複数回使用する場合は、このオプションを使用できます。-D オプションを使用する場合、次の行は使用されません。

rm -rf 'cello-1.0'

-T

-T オプションは、%setup マクロのデフォルトの操作 (最初のソースアーカイブの展開を含む) をスキップするために使用します。このオプションはスクリプトから次の行を削除します。

/usr/bin/gzip -dc '/builddir/build/SOURCES/cello-1.0.tar.gz' | /usr/bin/tar -xvvof -

-b

-b (before) オプションは、作業ディレクトリーに移動する前に特定のソースを展開するために使用します。

たとえば、サンプルが別の cello-1.0-examples.tar.gz アーカイブで提供されており、そのアーカイブが cello-1.0/examples に展開されるとします。このような場合は、-b 1 を使用して、作業ディレクトリーに移動する前に Source1 を展開します。

Source0: https://example.com/%{name}/release/%{name}-%{version}.tar.gz
Source1: %{name}-%{version}-examples.tar.gz
...
%prep
%setup -b 1

-a

-a (after) は、作業ディレクトリーに移動した後に特定のソースを展開するために使用します。引数として、spec ファイルの Preamble セクションのソース番号を指定します。

たとえば、cello-1.0.tar.gz というアーカイブに、空の examples ディレクトリーが含まれているとします。また、サンプルが examples.tar.gz という別のアーカイブで提供されており、同じ名前のディレクトリーに展開されるとします。このような場合は、-a 1 を使用して、作業ディレクトリーに移動した後に Source1 を展開します。

Source0: https://example.com/%{name}/release/%{name}-%{version}.tar.gz
Source1: examples.tar.gz
...
%prep
%setup -a 1
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る