[devel] непонятное с serial

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Ср Июл 18 19:06:33 MSD 2007


On Mon, Jul 16, 2007 at 12:28:15PM +0400, Pavlov Konstantin wrote:
> On Fri, Jul 13, 2007 at 12:35:20PM +0400, Pavlov Konstantin wrote:
> > Всем привет.
> > 
> > Понадобилось добавить serial:
> > Name: ffmpeg
> > Version: 0.4.9
> > Serial: 1
> > %define revision 9620
> > Release: alt1.svn9620
> > ---
> > 
> > при dist-upgrade:
> > The following packages will be upgraded
> >   ffmpeg ffmpeg-vhook libavcodec libavcodec-devel libavformat
> >   libavformat-devel libavutil libavutil-devel libffmpeg
> >   libpostproc libpostproc-devel libswscale
> > The following packages will be REMOVED:
> >   vlc-maxi vlc-plugin-ffmpeg
> > 12 upgraded, 0 newly installed, 2 removed and 0 not upgraded.
> > 
> > vlc-maxi и vlc-plugin-ffmpeg вынеслись, после этого попробовал их
> > поставить:
> > The following packages have unmet dependencies:
> >   vlc-plugin-ffmpeg: Depends: libavcodec (>= 0.5.0-alt1.svn8045) but
> >   1:0.4.9-alt1.svn9620 is to be installed
> > 
> > Получается, apt не обрабатывает serial?
> 
> Монстры apt'а, ау!
> http://git.altlinux.org/people/thresh/packages/?p=ffmpeg.git;a=commitdiff;h=a37dd62c423944d32cea4d421b5f0468e2aaf187

Это известная багофича.  Если указана зависимость без сериала, а пакет
предоставляется с сериалом, то при разрешении зависимостей сериал
отбрасывается.

Т.е. Requires: >= 0.5 всегда будет анметом с any_serial:0.4.

На самом деле это является следствием того, что сериал _СЛЕВА_ при
отсутствии сериала СПРАВА не учитывается (или наоборот, черт его знает,
не могу запомнить).

Это имеет далекие и довольно неприятные последствия с точки зрения
математической модели.  Нельзя задать отношение порядка на множестве
версий.

$ rpmevrcmp 0.5 1:0.4
-1
$ rpmevrcmp 1:0.4 0.5
-1
$

В данном случае нужно указывать Requires: ... >= 0:0.5 чтобы допустить
откат по версии при увеличении сериала.

Это особенность не апт а самого librpm --

$ cd rpm
$ vim +/XXX rpmdb/rpmvercmp.c

В более новых версиях rpm это поведение переделали, не сказать чтобы
стало намного удачнее.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20070718/af500419/attachment-0001.bin>


Подробная информация о списке рассылки Devel