在RHEL / CentOS上安装Fedora Source软件包

我试图在RHEL / CentOS机器上升级curl。 我发现似乎是一些回购合适的源代码包。 (即, http://mirror.centos.org/centos/6/os/SRPMS/Packages/curl-7.19.7-16.el6.src.rpm

当试图使用rpmbuild从源代码包创build一个rpm时,我得到以下输出:

 # rpmbuild --rebuild curl-7.19.7-16.el6.src.rpm Installing curl-7.19.7-16.el6.src.rpm warning: InstallSourcePackage: Header V3 RSA/SHA256 signature: NOKEY, key ID c105b9de warning: user mockbuild does not exist - using root warning: group mockbuild does not exist - using root error: unpacking of archive failed on file /usr/src/redhat/SOURCES/curl-7.15.3-multilib.patch;4e984633: cpio: MD5 sum mismatch error: curl-7.19.7-16.el6.src.rpm cannot be installed 

这个问题似乎是来源于使用SHA-256的Fedora。 这里有一个错误,有评论表明有一种方法来规避MD5校验。 但是,这不是很详细。

有没有办法来安装这个软件包?

我假设你想把CentOS5 curl升级到CentOS6的一个版本。 我认为问题不在于SHA256签名,而在于CentOS5不支持的XZ / LZMA压缩。

你需要:

  • 在备用电脑或虚拟机上运行CentOS6 – LiveCD就足够了
  • 在CentOS6上: yum install rpm-build yum-utils
  • 在CentOS6上: yumdownloader --source curl
  • 在CentOS6上: rpm -i curl-*.src.rpm 。src.rpm
  • 在CentOS6上: scp -pr ~/rpmbuild your_username@your_centos_ip: -pr〜 scp -pr ~/rpmbuild your_username@your_centos_ip:
  • 在CentOS5上: rpmbuild -ba ~/rpmbuild/SPECS/curl.spec

如果你没有@Tometzky提供的CentOS 6盒子,

 cd ~/rpmbuild/SOURCES rpm2cpio ~/path/to/your/curl-*.src.rpm | cpio -idmv mv *.spec ~/rpmbuild/SPECS/ rpmbuild -ba ~/rpmbuild/SPECS/curl.spec 

不幸的是,在CentOS 5上从CentOS 6重buildcurl涉及更多的复杂性,除了第一个障碍之外,还包括:

  • 在CentOS 5上重新安装CentOS 6的libssh2
  • 安装lzma
  • 其他的事情,我还没有弄清楚

尝试:

 rpmbuild --rebuild --define "_source_filedigest_algorithm md5" --define "_binary_filedigest_algorithm md5" curl-7.19.7-16.el6.src.rpm 

如果这不起作用,您可能需要提取RPM然后重新构build它:

 rpm -i --nomd5 curl-7.19.7-16.el6.src.rpm rpmbuild -ba --define "_source_filedigest_algorithm md5" --define "_binary_filedigest_algorithm md5" /usr/src/redhat/SPECS/curl.spec 

我可能在最后一个命令上有错误的spec文件名。

我想你是在谈论这个bug: https : //bugzilla.redhat.com/show_bug.cgi?id=490613#c15

仅供参考:Fedora Infrastructure存储库提供包含带有反向端口强哈希+ xz负载支持的rpm的SRPM:

http://infrastructure.fedoraproject.org/builder-rpms/SRPMS/

我一直在使用这些在build设者很长一段时间,他们很好地工作。 如果他们被正式接受进入RHEL5,那将是非常好的。

你想要rpm-4.6.0-4.0.notting.1.el5

src.rpm或二进制文件在:

http://infrastructure.fedoraproject.org/builder-rpms/SRPMS/

http://infrastructure.fedoraproject.org/builder-rpms/i386/

http://infrastructure.fedoraproject.org/builder-rpms/x86_64/