[devel] Re: Внимание пользователем PostgreSQL и зависящих пакетов

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Вс Май 8 17:51:16 MSD 2005


On Sun, May 08, 2005 at 05:10:19PM +0400, Dmitry V. Levin wrote:
> > 1) Пакеты libpq и libecpg разных версий должны мирно сосуществовать;
> > собственно, для этого в названия пакета и добавляют суффикс,
> > соответствующий SONAME.  Кстати, суффикс должен соответствовать именно
> > SONAME, т.е. пакет должен называтья, например, libpq3, а не libpq3.2
> > (несмотря на то, что в пакете имеется файл libpq.so.3.2).
> 
> Разные пакеты, предоставляющие одну и ту же библиотеку (один и тот же
> soname), вообще не могут находиться в одном репозитории.

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

> > 2) Пакеты lib*-devel и posgresql*-devel разных версий, наверное, должны
> > конфликтовать.
> > 
> > 3) Сервер должен обновляться независимо от клиентских библиотек
> > и *-devel пакетов.  То есть мне нужно собрать perl-DBD-Pg с новыми
> > клиентскими библиотеками и протестировать (прямо во время сборки) со
> > старым posgresql-server в пределах одной хост-системы.
> 
> Всё верно, сборки postgresql должны это позволять, в противном случае их
> должно быть не более одной.

Сформулирую по-другому: гранулярность указания версии в названии пакетов
с клиентскими библиотеками должна быть на уровне soname; гранулярность
указания версии в пакете типа postgresql-server должна быть на уровне
совместимости базы (т.е., например, postgresql8.0-server, если формат
базы скорее всего не изменится для 8.0.x и возможно изменится для
8.1.x).  По поводу гранулярности указания версии в *-devel пакетах
(нужна ли там версия вообще) уверенности нет.

Имеются некоторые вопросы по поводу распиловки postgresql:

$ rpm -qlv libpq3-devel
lrwxrwxrwx    1 root    root               12 Aug 25  2004 /usr/lib/libpq.so -> libpq.so.3.1
$

Такой пакет, по-моему, подпадает под бритву Оккама.  Нужно либо доложить
в него хедеров и сделать этот пакет самодостаточным, либо перенести этот
несчастный симлинк в postgresql-devel, в котором лежат все хедеры.

В Debian распилено более грамотно (на первый взгляд, в подробности я не
вникал): ftp://ftp.debian.org/debian/pool/main/p/postgresql-8.0/postgresql-8.0_8.0.2-1.diff.gz

--- postgresql-8.0-8.0.2.orig/debian/libpq-dev.install
+++ postgresql-8.0-8.0.2/debian/libpq-dev.install
@@ -0,0 +1,11 @@
+usr/include/postgresql/internal/*
+usr/include/postgresql/libpq-fe.h
+usr/include/postgresql/libpq/libpq-fs.h
+usr/include/postgresql/pg_config*.h
+usr/include/postgresql/postgres_ext.h
+usr/lib/postgresql/8.0/lib/libpgport.a /usr/lib/
+usr/lib/postgresql/8.0/lib/libpq.a /usr/lib
+usr/lib/postgresql/8.0/lib/libpq.so /usr/lib/
+usr/lib/postgresql/8.0/bin/pg_config usr/bin
+usr/share/postgresql/8.0/man/man1/pg_config.1
+usr/share/locale/*/LC_MESSAGES/pg_config-8.0.mo
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?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/20050508/9be1db68/attachment-0001.bin>


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