[sisyphus] переименование библиотеки libpq

Alexei Takaseev alexei на taf.ru
Пт Мар 8 18:11:39 MSK 2019



----- Исходное сообщение -----
> От: "Dmitry V. Levin" <ldv на altlinux.org>
> Кому: "ALT Sisyphus mailing list" <sisyphus на lists.altlinux.org>
> Отправлено: Пятница, 8 Март 2019 г 22:56:59
> Тема: Re: [sisyphus] переименование библиотеки libpq
> 
> On Fri, Mar 08, 2019 at 10:45:44PM +0800, Alexei Takaseev wrote:
> > > On Fri, Mar 08, 2019 at 10:22:10PM +0800, Alexei Takaseev wrote:
> > > [...]
> > > > Уже установленные пакеты, удаленные из репо, не удаляются. Я
> > > > специально проверил
> > > > этот сценарий. Вот если вы попытаетесь в системе с libpq10
> > > > доставить libpq11 то тогда да,
> > > > все следы десятки будут вынесены.
> > > 
> > > Давно хотел спросить, зачем пакет с библиотекой libpq у каждой
> > > версии
> > > postgresql переименовывается?  Там что, ABI всё время меняется?
> > > Вроде бы нет, ведь soname там всё время один и тот же:
> > > libpq.so.5.
> > > 
> > > Я вижу, что ABI в libpq5.11 по сравнению с libpq5.10 не
> > > поменялся,
> > > в libpq5.10 по сравнению с libpq5.9 была добавлена одна функция,
> > > а в libpq5.9 по сравнению с libpq5.8 были добавлены ещё две
> > > функции, но это же не повод для переименования пакета, правда?
> > 
> > По каким-то причинам разработчики так поступают.
> 
> Так нет же, это не разработчики так поступают, это мы так поступаем.

so-name меняется разработчиками

> > Я не вижу смысла как-то эту схему менять.
> 
> Вам бы понравилось, если бы пакет с библиотекой libgcc_s назывался бы
> не
> libgcc1, как сейчас, а libgcc3.2, libgcc3.3, libgcc3.4, libgcc4.1,
> libgcc4.3, libgcc4.4, libgcc4.5, и т.д., как на самом деле это было
> у нас раньше?

Заглянул в содержимое libgcc1, там файл libgcc_s.so.1, в то время как
у libpq сонеймы меняются. И это не я их переименовываю.

> Переименование пакета создаёт дополнительные сложности, зачем они
> нам?

Каких-то сложностей не заметил, особенно когда осталась только одна версия
библиотеке в репо.

> > Опять же, собранные даже 15 лет назад приложения вполне себе
> > работают и с современной библиотекой.
> 
> Тем более.
> Тот факт, что при обновлении postgresql нам не приходится
> перелинковывать
> все приложения с новой версий -lpq, дополнительно говорит в пользу
> того,
> что переименование библиотеки libpq при обновлении postgresql
> не является рациональным.
> 
> > Возможно этот как раз как-то связанно со сборкой серверных
> > расширений.
> 
> Разве серверные расширения не находятся на стороне сервера?
> Мы говорим про libpq, это же клиентская библиотека?

Через память процесса postgres расширения тоже используют клиентские
библиотеки.


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