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).