There are two problems, one a minor bug, and the other is probably due to updates which have been made in recent versions of the rpm library.
- The minor bug: in EntityComparator::GetVersionFromEVR() and GetReleaseFromEVR(), the code splits version from release on the first '-'; it should be the last.
- The update: the recent version of rpm that I looked at (4.11.2) has special handing for '~', which is missing from ovaldi. This handling should be added.