'Version comparison is designed for consistency with the way RPM
does things.  If you need more complicated versions in installed
packages, you should override your package\'s version string to
express it more sensibly.'

@coerced
def __lt__(self, other):

    if (other is None):
        return False
    if (self.version == other.version):
        return False
    sdev = self.isdevelop()
    if sdev:
        return False
    odev = other.isdevelop()
    if odev:
        return True
    if self.isnumeric():
        if other.isnumeric():
            return self._numeric_lt(other)
        else:
            return False
    elif other.isnumeric():
        return True
    else:
        return (self.string < other.string)
