[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