A pattern that can be used for this use-case is to use %{datadir}/sriov-network-operator and have a WORKDIR statement in the Dockerfile pointing to that directory.
I'd keep this one simple and just don't care about s390x as we don't support that architecture
If this is verbatim from openSUSE Factory or better from SLFO, then we usually do a git submodule to link to it.
%{_libexecdir}/ib-sriov-cni/entrypoint.sh would make more sense imho, and then in Dockerfile use /usr/libexec/... as entrypoint.
Can you add a comment that these two are set like this upstream. It feels weird otherwise to define them like this
Some of the comments are applying to all the specfiles.
Hmm, why is everything going from registry.rancher.com/rancher to just rancher/ and it looks like some images are missing, I don't see any of ours...