[devel] Сборка расширений PostgreSQL

alexei на taf.ru alexei на taf.ru
Ср Фев 9 16:25:43 MSK 2022



----- Исходное сообщение -----
> От: "ldv" <ldv на altlinux.org>
> Кому: "alexei" <alexei на taf.ru>
> Копия: "ALT Linux Team development discussions" <devel на lists.altlinux.org>
> Отправленные: Среда, 9 Февраль 2022 г 21:14:54
> Тема: Re: [devel] Сборка расширений   PostgreSQL

> On Wed, Feb 09, 2022 at 08:51:08PM +0800, alexei на taf.ru wrote:
> [...]
>> Поправил
>> 
>> https://git.altlinux.org/tasks/294683/logs/events.4.1.log
>> 
>> girar-check-perms: access to kde5-kdb DENIED for taf: does not belong to
>> approved builders list: zerg
> 
> Я посмотрел, какие изменения понадобилось сделать в этом пакете:
> https://git.altlinux.org/tasks/294683/gears/1100/git?p=git;a=commitdiff;h=master
> 
> На мой взгляд, следующая часть изменения концепутально неправильная:
> 
> diff --git a/.gear/kdb.spec b/.gear/kdb.spec
> index 7b37cc91..c68e9055 100644
> --- a/.gear/kdb.spec
> +++ b/.gear/kdb.spec
> @@ -2,6 +2,7 @@
> 
> %define sover 4
> %define libkdb3 libkdb3%sover
> +%define pg_ver 14
> 
> Name: kde5-%rname
> Version: 3.2.0
> @@ -21,7 +22,7 @@ Source: %rname-%version.tar
> BuildRequires(pre): rpm-build-kf5
> BuildRequires: extra-cmake-modules qt5-base-devel qt5-wayland-devel
> BuildRequires: libicu-devel
> -BuildRequires: libmysqlclient-devel postgresql-devel sqlite3 libsqlite3-devel
> +BuildRequires: libmysqlclient-devel postgresql%pg_ver-server-devel sqlite3
> libsqlite3-devel
> BuildRequires: kf5-kcoreaddons-devel
> BuildRequires: rpm-build-python3 python3(shlex)
> 
> Пакет kdb не должен зашивать версию postgresql-server-devel в сборочные
> зависимости.  Более того, никакой обычный пакет не должен этого делать,
> вместо этого следует всегда использовать то, что является версией по
> умолчанию в репозитории на момент сборки.
> 
> Например, одна из реализаций может содержать
> "Provides: postgresql-server-devel".

Идея как раз в том, что если кому-то надо именно серверный API, то он должен
четко понимать под какую ветку он собирает приложение, так как это API,
в отличии от libpq обратно не совместимо.

Тут скорее надо смотреть внутрь самого приложения, реально ли ему надо
лезть в серверный API, или может это какой-то атавизм, и вполне достаточно
интерфейса libpq.


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