你们中有人知道如何在 el6 主机上运行时使用 rpmbuild 为 el5 系统构建规范文件吗? spec是py脚本的简单封装。 el5 和 el6 rpm 之间的差异应该由 python 依赖项(python-json 等)决定
我尝试过使用rpmbuild -bb --target noarch-linux-el5 foo.spec
and 类似的,但没有运气......:)
任何想法?
谢谢
答案1
两个系统上的 rpm 构建环境之间存在令人兴奋且具有挑战性的差异。
你考虑过模拟吗?这是 Fedora-land 的一个软件项目,位于https://fedoraproject.org/wiki/Mock。它显然是为跨环境 RPM 构建而设计的。
我自己的构建仍然是自托管的(制作 EL5 VM,在那里构建,制作 EL6 VM,在那里构建等),但模拟在我自己的列表中以供检查。
答案2
对我来说最简单的方法是在 el6 主机中使用目标发行版 (el5) 创建虚拟机。这只是几分钟的问题,结果是确定的。
答案3
将它们添加到 rpmbuild 命令行(甚至添加到 .rpmmacros)。
--define "_source_filedigest_algorithm md5" --define "_binary_filedigest_algorithm md5"
我建议使用模拟来构建 el5 - 但你仍然需要 el5 兼容的 SRPMS,所以你至少需要使 source_filedigest 兼容。
$ rpmbuild --define "_source_filedigest_algorithm md5" --define "dist .el5" -bs lbatofile.spec
Wrote: /home/stuart/rpm/SRPMS/lbatofile-0.3-1.el5.src.rpm
$ mock -r epel-5-i386 ../SRPMS/lbatofile*el5*