Я пытаюсь обновить curl на машинах RHEL / CentOS. Я нашел то, что кажется подходящими исходными пакетами в нескольких репозиториях. (т.е. http://mirror.centos.org/centos/6/os/SRPMS/Packages/curl-7.19.7-16.el6.src.rpm)
При попытке сделать rpm из исходного пакета с помощью rpmbuild
, Я получаю следующий результат;
# 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
Проблема, похоже, в том, что исходный код предназначен для Fedora, которая использует SHA-256. Зарегистрирована ошибка Вот в котором есть комментарии, указывающие на то, что есть способ обойти контрольную сумму md5. Однако это не очень подробно.
Есть ли способ установить этот пакет?
Если у вас нет коробки CentOS 6, доступной как @Tometzky предполагает, что это будет работать:
cd ~/rpmbuild/SOURCES
rpm2cpio ~/path/to/your/curl-*.src.rpm | cpio -idmv
mv *.spec ~/rpmbuild/SPECS/
rpmbuild -ba ~/rpmbuild/SPECS/curl.spec
К сожалению, восстановление curl из CentOS 6 на CentOS 5 требует гораздо больших сложностей, помимо этого первого препятствия, включая:
Я предполагаю, что вы хотите обновить CentOS5 curl до версии CentOS6. Я думаю, проблема не в подписи SHA256, а в сжатии XZ / LZMA, которое не поддерживается CentOS5.
Вам необходимо:
yum install rpm-build yum-utils
yumdownloader --source curl
rpm -i curl-*.src.rpm
scp -pr ~/rpmbuild your_username@your_centos_ip:
rpmbuild -ba ~/rpmbuild/SPECS/curl.spec
Я думаю, вы говорите об этой ошибке: https://bugzilla.redhat.com/show_bug.cgi?id=490613#c15
К вашему сведению: SRPM, которые содержат rpm с поддержкой сильных хэшей + xz, доступны в репозиториях инфраструктуры Fedora:
http://infrastructure.fedoraproject.org/builder-rpms/SRPMS/
Я очень давно использую их на своих конструкторах, и они прекрасно работают. Было бы здорово, если бы они были официально приняты в 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/
Пытаться:
rpmbuild --rebuild --define "_source_filedigest_algorithm md5" --define "_binary_filedigest_algorithm md5" curl-7.19.7-16.el6.src.rpm
Если это не сработает, вам может потребоваться извлечь RPM, а затем перестроить его:
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
У меня может быть неправильное имя файла спецификации в последней команде.