[devel] net-snmp soname change [SONAME CHANGE POLICY?]

Led =?iso-8859-1?q?led_=CE=C1_altlinux=2Eru?=
Пн Дек 18 13:08:08 MSK 2006


В сообщении от 16 декабря 2006 18:44 Денис Смирнов написал(a):
> On Sat, Dec 16, 2006 at 03:36:31PM +0300, Pavlov Konstantin wrote:
>
> PK> 1) Сменился SONAME и сменился API. В этом случае простая пересборка
> пакетов, PK> зависящих от данного не поможет, нужно хирургическое
> вмешательство.
>
> Это уже проблемы этих пакетов. Главное что они продолжают ставиться вплоть
> до их пересборки мантейнером.
>
> PK> 2) Сменился SONAME, но API не поменялся. Тут пересборка поможет.
>
> Ага.
>
> PK> Распишите, пожалуйста, как правильно в этих случаях паковать версию со
> старым PK> SONAME и с новым.
>
> Лучше всего вообще паковать с именем lib%name%soname. При этом devel
> паковать как lib%name-devel, и только от пакета с последней версией.
>
> PK> Пример 1) -- пакет flac, в котором помимо смены SONAME сменился еще и
> API. Тут PK> я пока что сделал так -- старый пакет libflac7, из которого
> получаются только PK> библиотеки, без devel, и новый libflac, из которого
> получается все, что было PK> раньше в старом пакете.
>
> Точно. Только я бы сделал libflac8 и libflac-devel.
>
> PK> Пример 2) -- пакет net-snmp, в котором сменился SONAME, а API не
> поменялось. PK> Тут я думал сделать примерно так же, как и в flac, т.к.
> простая пересборка с PK> новой версией должна пройти успешно.
>
> Уж не знаю поменялся он там или нет, но asterisk с новым net-snmp не
> собирается. Где-то что-то надо патчить. Причем отвалилось определение
> наличия net-snmp в configure.
>
> PK> Поправьте меня, если я где не прав.
>
> В любом случае когда сменилась soname надо делать отдельный пакет.

ИМХО всё же не в "любом". Если API не поменялось и зависимые от библиотеки 
пересобираются без проблем, то, мне кажется, плодить цифры в названии 
пакетов - лишнее... То же самое, если мэйнтейнер библиотеки может предложить 
рабочее решее (патч) для неперосибаемого зависимого пакета (хотя, если от 
библиотеки зависит очень много пакетов, это может быть трудно для мейнтейнера 
библиотеки).
Из своей не слишком богатой практики: я стараюсь не заливать в Sisyphus новую 
либу, не найдя или не изготовив патчей для всех зависимых пакетов.

Касательно libflac: я и говорил здесь в рассылке, что неплохо бы положить 
новый libflac хотя бы в Daedalus. Таким образом, появится возможность 
мейнтейнерам зависимых пакетов "подогнать" свои пакеты к новой библиотеке, 
проверить собираемость, да и "посторонние" люди, возможно, смогуть изготовить 
решения для сборки не-своих пакетов с новой библиотекой (я бы, например, мог 
посмотреть один-пару пакетов: поискать/изготовить к ним патчи, проверить 
собираемость, если получится - предложить решение в рассылку/багзиллу).

> В 
> противном случае apt-get dist-upgrade отправляется нафиг.
>
> >> Иначе у обновляющихся с более старых дистрибутивов apt'у крышняк срывает
> >> напрочь.

В своём мнении я не претендую на Policy, может я и не прав - всего 
лишь "личные наблюдения":)

-- 
Led.



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