My application is able to run on OperatingSystem 3 and on OperatingSystem 4. OS 4 stopped shipping OpenSSL 1.0 in favour of 1.1 (as should be), while OS 3 is still on OpenSSL 1.0. My application links fine against either, but a build for 3 cannot run on 4, nor can a 4 build run on OS 3. This is no problem: I have built separate packages for both OS's, and both work fine against their own OpenSSL versions.

OperatingSystem uses Zypper and RPM for their packages, and crucially, it is customary to host RPMs in one single "user repository".

My current strategy was to append a dist tag, not unlike Fedora's approach: application-0.6.0-0.os3 and application-0.6.0-0.os4, but both OS3 and OS4 want to install the os4 version. I used these Requires statements, adapting for OS versions:

Requires: os-version < 4.0 
Requires: os-version >= 3.0

and os-version is a pre-existing meta-package.

At this point, I'm unsure what to try (except to create a second "user repository", which would be a trivial but "ugly" solution in a sense).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.