我签出了源代码树(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
,但它可以帮助您在本地系统上安装所有构建工具和所需的开发库。