Bug 18493 - Проблема со сравнением версий содержащих буквы
Summary: Проблема со сравнением версий содержащих буквы
Status: ASSIGNED
Alias: None
Product: Sisyphus
Classification: Development
Component: librpm (show other bugs)
Version: unstable
Hardware: all Linux
: P2 normal
Assignee: placeholder@altlinux.org
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-01-12 22:57 MSK by Kirill A. Shutemov
Modified: 2012-12-22 19:26 MSK (History)
10 users (show)

See Also:


Attachments
fix for rpmvercmp (582 bytes, patch)
2009-01-12 22:57 MSK, Kirill A. Shutemov
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Kirill A. Shutemov 2009-01-12 22:57:19 MSK
Created attachment 3212 [details]
fix for rpmvercmp

Словил забавный баг(фичу?) в rpmvercmp. Есть две версии "1.a" и "1a". 
rpmvercmp считает их равными! 

rpm сравнивает эти версии следующим образом (упрощено):

1. Отбрасывает из начала обоих строк символы не являющиеся буквами или
   цифрами (!isalnum) в начале строк. В данном случае в обоих строках 
   таких символов нет.
2. Выбирает из обоих строк максимальное количество количество цифр и
   сравнивает, как числа. 1 == 1, т.е. на данном этапе версии равны.
3. Далее сравнивает оставшиеся части версий: ".a" и "a".
4. Тут цикл начинается с начала. Опять отбрасываются все символы не
   являющиеся буквами и цифрами. Остаётся "a" и "a". Они, очевидно,
   являются равными.

Я считаю такое поведение ошибочным. Отбрасывать символы не являющиеся
буквами или цифрами следует только, если в обоих строках они есть.
Как вы считаете?
Comment 1 Dmitry V. Levin 2009-02-14 02:26:34 MSK
Вроде бы все считают, что надо этот патч приложить.
Comment 2 led 2009-02-14 04:07:35 MSK
(В ответ на комментарий №1)
> Вроде бы все считают, что надо этот патч приложить.

Исправлять нужно, но ИМХО не этим патчем.
Comment 3 Kirill A. Shutemov 2009-02-14 08:43:37 MSK
А что с этим патчем не так?
Comment 4 at@altlinux.org 2009-02-17 09:07:12 MSK
А какая версия должна быть больше, 1a или 1.a?
Нет ответа => лучше не патчить.
Comment 5 Mikhail Gusarov 2009-02-17 09:31:17 MSK
Очевидно, что 1a > 1.a.
Comment 6 Jeff Johnson 2012-01-03 03:34:59 MSK
tracked at https://bugs.launchpad.net/rpm/+bug/911038