Upstream we track a NetworkManager.spec file that is suitable for RHEL and Fedora. As such, this spec file has lots of if-else to account for the differences between RHEL/Fedora.
We also use this spec file in Fedora an RHEL itself. The advantage is, that we maintain one spec file upstream that is our best-practice. Downstream are just copies from the upstream spec file. Another advantage is, that you can take a SRPM and build it on another Fedora/RHEL release (at least, if the release is older than the one from where you got the spec file).
Anyway, there were a few changes in Fedora 30. Update contrib/rpm with these changes.