While working on automation of SFOS port build, I encountered situations where new packages pulled into the target would have a different vendor than the package already installed there. This happens when you build projects consisting of multiple packages with some of them being dependencies for the others.
For example, AOSP10/aarch64 ports require newer
ohm than is distributed with 4.0.1. So, I have added
ohm into the build and will get a package that has no vendor set. To continue working with this package and build its plugins, I need to get it installed in the target as dependency.
mb2 nicely detects it in the shared RPMS folder and tries to install. However, as there is a vendor change, that fails.
Similar situations can happen also with
droid-config-xxx packages that provide several symbols and obsolete others. Also these packages can have issues with the changes in vendor as they are usually set to have vendor according to the device manufacturer (sony, for example).
To be able to handle these situations, would be great to have an option to
mb2 that would result in installing dependencies with
--allow-vendor-change. For a good measure, we should be able to specify other extra zypper options (such as GPG check control, for example).