[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