ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Sergey Vlasov <vsu@altlinux.ru>
To: ALT Devel discussion list <devel@altlinux.ru>
Subject: Re: [devel] rpmlib comparison issue
Date: Wed, 21 Jan 2004 18:46:11 +0300
Message-ID: <20040121154611.GF2038@master.mivlgu.local> (raw)
In-Reply-To: <20040121154135.GB1710@basalt.office.altlinux.org>

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

On Wed, Jan 21, 2004 at 06:41:35PM +0300, Dmitry V. Levin wrote:
> On Tue, Jan 20, 2004 at 09:45:37PM +0300, Dmitry V. Levin wrote:
> > On Tue, Jan 20, 2004 at 09:07:59PM +0300, Dmitry V. Levin wrote:
> > > On Tue, Jan 20, 2004 at 11:59:38PM +0600, Alexey Morozov wrote:
> > > > On Tue, Jan 20, 2004 at 08:44:49PM +0300, Dmitry V. Levin wrote:
> > > > > > Да, Вы правы, неэквивалентна. Значит, нужно править спеки ядреных
> > > > > > пакетов.
> > > > > Не только.  Ещё и rpmbuild надо править.
> > > > Ну, я уже говорил, что в 4.0.4-alt27, вроде, все нормально.
> > > > По крайней мере, когда rpmbuild запускается из-под xemacs :-))
> > > 
> > > Всегда жаль, когда такие приятные иллюзии рассеиваются.
> > > 
> > > Увы, фиксить надо даже не rpmbuild, а librpm.
> > 
> > С большой натяжкой это можно назвать документированным поведением:
> > 
> > rpm-4.0.4-alt28/lib/depends.c:rpmRangesOverlap
> > int rpmRangesOverlap(const char * AName, const char * AEVR, int AFlags,
> >         const char * BName, const char * BEVR, int BFlags)
> > [...]
> >     /* If either EVR is non-existent or empty, always overlap. */
> >     if (!(AEVR && *AEVR && BEVR && *BEVR)) {
> >         result = 1;
> >         goto exit;
> >     }
> > 
> > rpm-4.3-0.7/lib/rpmds.c:int rpmdsCompare(const rpmds A, const rpmds B)
> > [...]
> >     /* If either EVR is non-existent or empty, always overlap. */
> >     if (!(A->EVR[A->i] && *A->EVR[A->i] && B->EVR[B->i] && *B->EVR[B->i])) {
> >         result = 1;
> >         goto exit;
> >     }
> > 
> > Т.е. если один из сравниваемых пакетов не имеет информации о версии, то
> > сравнение версий считается успешным.
> > 
> > Поскольку у нас все реальные пакеты имеют информацию о версии, то этот
> > казус проявляется только тогда, когда хотя бы один из сравниваемых пакетов
> > является виртуальным и не имеет информации о версии.
> > 
> > Вопрос, насколько такое поведение является логичным?
> > Другими словами, насколько логично принимать допущение, что
> > (NULL > 7) == true && (NULL < 7) == true  ?
> 
> Всем спасибо за конструктивные предложения.
> 
> Я принял решение изменить алгоритм rpmRangesOverlap таким образом, чтобы
> при сравнении двух пакетов в случае, когда ровно один имеет версию, версия
> другого (не имеющего версию) пакета принималась равной -infinity.

А мы при этом не получим конфликт с upstream, последствия которого
потом придётся разгребать долго и мучительно?  Что там думают по
этому вопросу?

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

  reply	other threads:[~2004-01-21 15:46 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-01-20 16:37 ` [devel] Re: alsa-tools-1.0.1-alt1: rebuild failed Michael Shigorin
2004-01-20 16:42   ` Sergey Vlasov
2004-01-20 16:45     ` Dmitry V. Levin
2004-01-20 16:59       ` Sergey Vlasov
2004-01-20 17:12         ` Dmitry V. Levin
2004-01-20 17:26           ` Alexey Morozov
2004-01-20 17:27             ` Dmitry V. Levin
2004-01-20 17:40               ` Alexey Morozov
2004-01-20 17:44                 ` Dmitry V. Levin
2004-01-20 17:59                   ` Alexey Morozov
2004-01-20 18:07                     ` Dmitry V. Levin
2004-01-20 18:45                       ` [devel] rpmlib comparison issue Dmitry V. Levin
2004-01-21 15:41                         ` Dmitry V. Levin
2004-01-21 15:46                           ` Sergey Vlasov [this message]
2004-01-21 16:15                             ` Dmitry V. Levin
2004-01-20 17:35           ` [devel] Re: alsa-tools-1.0.1-alt1: rebuild failed Sergey Vlasov
2004-01-20 17:47             ` Alexey Morozov
2004-01-20 17:54               ` Dmitry V. Levin
2004-01-20 18:45                 ` Alexey Morozov
2004-01-20 18:47                   ` Dmitry V. Levin
2004-01-20 21:55                     ` [devel] rpmlib comparison issue Dmitry V. Levin
2004-01-21 10:38                       ` [devel] Re: alsa-tools-1.0.1-alt1: rebuild failed Alexey Morozov
2004-01-20 19:48   ` Michael Shigorin

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=20040121154611.GF2038@master.mivlgu.local \
    --to=vsu@altlinux.ru \
    --cc=devel@altlinux.ru \
    /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