Concedido, é mal explicado.
A edificação final só pode ser obtida lendo o código-fonte: link . Basicamente:
O sufixo é a string mais longa que corresponde a (\.[A-Za-z~][A-Za-z0-9~]*)*$ . Observe o $ , que requer que a correspondência esteja no final do nome do arquivo. Partes separadas por pontos do sufixo são tratadas como números de versão para fins de comparação.
O ~ é apenas um caractere que pode aparecer em um nome de arquivo. Isso às vezes é usado em números de versão como 3.4.1~alpha .
In the last example, the one in the last caveat, why are the filenames sorted that way by version sorting?
Como _ não é um caractere de sufixo permitido, os arquivos que terminam em x86_64.rpm são tratados como sem versão (ou apenas rpm considerado como uma versão). Não está claro por que eles não são classificados na ordem do dicionário como um substituto.