2

.specファイルを作成しようとしていますが、%fileディレクティブのすぐ下の%docディレクティブに、ChangeLog、README、INSTALL、COPYING、NEWS、AUTHORSを配置しています。パッケージのtarnameはrecafoh-prealphaで、バージョンはsvn73です。rpmbuild-barecafoh.specは言っています

RPM build errors:
    Installed (but unpackaged) file(s) found:
   /usr/share/doc/recafoh-prealpha/COPYING
   /usr/share/doc/recafoh-prealpha/ChangeLog
   /usr/share/doc/recafoh-prealpha/INSTALL
   /usr/share/doc/recafoh-prealpha/NEWS
   /usr/share/doc/recafoh-prealpha/README
   /usr/share/doc/recafoh-prealpha/TODO

しかし、それらはBUILDROOT / usr / share / doc / recafoh-prealpha-svn73 / {ChangeLog、README、INSTALL、COPYING、NEWS、AUTHORS}にインストールされており、別の奇妙なことがあります。READMEはBUILDROOT / usr /share/にもインストールされています。 doc/recafoh-prealpha-svn73。

では、1)rpmbuildエラーを解決する方法、2)READMEがrecafoh-prealpha-svn73とREADMEにインストールされ、残りがrecafoh-prealphaにインストールされる理由を誰かが説明できますか?

どうもありがとう

編集:

recafoh.specファイルの関連部分は次のとおりです。

%files
%doc AUTHORS ChangeLog COPYING NEWS README TODO
%{_sbindir}/recafohd
%{_bindir}/recafoh
4

1 に答える 1

5

Fedoraビルドドキュメントによると:'通常、 "%doc"は、%{ buildroot }にコピーされなかった%{_builddir}内のドキュメントファイルを一覧表示するために使用されます。通常、READMEおよびINSTALLファイルが含まれています。それらはディレクトリ/usr/ share / doc /%{name}-%{version}に配置され、その所有権を宣言する必要はありません。

したがって、両方の質問に対する答えは、この1つのポイントに関連しています。あなたのbzip2ファイルにはそれらのドキュメントが含まれていると思います。/usr/share/doc/recafoh-prealpha/ディレクトリに含まれていますか?したがって、ドキュメントを見ると、これが最も重要なポイントです。通常、「%doc」は、%{buildroot}にコピーされなかった%{_builddir}内のドキュメントファイルを一覧表示するために使用されます。

それらをその特定のディレクトリ(およびバージョン固有のディレクトリ)に配置する場合は、%fileセクションを次のように変更します。

%files
%doc AUTHORS ChangeLog COPYING NEWS README TODO
/usr/share/doc/recafoh-prealpha/COPYING
/usr/share/doc/recafoh-prealpha/ChangeLog
/usr/share/doc/recafoh-prealpha/INSTALL
/usr/share/doc/recafoh-prealpha/NEWS
/usr/share/doc/recafoh-prealpha/README
/usr/share/doc/recafoh-prealpha/TODO
%{_sbindir}/recafohd
%{_bindir}/recafoh

/ usr / share / docにのみ必要な場合は、次の%filesセクションを使用します。

%files
/usr/share/doc/recafoh-prealpha/COPYING
/usr/share/doc/recafoh-prealpha/ChangeLog
/usr/share/doc/recafoh-prealpha/INSTALL
/usr/share/doc/recafoh-prealpha/NEWS
/usr/share/doc/recafoh-prealpha/README
/usr/share/doc/recafoh-prealpha/TODO
%{_sbindir}/recafohd
%{_bindir}/recafoh

ドキュメントをバージョン固有のディレクトリにのみ配置する場合は、ドキュメントファイルが最上位になるようにbzip2ファイルを変更してから、最初に提供したスペックファイルで適切に移動する必要があります。

特に%docディレクティブに関するもう少し詳細な情報については、rpm.orgをチェックしてください。

于 2012-11-27T04:08:39.007 に答える