Мое приложение может работать в операционной системе 3 и в операционной системе 4. OS 4 прекратила поставку OpenSSL 1.0 в пользу 1.1 (как и должно быть), в то время как OS 3 все еще использует OpenSSL 1.0. Мое приложение отлично линкуется ни с тем, ни с другим, но сборка для 3 не может работать на 4, а сборка 4 не может работать на ОС 3. Это не проблема: я создал отдельные пакеты для обеих ОС, и оба прекрасно работают со своими собственными версиями OpenSSL. .
Операционная система использует Zypper и RPM для своих пакетов, и, что особенно важно, принято размещать RPM в одном единый "пользовательский репозиторий".
Моя текущая стратегия состояла в том, чтобы добавить расстояние
тег, мало чем отличающийся от подхода Fedora: приложение-0.6.0-0.os3
и приложение-0.6.0-0.os4
, но и OS3, и OS4 хотят установить ОС4
версия. я использовал эти Требует
операторы, адаптированные для версий ОС:
Требуется: версия ОС < 4.0
Требуется: версия ОС >= 3.0
и ОС-версия
является уже существующим мета-пакетом.
На данный момент я не уверен, что попробовать (кроме создания второго «пользовательского репозитория», что было бы тривиальным, но в некотором смысле «уродливым» решением).