We roll our own python port of rpmvercmp.c from librpm for comparing rpm package versions. This port has not been synchronized with upstream since 2012. We should update our port to reflect the behavior of current librpm versions.
rpmvercmp and its unit tests have now been updated to reflect the latest upstream stable librpm (126.96.36.199).
Upgrading from 4.12.1 to a development build still works as intended on Fedora 33. Rerunning the development build installer with the development build already installed results in "The system already has an up to date installation of ThinLinc".
Testing can be done using by upgrading a couple of older server releases to a development build. Preferably using an older rpm distribution such as RHEL7.
Marking as resolved.
Looks good and works as expected. Tested on RHEL 7:
Installed Trying to install Result
4.9.0-5775 --> 4.12.1post-2135 Upgraded
4.12.1post-2135 --> 4.12.1post-2135 Already up to date
4.12.1post-2135 --> 4.12.1post-2134 Already up to date*
4.12.1-6733 --> 4.12.1post-2135 Upgraded
* Build 2134 also have the changes for this bug, so this tests that nothing happens when trying to downgrade. This is expected behavior.