0

ソフトウェア Y に依存するパッケージ X があります。Y は多くの場合、ユーザーによって手動でコンパイルおよびインストールされますが、常にではありません。

「requires: Y」などの要件を仕様ファイルに入れると、パッケージ Y が YUM によってダウンロードされ、インストールされます。Y がユーザーによってインストールされた場合、単純に上書きされますが、これは問題ありません。

条件を付けないと、Y を持っていない人は、X を実行するために必要なソフトウェアを失うことになります。

Y がインストールされているかどうかを特定の場所でバイナリの存在を確認するか、環境変数を確認することによって知る方法があります。

この状況をどのように処理しますか?

4

1 に答える 1

1

%preRPMファイルのセクションは.spec、バイナリ ファイルの存在を確認するように設定できます。

 %pre
    # Check if binary file exists . If not, exit with an error. 
    if [ -f /path/to/binary/file ]; then
        echo "Info: Pre-requisite exists: /path/to/binary/file"
    else
        echo "Error: Pre-requisite <name> not installed. Exiting..."
        exit 1
    fi
于 2012-06-21T23:14:50.057 に答える