RPM文件命名约定 - 已知指南?

时间:2013-04-20 14:21:36

标签: rpm conventions

我有太多的依赖关系:

  1. OS(RHEL vs CentOS vs Suse vs Ubuntu)
  2. 操作系统版本号
  3. 编译器名称和版本号
  4. 从属库及其版本号
  5. 用于构建库以确保ABI兼容性的编译器选项
  6. 我的代码现在主要是C ++,我需要创建rpms,名称应该足够描述。然而,由于rpm名称变得非常大,因此将项目1-5考虑在内会使事情变得困难。

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

1 个答案:

答案 0 :(得分:2)

准则是正确填写您的spec文件并使用rpmbuild生成的名称。

  1. 操作系统版本包含在发布标记中。您可以为RHEL / CentOS设置Release标记为1.el6。某些发行版提供的%{dist}宏可扩展为.el6
  2. 与第一点相同
  3. 编译器没有约定。您可以将编译器的名称添加到软件的名称中,但是您必须处理冲突,因为您可以多次安装相同的软件。
  4. 依赖的图书馆通常不会以rpm的名义存放。那将是一个非常长的名字。它们列在spec文件的Requires标记中。对于C ++程序,rpm可以自动检测依赖项,您必须设置的只是BuildRequires标记(构建软件所需的包)
  5. 与4.相同,libs的编译器选项通常不会放在文件名中。但是,应该使用尽可能多的启用功能编译rpms。
  6. 所以,为了回答你的问题,有前两点的指导方针,但不适用于其他问题,因为这通常是不需要的(并且它们不是好主意)。