Версии RPM бок о бок - PullRequest
       71

Версии RPM бок о бок

3 голосов
/ 15 апреля 2011

Каков «правильный» способ, если таковой имеется, для разработки RPM, чтобы несколько версий можно было устанавливать через YUM / RPM бок о бок, не нажимая друг на друга?Для библиотек правильный ответ, по-видимому, связан с sonames, хотя я не могу найти никакой хорошей информации о том, как sonames, символические ссылки и RPM взаимодействуют друг с другом.Я понятия не имею, как исполняемые и простые файлы должны быть названы / размещены, чтобы размещаться рядом.Кажется, что правильное поведение в том, что касается исполняемых файлов, будет иметь более новую версию в PATH, но иметь более старую версию в PATH, если более новый RPM удален.

1 Ответ

3 голосов
/ 21 мая 2011

По сути, вы должны убедиться, что версии не конфликтуют:

  • Требования / Конфликты не должны иметь конфликтующих требований
  • Каждое имя файла должно существовать только в одной версии - если только они не идентичны
  • Scriptlets (% post ect), если они у вас есть, должны сотрудничать

Обратите внимание, что у вас будут проблемы с установкой нескольких версий с помощью yum, поскольку yum рассчитан на установку одной версии за раз - за исключением ядра. Если вы установите / обновите пакет с помощью yum, все старые версии будут удалены. Следовательно, вам нужно будет использовать rpm -i для каждой версии.

Что касается более поздних двоичных файлов на пути, то это невозможно сделать правильно. Вам либо нужно сделать что-то вроде python, где пользователь должен указать python или python3 в командной строке, либо вы должны потанцевать с созданием символических ссылок на пути к бинарному файлу, который вы хотите. Это должно быть сделано в скриптлетах, и управлять им довольно сложно. Это также означает, что символическая ссылка не будет принадлежать ни одному пакету.

...