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 это поведение переделали, не сказать чтобы стало намного удачнее.