1

LTIB を介して rpm を構築する際に発生している問題について、私は頭を悩ませています。独自の仕様ファイルを作成しようとしていますが、何らかの理由で、定義した単純なマクロが %Files セクション内で展開されないようです。

たとえば、スペック ファイルの先頭には次のように記述されています。

%define myfilepath %{pfx}/lib/python%{pyver}/site-packages/wx-2.8-gtk2-unicode/

私の %Files セクションは次のようになります。

%Files
%defattr(-,root,root)
%{myfilepath}

それでも ./ltib -m scdeploy -p を実行すると、次のエラーが表示されます

RPM ビルド エラー: ファイルは "/" で始まる必要があります: %{myfilepath} wxPython のビルド時間: 0 秒

足りないものはありますか?ドキュメントのどこにも、%Files セクションでマクロが許可されていないことがわかりません。事前定義されたマクロは %files セクション内で正常に展開されるように見えますが、spec ファイルのヘッダーで %define で定義したマクロは、scdeploy オプションで ltib を実行すると未定義のように動作します。ltib withprep、scbuild、および scinstall モードを実行すると、すべてのマクロが期待どおりに機能します。

編集:ltibバージョン9.1.1、rpmbuildバージョン4.0.4を使用

4

1 に答える 1

1

ltibのソースを見た後、なんとかそれを理解することができました。scdeploy モードで実行すると、ltib が spec ファイルを作成することがわかりました。この捏造された仕様ファイルは、記述した仕様ファイルの %files セクションの内容のみを保持するため、そこで定義したヘッダーとすべてのマクロは失われます。

LTIB が sbuild や scinstall などではなく scdeploy に対してこのように動作する理由がわかりません。LTIB メーリング リストに質問があります。

于 2013-11-11T15:44:24.437 に答える