1

我有太多的依赖:

  1. 操作系统(RHEL vs CentOS vs Suse vs Ubuntu)
  2. 操作系统版本号
  3. 编译器名称和版本号
  4. 依赖库及其版本号
  5. 用于构建库以确保 ABI 兼容性的编译器选项

我的代码现在主要是 C++,我需要创建 rpm,并且名称应该足够具有描述性。然而,考虑到第 1-5 项使事情变得困难,因为 rpm 名称变得非常大。

我们是否有任何已知的指导方针来解决此类问题?

4

1 回答 1

2

指导方针是正确填写您的规范文件并使用 rpmbuild 生成的名称。

  1. 操作系统版本包含在发布标签中。例如,您可以将Release标签设置1.el6为 RHEL/CentOS。一些发行版提供了一个%{dist}扩展为类似.el6.
  2. 与第一点相同
  3. 编译器没有约定。您可以将编译器的名称添加到软件的名称中,但是您必须处理冲突,因为您可以多次安装相同的软件。
  4. 依赖库一般不放在 rpm 名下。那将是一个很长的名字。它们列在Requires规范文件的标签中。对于 C++ 程序,rpm 可以自动检测依赖关系,您只需设置BuildRequires标签(构建软件所需的包)
  5. 同 4.,libs 的编译器选项一般不放在文件名中。然而,rpms 应该使用尽可能多的启用功能进行编译。

所以,为了回答你的问题,前两点有指导方针,但其他点没有,因为这通常是不需要的(而且它们不是好主意)。

于 2013-04-20T17:11:18.123 回答