我已成功使用Cmake版本3.13.4(在CentOS 7上)构建C ++ 项目,然后使用CPack(来自CMake)构建两个RPM,一个RUNTIME和一个 一个DEVEL。我已经使用以下命令将DEVEL设置为取决于运行时间:
SET(CPACK_RPM_DEVEL_PACKAGE_REQUIRES "${PROJECT_NAME} == ${FULL_VERSION}-${RELEASE_STRING}%{?dist}")
这完全符合我的期望;要求DEVEL软件包具有 与安装的RUNTIME完全相同的发行版。
我还使用:SET(CPACK_RPM_RUNTIME_DEBUGINFO_PACKAGE ON)
为运行时RPM中的代码创建一个单独的debuginfo RPM。这也是
可以按预期工作。如果用户已安装所有三个RPM,则
一切都好。然后,他们了解到(所有三个RPM)的更新。
放置在仓库中,因此他们运行“ sudo yum update myRpm-devel”,知道
这还将更新运行时程序包。不幸的是,这没有更新
debuginfo软件包,因此它们不再同步。
我四处搜寻,并尝试使用
CPACK_RPM_<COMPONENT_NAME>_DEBUGINFO_PACKAGE_REQUIRES
来自CMake的变量,
但它不起作用,而且由于我正在使用CPack生成我的SPEC文件,因此无法
看到另一种修改它们的方法。 CPack仅生成两个SPEC文件,一个用于
DEVEL和一个RUNTIME,以及其他说明
生成debuginfo都在RUNTIME的SPEC文件中。
是否可以为debuginfo RPM设置软件包需求?