(In reply to Martin Wilck from comment #8) > happens with ZYPP_SINGLE_RPMTRANS=1. Because with ZYPP_SINGLE_RPMTRANS librpm drives the whole transaction. In the traditional installer we use a single 'rpm --shut-up-and-do-what-we-tell-;)' for every package. The file conflict check is done by libsolv because rpm itself never sees the whole transaction. Might be libsolv is more relaxed in this case. (@mls might know)