Даже если у вас есть другое решение, я решил предложить другой способ достижения этого. Нет ничего плохого в виртуализации. Вероятно, лучшее решение в любом случае, так как запуск тестовой среды на той же машине, что и производство, небезопасен / безопасен, я думаю. Тем не менее ...
Я бы, вероятно, использовал один файл спецификации в качестве шаблона, а затем это:
...
# somwwhere in the beginning of spec
%global testrel test
#rest of document
Source0: tarball-with-things%{?testrel}.tar.bz
...
%if ${?testrel:1}${!?testrel:0}
# this will execute only in test rpm
%endif
...
Обратите внимание, что особенно интересен макрос %{?testrel}
. Он позволяет обновлять вещи одновременно для обеих версий, но если вы хотите сохранить что-то конкретное для одной или другой версии, вы все равно можете это сделать. Это также не требует каких-либо изменений в базе данных, пользовательских макросов в ~ / .rpmmacros (которые могут меняться в зависимости от системы, на которой она собирается)