Why does the spec calls for
# upgrade path from monolithic -server to -server + -server-dns
Obsoletes: %{name}-server <= 4.2.0
and not for
# upgrade path from monolithic -server to -server + -server-dns
Obsoletes: %{name}-server < 4.2.0
? Is that the root cause of these issues?

AFAIK this would break updates from 4.2.0 to 4.2.1.

I wonder how it could break the upgrade...

Patch attached.

This won't help as long as we build something like
freeipa-server-dns-4.2.0-0.20150810111037Zjenkins11gitad6a87e

Right. Updated patch attached. It will break updates from
pre-server-dns

git builds, but install should be fine.
--
Jan Cholasta
ACK, thanks.

Self-NACK, as this also breaks updates from freeipa-4.2.0-0 from
the freeipa-4.2 COPR.

Updated patch attached.

Hi,

thanks for the patch. It works as far as updating from 4.1, the copr
build
(correctly replaces freeipa-server package) as well as upgrade from
earlier build from repository.

If there are no objections, ACK from me.
Milan

Pushed to ipa-4-2: 5d5240b9db3b9e6f29351c65272a363b253cd2d3

Ok, while checking this manually it seemed to work, the jenkins build
names the package in a way that produces this error. The patch has no
effect in automation, unfortunatelly. The build on jenkins adds the
release version, when built manually, the name is
xyz.4.2.0.DATE+hash-string.

Error: package
freeipa-server-dns-4.2.0-0.20150817084102Zjenkins28git5d5240b.fc22.x86_64
obsoletes freeipa-server <= 4.2.0.0 provided by
freeipa-server-4.2.0-0.20150817084102Zjenkins28git5d5240b.fc22.x86_64
Late answer to Lukas, this is n:m scenario. I'm not sure what to do if one
subpackage retains the original name, though.

That being said, I can change the schema by which jenkins marks release
version on the rpms it builds.
This will provide a hacky way around this issue by creating
4.2.0.2015... provided by the timestamp.