Я взял Apache httpd 2.2.3 SRPM и извлек файл .spec. Из этого я заменил 2.2.3 на 2.2.14 и удалил тег Serial
из specfile (поскольку rpmbuild
пожаловался на тег Serial - я полагаю, это устарело). Скачал архив httpd и собрал (rpmbuild
) без ошибок (к моему удивлению).
После запуска rpm --upgrade
<newrpms> я получил ошибку, что мои новые RPM не были более новыми версиями, хотя тег Version
явно позже. Я установил Release
, однако, на 1.
Я попытался просмотреть Google, чтобы узнать, как rpm
определяет, какая самая новая версия (не повезло). Из команд rpm -qi
меня есть следующее для установки по умолчанию 2.2.3:
Name : httpd Relocations: (not relocatable) Version : 2.2.3 Vendor: CentOS Release : 31.el5.centos Build Date: Thu 03 Sep 2009 10:43:06 PM BST Install Date: Mon 26 Oct 2009 10:27:12 AM GMT Build Host: builder16.centos.org Group : System Environment/Daemons Source RPM: httpd-2.2.3-31.el5.centos.src.rpm Size : 3254910 License: Apache Software License Signature : DSA/SHA1, Sun 20 Sep 2009 04:53:42 AM BST, Key ID a8a447dce8562897 URL : http://httpd.apache.org/ Summary : Apache HTTP Server
Из моей сборки 2.2.14 у меня есть:
Name : httpd Relocations: (not relocatable) Version : 2.2.14 Vendor: Apache Software Foundation Release : 1 Build Date: Mon 16 Nov 2009 11:40:41 AM GMT Install Date: Mon 16 Nov 2009 11:44:38 AM GMT Build Host: build01.local Group : System Environment/Daemons Source RPM: httpd-2.2.14-1.src.rpm Size : 5101686 License: Apache License, Version 2.0 Signature : (none) URL : http://httpd.apache.org/ Summary : Apache HTTP Server
Итак, вопрос: как rpm
определяет, какой самый последний RPM для целей обновления?