
CentOS 6.5システム用の仕様ファイルを生成しようとしています。 rpmはOSのバージョンに応じて特定のRequires:行を追加するためにバージョンをチェックする必要があります。...まったく機能しません。
仕様ファイルの断片:
%if 0%{?rhel} == 6
Requires: packageName
%endif
%description
Check dependencies and make OS modifications.
%files
/etc/rpm/macros.dist:
# dist macros.
%rhel 6
%centos 6
%centos_ver 6
%dist .el6
%el6 1
私が訪問した多くのWebページによると、コードは機能するはずですが、rpmをインストールするときにpackageNameが必要であるというメッセージを受け取りませんでした。私がここで何を見逃しているのでしょうか?
書き直す...
システムを再インストールしましたが、すべてがうまく機能します。テストシステムの環境が何かを台無しにしているようです...元のコードが動作します。
答え1
%{?rhel}
6
.so に拡張されるので、 に0%{?rhel}
拡張され、06
一致してはいけません6
。
次のことができます。
%if 0%{?rhel}
Requires: packageName
%endif
%description
Check dependencies and make OS modifications.
%files
0
定義されていない場合は%{rhel}
拡張されます。06
定義されている場合は拡張されます。 spec-file-land では、0
値が false、06
値が true です。
または、RHEL / CENTOS 6.Xのみを一致させたい場合(すべてのRHEL / CENTOSではない)、上記と同じロジックに従ってこのオプションを使用してください。
%if 0%{?el6}
Requires: packageName
%endif
%description
Check dependencies and make OS modifications.
%files