7.4. 使用 gem2rpm 生成 spec 文件


您可以使用 gem2rpm 实用程序创建 RPM spec 文件。

7.4.1. 为 Ruby gem 创建 RPM spec 文件

您可以使用 gem2rpm 工具为 RubyGems 软件包生成 RPM spec 文件。

先决条件

  • 您已在系统中安装了 gem2rpm 工具:

    $ gem install gem2rpm
    Copy to Clipboard Toggle word wrap

流程

  1. 在其最新版本中下载 gem,并为这个 gem 生成 RPM 规格文件

    $ gem2rpm --fetch <gem_name> > <gem_name>.spec
    Copy to Clipboard Toggle word wrap
  2. 编辑生成的 spec 文件以添加缺失的信息,例如许可证和更改日志。

7.4.2. 使用自定义 gem2rpm 模板生成 spec 文件

gem2rpm 模板是标准 嵌入式 Ruby (ERB) 文件,可以从中生成 RPM spec 文件。您可以编辑生成的 RPM spec 文件的模板,而不是编辑生成的 spec 文件。

先决条件

  • 您已在系统中安装了 gem2rpm 工具:

    $ gem install gem2rpm
    Copy to Clipboard Toggle word wrap

流程

  1. 显示所有 gem2rpm 内置模板:

    $ gem2rpm --templates
    Copy to Clipboard Toggle word wrap
  2. 选择其中一个内置模板并将其保存为自定义模板:

    $ gem2rpm -t <template> -T > rubygem-<gem_name>.spec.template
    Copy to Clipboard Toggle word wrap

    请注意,对于 RHEL 10 Beta,建议使用 fedora-27-rawhide 模板。

  3. 根据需要编辑模板。如需更多信息,请参阅 gem2rpm 模板变量
  4. 使用编辑的模板生成 spec 文件:

    $ gem2rpm -t rubygem-<gem_name>.spec.template <gem_name>-<latest_version>.gem > <gem_name>-GEM.spec
    Copy to Clipboard Toggle word wrap

7.4.3. gem2rpm 模板变量

以下是 RPM spec 文件生成的 gem2rpm 模板中包含的变量。

Expand
表 7.3. gem2rpm 模板中的变量
变量解释

package

gem 的 Gem::Package 变量。

spec

gem 的 Gem::Specification 变量(与 format.spec相同)。

config

Gem2Rpm::Configuration 变量,可以重新定义 spec 模板帮助程序中使用的默认宏或规则。

runtime_dependencies

Gem2Rpm::RpmDependencyList 变量提供软件包运行时依赖项列表。

development_dependencies

Gem2Rpm::RpmDependencyList 变量提供软件包开发依赖项列表。

测试

Gem2Rpm::TestSuite 变量提供允许执行测试框架的列表。

files

Gem2Rpm::RpmFileList 变量提供软件包中未过滤的文件列表。

main_files

Gem2Rpm::RpmFileList 变量提供适合主软件包的文件列表。

doc_files

Gem2Rpm::RpmFileList 变量提供适合 -doc 子软件包的文件列表。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat