2016-05-30 4 views
2

同じパッケージ(同じパッケージ)で2つのトリガを実行する必要がある場合は少し必要ですが、残念ながらRPM仕様ファイルでは時間。同じパッケージ内に2つのトリガを実行していないRPM仕様ファイル

誰でも次の2つのトリガーを実行する方法を教えてもらえますか?

%のtriggerpostun - ODC#SHRTVER_NODOT#
%のtriggerpostun - odc1010 < = 10.10.01.00

ここで、SHRTVER_NODOT - > 1010

第一1はすべてのバージョンで実行されます(それ(例:900,910,1000,1010 ...)
2番目は特定のバージョンが見つかったときに実行する必要があります(10.10.01.00のみ)

これらの2つのトリガーを切り替えてみました。 (コード賢明ですが)一度に1つのトリガー(どちらか早い方が来る)だけです。

この2つのトリガーを実行するためにspecファイルを作成する方法を教えてもらえますか?

ありがとうございます!

EDIT ::

ありがとうございますが、この記事では、トリガーとspecファイル内の実行の仕方の異なる種類を指します。私はspecファイルにいくつかの他のトリガを持っていますが、残念ながらそれらのどれもがこの種の動作をしません。

%のtriggerin - < 10.10.01.00
%のtriggerpostun ODC - このよう

ODCも私は2つの以上のトリガーを持っていますが、必要なバージョンのパッケージが見つかった時はいつでもこれらは完全に実行されています。

+0

ヒント...可能性があります... http://rpm.org/api/4.4.2.2/triggers.html .. –

+0

これに関連するバグがあるようです。私はアンインストールされているパッケージのバージョンを抽出する回避策を得ようとしました。これは "postun"トリガーなので、私たちはそのバージョン番号をもう抽出できません。 "postun"と "un"トリガの組み合わせを使用して、一時ファイルにバージョンを格納することで非常に汚い回避策を持つ方法があります... –

+0

はい、回避策のために両方のスクリプトを同じトリガで組み合わせましたが、残念ながら私他のスクリプトと一緒にすべてのバージョンに対して実行する新しいスクリプト(1つのバージョンのみを実行する必要があります)。私はどうすればこの問題を解決することができないのですか?だから、私は2つのトリガーを作成しましたが、ここでは一度に1つのトリガーしか実行しません。 –

答えて

0

RPMの古いバージョンの中には、それぞれのタイプごとにパッケージごとに1つのトリガーしか実行しないものがありました。 rpm-4.4.2.2(RHEL5/CentOS5?)は、このカテゴリにある可能性があります

関連する問題