[devel] do not break poppler, please

Dmitry V. Levin =?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Вс Окт 14 02:34:58 MSD 2007


On Sun, Oct 14, 2007 at 02:02:45AM +0400, Денис Смирнов wrote:
> On Fri, Oct 12, 2007 at 11:12:03AM +0400, Vitaly Lipatov wrote:
> 
> >> Да, поясню свою мысль -- после того как не останется
> >> зависимостей на старую либу можно её убрать из Сизифа. Но имя
> >> её заниматься другой версией той же либы не следует.
> VL> Почему? Нормальные пакеты требуют библиотеку по soname, а не по 
> VL> названию пакета. Поэтому не ясно, зачем стремиться сохранять то 
> VL> же названия для пакета.
> VL> Вообще стремление к появлению виндовых
> VL> mfc40.dll
> VL> mfc42.dll
> VL> mfc42-u.dll
> VL> меня не очень радует.
> 
> Требуют-то требуют, но у apt-get крышу от этого сносит. Глупый он, этот
> apt-get. Поясняю:
>  - есть пакет (скажем bash);
>  - есть пакет (скажем libreadline);
>  - у пакета libreadline сменился soname, старый пакет теперь называется
>    libreadline4
>  - пакет bash был пересобран с новым libreadline, как и все остальные
>    пакеты в дистрибутиве;
> 
> Если после всего этого счастья на старой машине набрать apt-get install
> bash он вместо того чтобы:
>  - обновить bash
>  - поставить libreadline4 и обновить libreadline
> 
> С высокой степенью вероятности поступает куда более мерзко. Он обновляет
> bash/libreadline, и сносит все что зависело от libreadline.so.4.
> 
> Виталий, теория и то "как оно должно быть" это одно, а вот практика,
> связаная с тем что apt-get на самом деле далек от идеала, это соверенно
> другое.
> 
> Например конкретно из-за этой баги с libreadline приходилось объяснять
> всем, что обновление системы начинается с:
> 
> apt-get install libreadline4 libreadline

Эта особенность касается тех библиотек, которые затрагивают множество
пакетов, порождаемое пакетом basesystem.

> мне, который в курсе подобных особенностей apt понадобилось потратить
> заметно времени чтобы поймать виновника. Пользователь который не в курсе
> что apt это вообще-то на редкость кривоватое поделие, не сможет
> самостоятельно вычислить виновника, и вывод его будет прост -- "альты врут
> про то, что у них можно пользоваться upgrade/dist-upgrade).
> 
> Помнится именно в связи с этим я матерился чтобы libreadline4 хотя бы с
> таким названием был добавлен обратно в репо, чтобы можно было проделать
> эту операцию. Если бы libreadline был просто удален, а добавлен
> libreadline5 этой засады бы не было.
> 
> Кстати от этой засады даже dist-upgrade изредка крышу сносит.

Не совсем так.  Если в репозитории нет libreadline4, то apt-get
dist-upgrade действительно сносит крышу.  А если libreadline4 есть в
репозитории, то обновление проходит нормально, причём по окончании обновления
пакет libreadline4 установлен не будет, поскольку libreadline.so.4. никому в
обновлённой системе не нужен.

Эта особенность касается тех библиотек, которые затрагивают множество
пакетов, порождаемое пакетом basesystem.


-- 
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?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/20071014/4363dea0/attachment-0002.bin>


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