[devel] apt virtual packages

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Вс Дек 17 12:58:56 MSK 2006


On Sat, Dec 16, 2006 at 01:27:48AM +0300, Dmitry V. Levin wrote:
> On Fri, Dec 15, 2006 at 04:25:03AM +0300, Alexey Tourbin wrote:
> > On Fri, Dec 15, 2006 at 02:40:38AM +0300, Alexey Tourbin wrote:
> > > Т.е. 2.4.4-alt2.1 в этом месте не видно вообще.
> > > Соответственно, дальше, вероятно, стоит ковырять pkgVersionMatch::Find.
> > 
> > Вот фикс, с которым будет выбираться не первая попавшаяся, а последняя
> > попавшаяся версия.
> 
> Я правильно помню что они отсортированы и потому последняя попавшаяся
> будет наибольшей?

Теперь я почти уверен, что они отсротированы, поэтому последняя
попавшаяся будет наибольшей.

$ perl -MAptPkg::Cache -le '$c=AptPkg::Cache->new;while(($k,$v)=each%$c){@v=@{$v->VersionList};if(@v>1){@v=map$$_{VerStr}, на v;print"$k\t на v"}}' |
	awk '$2!=$3'
syslogd 1.4.1-alt26 1.4.1-alt25              
python-modules  2.4.4-alt2.1 2.4.4-alt2
vim-common      4:7.0.178-alt1 4:7.0.162-alt1 4:7.0.146-alt1 4:7.0.122-alt1
python-tools-modulator  2.4.4-alt2.1 2.4.4-alt2
libaprutil      1:0.9.13-alt1 1:0.9.12-alt1
...
$

Они должны быть отсортированы при создании pkgcache.bin.
Предположительно здесь:

$ grep qsort apt-pkg/orderlist.cc
   qsort(List,End - List,sizeof(*List),&OrderCompareB);   
   qsort(List,End - List,sizeof(*List),&OrderCompareA);
$
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?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/20061217/15b5e9f8/attachment-0001.bin>


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