По сути, вы должны убедиться, что версии не конфликтуют:
- Требования / Конфликты не должны иметь конфликтующих требований
- Каждое имя файла должно существовать только в одной версии - если только они не идентичны
- Scriptlets (% post ect), если они у вас есть, должны сотрудничать
Обратите внимание, что у вас будут проблемы с установкой нескольких версий с помощью yum, поскольку yum рассчитан на установку одной версии за раз - за исключением ядра. Если вы установите / обновите пакет с помощью yum, все старые версии будут удалены. Следовательно, вам нужно будет использовать rpm -i для каждой версии.
Что касается более поздних двоичных файлов на пути, то это невозможно сделать правильно. Вам либо нужно сделать что-то вроде python, где пользователь должен указать python или python3 в командной строке, либо вы должны потанцевать с созданием символических ссылок на пути к бинарному файлу, который вы хотите. Это должно быть сделано в скриптлетах, и управлять им довольно сложно. Это также означает, что символическая ссылка не будет принадлежать ни одному пакету.