ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Alexey Tourbin <at@altlinux.ru>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] сравнение версий в rpm
Date: Sat, 20 Dec 2008 12:52:40 +0300
Message-ID: <20081220095240.GB21286@altlinux.org> (raw)
In-Reply-To: <20081220090053.GY21286@altlinux.org>

[-- Attachment #1: Type: text/plain, Size: 1386 bytes --]

On Sat, Dec 20, 2008 at 12:00:53PM +0300, Alexey Tourbin wrote:
> Это нужно понимать так.  Версия есть строка; так что мы сравниваем
> версии, имя две строки: str1 и str2.  Строки разбиваются на сегменты.
> Далее сравнение версий происходит по сегментам, до первого неодинакового
> результата.
> 
> версия := сегмент сегмент*
> 
> При исчерпании сегментов сравнение происходит как в strcmp(3),
> если букву считать за сегмент (то есть подстрока меньше строки).
> 
> Сегмент может быть целочисленным или нецелочисленным.
> 
> целочисленный_сегмент := [0-9][0-9]*		(жадно)
> нецелочисленный_сегемент := [^0-9][^0-9]*	(жадно)
> 
> Сравнение двух целочисленных сегментов определено естественным образом.
> Сравнение целочисленного и нецелочисленного сегментов не определено (не
> надо спрашивать, какая версия больше, "RC" или "33").  Сравнение двух
> нецелочисленных семгенов либо определено, либо не определено.
> 
> Сравнение двух нецелочисленных сегментов по умолчанию не определено.

Здесь есть конфликт двух правил.
Рассмотрим версии "1.RC" и "1.33".

"1.RC" = 1 ".RC"
"1.33" = 1 "." 33

Конфилкт появляется при сравнении второго сегмента.  С одной стороны,
подстрока меньше строки, то есть ".RC" > ".".  С другой стороны,
сравнение нецелочисленных сегментов по умолчанию не определено.

Кажается, rpm-4.0 и rpm-4.4 по-разному сравнивают эти версии.

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

  parent reply	other threads:[~2008-12-20  9:52 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-17 10:13 [devel] remove package Pavel Solntsev
2008-12-17 10:30 ` Andrey Rahmatullin
2008-12-17 10:31 ` Mikhail Gusarov
2008-12-17 19:02   ` Pavel Solntsev
2008-12-17 19:05     ` Mikhail Gusarov
2008-12-17 19:06       ` Mikhail Gusarov
2008-12-17 20:30         ` Pavel Solntsev
2008-12-17 21:05           ` Afanasov Dmitry
2008-12-29  9:38             ` [devel] [JT] RTFM Michael Shigorin
2008-12-29  9:42               ` Mikhail Gusarov
2008-12-17 22:01           ` [devel] remove package Grigory Batalov
2008-12-18  7:58         ` Kirill Maslinsky
2008-12-18  8:31           ` Andrey Rahmatullin
2008-12-18  9:24             ` Alexey Morozov
2008-12-18  9:33             ` Kirill Maslinsky
2008-12-19  7:03               ` Andrey Rahmatullin
2008-12-19 20:08                 ` Kirill Maslinsky
2008-12-19 20:19                   ` Damir Shayhutdinov
2008-12-19 20:38                     ` Kirill Maslinsky
2008-12-19 21:00                     ` Vitaly Lipatov
2008-12-19 21:22                       ` Dmitry V. Levin
2008-12-19 21:21                     ` Dmitry V. Levin
2008-12-19 21:12                   ` Andrey Rahmatullin
2008-12-18  8:32           ` [devel] HOWTO по RPM-версионированию Vitaly Lipatov
2008-12-18  8:40             ` Vladimir V. Kamarzin
2008-12-18 10:00               ` Vitaly Lipatov
2008-12-18 11:17                 ` Aleksey Avdeev
2008-12-29 10:02                   ` [devel] backports releases (was: HOWTO по RPM-версионированию) Michael Shigorin
2008-12-30 11:20                     ` [devel] backports releases Aleksey Avdeev
2008-12-18 11:38                 ` [devel] HOWTO по RPM-версионированию Grigory Batalov
2008-12-18 14:18                 ` Damir Shayhutdinov
2008-12-18 19:44                   ` Vitaly Lipatov
2008-12-18 22:39                     ` Dmitry V. Levin
2008-12-19  6:22                       ` Damir Shayhutdinov
2008-12-19  6:36                         ` Vladimir V. Kamarzin
2008-12-19  6:37                           ` Mikhail Gusarov
2008-12-19  7:51                             ` Vladimir V. Kamarzin
2008-12-19  6:49                           ` Damir Shayhutdinov
2008-12-25 18:20                     ` [devel] [JT] источник пакетов (was: HOWTO по RPM-версионированию) Michael Shigorin
2008-12-25 21:48                     ` [devel] HOWTO по RPM-версионированию Grigory Batalov
2008-12-25 22:02                       ` Led
2008-12-25 22:06                         ` [devel] acl Dmitry V. Levin
2008-12-25 22:03                       ` [devel] HOWTO по RPM-версионированию Vitaly Lipatov
2008-12-25 23:22                         ` Grigory Batalov
2008-12-29  9:51                         ` Michael Shigorin
2008-12-18  8:42             ` Mikhail Gusarov
2008-12-18  9:37               ` Kirill Maslinsky
2008-12-18 10:12                 ` Mikhail Gusarov
2008-12-18 10:24                   ` Kirill Maslinsky
2008-12-18 10:30                     ` Mikhail Gusarov
2008-12-18 10:32                       ` Mikhail Gusarov
2008-12-19 20:29                         ` Kirill Maslinsky
2008-12-20  8:04                           ` Mikhail Gusarov
2008-12-20  8:06                           ` Dmitriy M. Maslennikov
2008-12-20  8:08                           ` Хихин Руслан
2008-12-20  9:00           ` [devel] сравнение версий в rpm Alexey Tourbin
2008-12-20  9:17             ` Alexey Tourbin
2008-12-20  9:35             ` Alexey Tourbin
2008-12-20 10:06               ` Денис Смирнов
2008-12-20 10:18                 ` Mikhail Gusarov
2008-12-20 10:39                 ` Alexey Tourbin
2008-12-20 10:41                   ` Mikhail Gusarov
2008-12-20 10:55                     ` Alexey Tourbin
2008-12-20 11:15                       ` Хихин Руслан
2008-12-20 11:33                         ` Alexey Tourbin
2008-12-20 11:43                           ` Mikhail Gusarov
2008-12-20 11:57                             ` Alexey Tourbin
2008-12-20 12:02                               ` Mikhail Gusarov
2008-12-20 12:17                                 ` Alexey Tourbin
2008-12-20 12:22                                   ` Mikhail Gusarov
2008-12-20 14:24                                     ` Ivan A. Melnikov
2008-12-20 12:41                                   ` Хихин Руслан
2008-12-20 11:08                   ` Alexey Tourbin
2008-12-20 11:16                     ` Денис Смирнов
2008-12-20  9:52             ` Alexey Tourbin [this message]
2008-12-22  7:17             ` Vladimir V. Kamarzin
2008-12-25 15:25         ` [devel] remove package Michael Shigorin
2008-12-25 18:59           ` Afanasov Dmitry
2008-12-29 10:12             ` Michael Shigorin
2008-12-29 20:07               ` Led

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20081220095240.GB21286@altlinux.org \
    --to=at@altlinux.ru \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git