[devel] symlinks.req: semi-unmets

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Вт Авг 7 02:20:48 MSD 2007


On Mon, Aug 06, 2007 at 03:08:04PM +0400, Alexey Tourbin wrote:
> On Sat, Aug 04, 2007 at 01:41:56AM +0400, Dmitry V. Levin wrote:
> > Свою долю критики за неожиданные зависимости ты ещё получишь, не стоит
> > беспокоиться.
> 
> Кстати, только что обнаружил пример необходимости symlinks.req.
[...]
> То есть не хватает зависимости на consolehelper.  Правда, не факт
> что symlinks.req сможет проставить именно зависимость на
> consolehelper, т.к. find-package работает по очень урезанному
> contents_index.  В худшем случае появится "полу-unmet" на
> /usr/lib/consolehelper/helper.

Вот что теперь вылезает на openssl:

$ rpm -qpR libssl6-0.9.8d-alt3.athlon.rpm |grep /usr/share/
/usr/share/ca-certificates/ca-bundle.crt  
$ rpm -qlvp libssl6-0.9.8d-alt3.athlon.rpm |grep /usr/share/ca-
lrwxrwxrwx    1 root    root               48 Aug  7 01:42 /var/lib/ssl/cert.pem -> ../../../usr/share/ca-certificates/ca-bundle.crt
$

Это тот самый symlinks.req, которые добавляет зависимости на битые
симлинки.

The following packages have unmet dependencies:
  libssl6: Depends: /usr/share/ca-certificates/ca-bundle.crt but it is not installable


ЗАОСТРЯЮ ПРОБЛЕМУ "ПОЛУ-АНМЕТОВ".


Это проблема проявляется тогда, когда зависимость имеет вид /ПУТЬ,
но у соответствующего пакета не стоит Provides: /ПУТЬ.  На уровне
rpm это не является unmet'ом: если при установке пакета с такой
зависимостью имеется какой-либо другой пакет с файлом /ПУТЬ,
то для rpm это "канает".

С другой стороны, apt видит такую зависимость именно как unmet.
Вообще-то у апта к каждому пакету есть файловые листы, и он использует
их для разрешения такого рода зависимостей.  Но при изготовлении
репозитария аптовые листы у нас насильно "оптимизируются".

Два простых варианта решения это проблемы:

1) Генерировать более полный content_index для hasher, чтобы любой путь
более гарантированно трансформировался в название пакета (насколько
более полный/гарантированно?).

2) Восстановить файловые листы для апт.  Насколько потяжелеет
pkglist.classic.bz2?
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?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/20070807/a8a34cba/attachment-0001.bin>


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