ソースはRPM仕様ファイルのコマンドにどのようにマップされますか? [閉鎖]

ソースはRPM仕様ファイルのコマンドにどのようにマップされますか? [閉鎖]

RPM仕様ファイルには、次の内容が時々表示されます。

Source0: /some/path/or/url/file.tar.xz
Source1: /another/path/or/url/file2.tar.gz
Source2: /some/path/library.so
Source4: /other/path/icon.ico
...

場合によっては、さまざまなファイル形式のソースが最大10個以上ある場合があります。ただし、%{SOURCE1}文書の背後にある参照内容を見ることができないことがよくあります。これらのソースは後でファイルで参照せずに解析および/または使用されますか?私は読んだRPMパッケージの作成ただし、この例は非常に簡単であり、この特定の質問に対する回答は含まれていません。ソース部分のさまざまなユースケースを理解していません。

例:https://src.fedoraproject.org/rpms/libreoffice/blob/master/f/libreoffice.specSource7、Source9、Source10、およびSource11は、仕様ファイルのどこにも参照されません。

答え1

%buildセクションを見ると、次の行が見つかります。

EXTSRCDIR=`dirname %{SOURCE0}`

その後、構成パラメーターの1つは次のとおりです。

--with-external-tar="$EXTSRCDIR" \

そこからビルドの一部としてtarballを使用します。すべてのソースエントリはパッケージビルドの一部として同じディレクトリに保存されるため、仕様ではディレクトリ名のみが検索され、後で参照されます。 (例にローカルパスを入力した理由はわかりません。一般仕様ファイルのファイル名またはURLです。)

私はlibreofficeビルドプロセスについてはよくわかりませんが、上記のすべてのソースエントリが上記の設定パラメータを介して取得されたとします。

関連情報