1

いくつかの異なる VM (CentOS5 32 & 64、CentOS6 32 & 64、Fedora など) でパッケージをビルドしています。結果の RPM ファイルには、次のように name.version.release.arch.rpm が含まれます。

foo-1.1-1.i386.rpm

しかし、代わりに、次のように出力したい:

foo-1.1-1.el5.i386.rpm

どこ(仕様ファイル? .rpmmacros?) で、どのように行うのですか?

前もって感謝します。

4

2 に答える 2

3

.spec ファイルでは、これを使用します。

Release: 1%{?dist}

これは、el6 RHEL6 などに置き換えられます。少なくとも、'@Development tools' と rpmdevtools がインストールされた Oracle Linux 6.5 では。

于 2014-02-05T16:16:42.060 に答える
1

Releaseタグ内:

Release: 1.el5

多くの場合、人々はカスタム定義を作成し、それを含めます。

%define OSshort el5
Release: 1%{?OSshort}

次に、ロジックを使用して、構築している OS に基づいて OSshort を定義することもできます。

更新: ReleaseOSshort が定義されている場合にのみ使用するようにタグを変更しました。次に、スペックファイルで未定義のままにして、ビルドコマンド中に定義できます

$ rpmbuild -bb --define 'OSshort _el5'

OS/ディストリビューションをテストし、解析を伴う自動生成ロジックを作成するのはもう少し複雑で、今のところ例を見つけることができません。

于 2011-08-15T21:43:27.817 に答える