У меня есть следующая запись в моем файле package .spec:
Requires: jdk >= 1.7
Несмотря на то, что jdk-1.6.0_45-fcs.x86_64 установлен, мой пакет устанавливается без проблем (даже без предупреждений). Как принудительно остановить установку моего пакета, пока не будет установлена необходимая версия Java?
Спасибо!
Наткнулся на этот пост, пытаясь понять это сам. Закончилось этим как решение.
jdk >= 2000:1.7.0_15
Это произошло, когда я попробовал выполнить команду «yum list installed | grep jdk» и обнаружил, что моя текущая версия - 2000: 1.6.0_45. Это привело меня к использованию 2000: 1.7.0_15, который удалил 1.6 и установил 1.7 для меня.
Я искал некоторые подробности о версиях пакетов и нашел эту ссылку, http://www.rpm.org/max-rpm-snapshot/s1-rpm-depend-manual-dependencies.html
Похоже, это то, что называется Эпохой. «Когда RPM не может расшифровать номер версии пакета, пора вытащить тег Epoch. Этот тег используется, чтобы помочь RPM определить порядок номеров версий».
«Чтобы RPM смотрел на номер эпохи вместо номера версии при проверке зависимостей, необходимо использовать«: »перед версией в строке тега Requires».