Назад | Перейти на главную страницу

YUM Upgrade при изменении имени пакета

API Gateway Kong решил изменить название своего пакета Centos.

Для версий до 1.1 это «kong-community-edition», после этого пакета имя просто «kong».

kong-community-edition.noarch            1.0.2-1                bintray--kong-kong-rpm
kong-community-edition.noarch            1.0.3-1                bintray--kong-kong-rpm
kong-community-edition.noarch            1.1.0rc1-1             bintray--kong-kong-rpm
kong.noarch                              1.2.1-1                bintray--kong-kong-rpm
kong.noarch                              1.2.2-1                bintray--kong-kong-rpm
kong.x86_64                              1.3.0-1                bintray--kong-kong-rpm

Могу ли я каким-то образом сказать YUM обновить текущую установку kong-community-edition 1.1 до пакета kong 1.3?

Я пробовал обновить текущую установленную версию (1.1.0rc1-1)

yum upgrade kong-community-edition

но он сообщает, что обновление недоступно.

Я тоже пробовал обновиться специально на новую версию

yum upgrade kong-1.3.0-1

но это сообщает, что Kong не установлен.

Я также пробовал использовать установку для установки новой версии.

yum install kong-1.3.0-1

но это сообщает о конфликтах с файлами, созданными kong-community-edition.

Могу ли я как-нибудь сказать yum, что версия после kong-community-edition-1.1.0rc1-1 на самом деле является kong-1.2.1-1, поэтому я могу использовать yum upgrade.

На данный момент единственный вариант, который у меня есть, это удалить пакет kong-community-edition и добавить новый пакет kong.

yum remove kong-community-edition
yum install kong

но я надеялся вместо этого сделать обновление на месте.

Ответ:

Как пользователь пакетов это невозможно. Пакет kong должен правильно идентифицировать, что он устарел пакет kong-community-edition, и это должно быть сделано сопровождающим пакета.

Чтобы обойти: удалите kong-community-edition, установите kong

Если вы получите обороты конга и запустите rpm -q --obsoletes kong-1.3.0.rhel7.amd64.rpm вы увидите, что "kong-community-edition" нет. Следовательно, yum install kong не знает, как удалить "" kong-community-edition ". Вам нужно будет выполнить удаление и установку.

Если вы посмотрите репо https://github.com/Kong/kong-build-tools.git вы можете видеть, что fpm используется для создания оборотов в fpm-entrypoint.sh около строки 38 и вызов fpm не включает в себя --replaces что переводится как устаревшее на жаргоне rpm.