作業中のビルドシステムをcmakeに変換しようとしていますが、(cpackを介して)生成されるRPMで興味深い問題が発生しました。RPMが必要と考えるすべての依存関係が自動的にリストに追加されます。ライブラリ。
一般的に、それは素晴らしいことですが、私の場合、それは壊滅的です。残念ながら、私たちが構築する開発パッケージは、rpmを使用してシステムデータベースとは別のRPMデータベースにインストールする自社製ツールの1つでインストールされることになります。ばかげていますが、変えられません。これが意味するのは、通常のライブラリが依存するすべてのシステムライブラリ(libcやlibpthreadなど)が、開発パッケージで使用されているRPMデータベースにないということです。したがって、開発パッケージの1つのRPMにシステムライブラリが必須としてリストされている場合、rpmはそれらがインストールされていないと見なすため、インストールできません(それらは、通常のデータベースではなく通常のデータベースにリストされているため)パッケージをインストールするときに使用するように指示されていること)。私たちの現在のビルドのものはこれをうまく処理します、これは、RPMの依存関係としてシステムライブラリがリストされていないためですが、cpackはRPMの必要なライブラリのリストに自動的にデータを入力し、そこにシステムライブラリを配置します。私はそれがそうするのを止める方法が必要です。
に設定CPACK_RPM_PACKAGE_REQUIRES
してみまし""
たが、効果がありません。生成されるRPMCpackは、システムライブラリが必須としてリストされたままになります。この時点で私が考えることができるのは、RPM cpackジェネレーターをコピーしてハックし、標準の代わりにそれを使用してやりたいことを実行することですが、それは避けたいと思います。誰かがcpackに必要なライブラリをRPMに追加するのをやめる方法を知っていますか?