RHEL6上制作RHEL5 srpm

如果直接在rhel6上面制作rhel5的srpm的话,编译的时候会出错:

error: unpacking of archive failed on file /builddir/build/SOURCES/98-kexec.rules;4cea13ae: cpio: MD5 sum mismatch

google 了一下发现这是因为从 Fedora 12 开始 RPM 压缩算法改变了。一个解决方法是创建一个脚本 /usr/bin/rpmbuild-md5,其内容如下:

[bash]

!/bin/bash

rpmbuild —define “_source_filedigest_algorithm 1”
—define “_binary_filedigest_algorithm 1”
—define “_binary_payload w9.gzdio”
—define “_source_payload w9.gzdio”
—define “_default_patch_fuzz 2” “$@”
[/bash]

然后制作srpm的时候调用 rpmbuild-md5 就行了。

在Fedora上,fedora-packager 这个包已经提供了这个命令,但在RHEL6上面没有。