[devel] apt virtual packages
Alexey Tourbin
at на altlinux.ru
Сб Дек 16 01:42:59 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.
> >
> > Вот фикс, с которым будет выбираться не первая попавшаяся, а последняя
> > попавшаяся версия.
>
> Я правильно помню что они отсортированы и потому последняя попавшаяся
> будет наибольшей?
Нет, я в этом не уверен.
> > install python-devel=2.4 теперь работает (в том
> > смысле, что установить можно только 2.4.4-alt2.1).
> >
> > --- apt-pkg/versionmatch.cc- 2006-12-15 01:11:52 +0000
> > +++ apt-pkg/versionmatch.cc 2006-12-15 01:15:17 +0000
> > @@ -205,10 +205,10 @@ pkgCache::VerIterator pkgVersionMatch::F
> > if (VerPrefixMatch || (HasRelease && strchr(PrvVerStr, '-') == NULL))
> > {
> > if (MatchVer(PrvVerStr,VerStr,VerPrefixMatch) == true)
> > - return Prv.OwnerVer();
> > + Ver = Prv.OwnerVer();
> > } else {
> > if (VS->CheckDep(PrvVerStr,VerOp,VerStr.c_str()) == true)
> > - return Prv.OwnerVer();
> > + Ver = Prv.OwnerVer();
> > }
> > }
> > }
> >
> > Впрочем install python-base=2.4.4-alt2 python-devel=2.4
> > не работает ни так ни сяк.
>
> Т.е. ни до патча ни после патча?
Ни до ни после.
Потому что апт что делает. Он ставит каждый пакет по очереди.
До и после патча два варианта. Объясняю коротко, я уже вчера этой
лихорадкой переболел, сами там разбирайтесь.
1) Ставим python-base=2.4.4-alt2,
Пробуем ставить python-devel=2.4-alt2.1 => ОТСТОЙ
ИЛИ
2) Ставим python-base=2.4.4-alt2,
Ставим python-devel=2.4-alt2,
по зависимостям вытягивается python-strict=2.4-alt2.1 => ОТСТОЙ
В общем апт не должен ставить пакеты подряд. А для каждого пакета
подряд он должен выделять подмножество пакетов удовлетворяющих условию.
А на втором проходе из этих подмножеств выделять одно непротиворечивое
множество которое подлежит установке.
> Интересно, сломает этот патч что-нибудь или нет?
Не сломает. Он только влияет на виртуальные пакеты с версией. А на
пакеты без версии типа autoconf опять будет по алфавиту, а может
pkgVersionMatch::Find в этом случае вообще не включается.
----------- следущая часть -----------
Было удалено вложение не в текстовом формате...
Имя : отсутствует
Тип : application/pgp-signature
Размер : 189 байтов
Описание: отсутствует
Url : http://lists.altlinux.org/pipermail/devel/attachments/20061216/21351a7a/attachment.bin
Подробная информация о списке рассылки Devel