[sisyphus] обновления... гм?!

Денис Смирнов mithraen на freesource.info
Пн Ноя 15 12:01:57 UTC 2010


On Mon, Nov 15, 2010 at 03:15:43PM +0600, REAL wrote:

R> Если будут у библиотеки клиенты, которых собираю не я, я буду 
R> пробовать просить мейнтейнеров добавить этих клиентов в общий shared 
R> task ;)
R> Не получится - буду брать в руки shared libs policy, никуда не 
R> денешься :-D

Повторяю еще раз. Уже наверное как минимум в десятый раз в этой рассылке.

shared libs policy была предназначена не решить задачу "облегчить
мантейнерам обновление libfoo в Сизифе", а задачу "облегчить пользователю
точечное обновление". Сделай ты хоть сто shared task'ов -- но после смены
soversion у библиотеки пользователь физически не сможет поставить одно
приложение старой версии, а другое -- новой, если они оба хотят эту
библиотеку.

Повторяю еще раз для тех кто читать не умеет. Полезность soversion никак
не связана с количеством мантейнеров у пакетов, и даже напрямую не связана
с количеством этих самых пакетов.

Если есть приложение A и B, и пользователь хочет поставить A из p5, а B из
свеженького Сизифа -- он в пролете, в случае если мантейнер забил на
shared libs policy. Это первое.

Второе -- когда пользователь запустит apt-get dist-upgrade, и по каким-то
причинам обновление B потянет за собой нетривиальные изменения -- с
большой вероятностью ему предложат _вынести_ B, ибо из-за обновления
библиотеки -- старый B в системе оставить уже нельзя.

Если же мантейнер слишком умный, и пользуется схемой с compat, то
вероятнее всего в этой ситуации тупой apt предложит вынести вообще всех,
кто зависел от этой библиотеки (поставить в систему одновременно новую
библиотеку и compat у него ума обычно не хватает).

Посему фактом несоблюдения shared libs policy мантейнер декларирует что:

а) он считает что пользователь не в праве делать точечные обновления
отдельных приложений среди тех, которые используют его библиотеку;

б) если пользователь не умеет упражняться с apt'ом при обновлении системы
-- пущай идет лесом, нам такие пользователи не нужны. Или пусть
переустанавливает систему. apt это для крутых хакеров, которые могут
разобраться как заставить его выполнить обновление корректно.

А думать при этом о shared task'ах и прочем -- очень характерно, в случае
если пакеты собираются только для себя, и пользователи мантейнеру не
нужны. _тогда_ -- да, это критерий :)

Я не утверждаю что это плохо. Просто я сторонник называть вещи своими
именами. Пакет собранный без соблюдения этих правил -- априори крив. Если
мантейнер не считает нужным это исправлять, потому что у него есть более
приоритетные задачи -- его право. Ссылаться же при этом на то, что делать
криво это на самом деле правильно -- некрасиво.

-- 
С уважением, Денис

http://mithraen.ru/
----------------------------------------------------------------------------

----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 198 байтов
Описание: Digital signature
Url     : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20101115/0a9712e7/attachment.bin>


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