使用 .spec 文件从源代码签出构建二进制 RPM 的最简单方法是什么

使用 .spec 文件从源代码签出构建二进制 RPM 的最简单方法是什么

我签出了源代码树(https://github.com/hautreux/slurm-spank-x11,出于好奇),其中包含.spec用于构建 RPM 包的文件。我的问题是,从源树构建二进制 RPM 的最简单方法是什么?在 Debian 世界中,我只是debian/rules binary从源代码树内部运行。在 RPM 世界中是否有类似的操作可以如此简单?

答案1

最简单的方法是使用rpmbuild.

rpmbuild <spec file>是相当于 的 RPM fakeroot debian/rules binary

软呢帽

在第一次构建之前,您需要通过安装开发工具组来准备构建系统:

# yum install @development-tools

然后:

# yum install fedora-packager

作为用户(而不是 root)创建您的构建环境:

$ rpmdev-setuptree

这将创建一个目录树:

~/rpmbuild
       ├── BUILD
       ├── BUILDROOT
       ├── RPMS
       ├── SOURCES
       ├── SPECS
       └── SRPMS

构建:

您的spec文件位于SPECS目录中,源代码位于SOURCES.

然后您切换到该SPECS目录并运行rpmbuild <spec file>

当然,除上述之外,还有更多内容。详细信息可在费多拉维基

红帽或 CentOS

rpmbuild这些发行版使用相同的工具 ( ),但过程和所需的包略有不同。 CentOS 的详细信息位于CentOS 维基

铜管服务

这是Fedora 提供的构建服务,允许您上传源RPM ( srpm) 文件并让该服务为任何目标(例如RedHat/CentOS 或Fedora)构建它。您仍然需要打包源代码和文件spec,但它可以帮助您在本地系统上安装所有构建工具和所需的开发库。

相关内容