我想我们在工作中构建系统转换到cmake并遇到了与它生成(通过cpack)RPM包一个有趣的问题:它会自动添加所有它认为你的RPM有其所需的列表之间的依赖关系库。
在一般情况下,这是伟大的,但对我来说,这是灾难性的。 不幸的是,我们建立最终的开发包越来越安装与使用rpm从系统中的一个单独的RPM数据库安装它们一个我们本土的工具。 这是愚蠢的,但我不能改变它。 这意味着所有,任何正常库将依赖(如libc的或的libpthread)的系统库都没有在正在与我们的开发包使用的RPM数据库。 所以,如果我们的开发包之一的RPM列出为被需要的系统库,那么我们就可以不安装它,因为转速会认为他们没有安装(因为他们在正常的数据库正在上市,而不是一个,它的被告知我们的安装包)时使用。 我们目前建立的东西处理这只是罚款,因为它没有列出任何系统库中的RPM依赖关系,但cpack自动填充所需的库的RPM的列表和使系统库在那里。 我需要一种方法来这样做停止它。
我试着设置CPACK_RPM_PACKAGE_REQUIRES
到""
,但没有任何效果。 的RPM cpack产生仍与列为被要求的系统库结束。 所有我能想到在这一点上做的是复制RPM cpack发生器和劈它做什么,我想和用它来代替标准之一,但我宁愿避免这种情况。 没有人有任何想法,我怎么能拿cpack停止填充与所需的库RPM?