Apparently this is the expected behaviour. Regarding solutions we're currently exploring the following:
- Setting up our repo so that we split packages per distribution (where distributions here represent our project's) in a way that guarantees compatibility.
- Leveraging package names. In this case we would have
packageA-2.0 and packageA-2.1, and packageB would depend on packageA-2.0