My last comment contained a completely wrong statement by me. It should read: "If you don't and make the definitions in :Update or d:l:p:backorts but directly in d:l:p, you need to wrap them in %if conditions so that they don't conflict with the inherited Factory definitions for Tumbleweed." I have updated the Wiki to reflect the current state. Note the difference in https://build.opensuse.org/package/show/devel:languages:python/python-injector between 15.3 and 15.4: 15.3 does not have a new enough python-rpm-macros nor the prjconf definitions: unresolvable: nothing provides if, nothing provides %python-base < 3.9, nothing provides %python-base < 3.7, nothing provides python-rpm-macros >= 20210131, (got version 20200207.5feb6c1-3.11.1) 15.4 does have it but is missing the prjconf definitions: unresolvable: nothing provides if, nothing provides %python-base < 3.9, nothing provides %python-base < 3.7