5

次のエラーが発生するrpmパッケージをビルドしようとしました

  • /usr/lib/rpm/find-debuginfo.sh /usr/src/redhat/BUILD/RPMS find: 無効な述語 `' エラー: /var/tmp/rpm-tmp.86590 (%install) からの終了ステータスが正しくありません理由があります.誰かがこれで私を助けることができます...ありがとう
4

3 に答える 3

7

BuildRoot仕様ファイルで変数を定義してみてください。find-debuginfo スクリプトはそのディレクトリを数回調べますが、それがないと終了します。

これは通常、次のようになります。BuildRoot: %{_tmpdir}/%{name}-%{version}-%{release}

2 番目の質問については、スペック ファイルとソースを直接見ないと何とも言えません。私は決して RPM の専門家ではありません。Maximum RPM の第 13 章 (オンラインで無料で入手できるコピーがあります) をお勧めします。また、Tom Callaway のプレゼンテーション (良い RPM パッケージの作成方法) からのメモも参照してください。ここにある仕様の例は、過去に非常に役立つことがわかりました。

于 2009-12-15T02:14:34.017 に答える
5

仕様では、上部でこれを行うことができます:

%define debug_package %{nil}

これはこの問題を回避するはずです

于 2011-06-26T19:05:36.777 に答える
1

RedHat 5.3 サーバーでビルドしようとしたときに、これと同じ問題が発生しました。これが私が見つけたものです。エラーは、空のRPM_BUILD_ROOT変数が原因のようです。以下は、問題のある行の 1 つです。

find "$RPM_BUILD_ROOT" ! -path "${debugdir}/*.debug" -type f \
                 \( -perm -0100 -or -perm -0010 -or -perm -0001 \) \
                 -print |

が定義されていない場合RPM_BUILD_ROOT、find の最初の引数は空の文字列 "" であり、このエラーが発生します。興味深いことに、周りから引用符を削除する$RPM_BUILD_ROOTと、最初の引数が「!」になるため、コマンドは正常に機能します。spec ファイルで「:」を定義する必要がないためBuildRoot、これは確かにバグのように見えます。

于 2011-11-23T14:45:40.917 に答える