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.