[devel] Re: PostgreSQL -- вопрос по организации перехода на 8.x

Alexey Tourbin at на altlinux.ru
Пн Май 2 21:21:00 MSD 2005


On Mon, May 02, 2005 at 05:09:43PM +0300, Michael Shigorin wrote:
> On Sun, May 01, 2005 at 05:59:12PM +0400, Alexey Tourbin wrote:
> > А зачем знать, с какой версией был собран пакет?  SONAME для
> > того и существует, что если интерфейс не изменился, то
> > пересобирать ничего не надо
> 
> Вот только не все апстримы это знают (и применяют с умом).

У pg апстрим вроде вменяемый.  На всякий случай можно проверить
хедеры -- посмотреть, не изменились ли структуры и прототипы.

При добавлении в библиотеку новых функций их лучше повесить на отдельный
интерфейс.  Для этого в файле lib%name.def делается запись вроде
следующей (liblua.def):

LUA_5.1 {
        lua_createtable;
        lua_gc;
        lua_getallocf;
        lua_getfield;
        lua_newstate;
        lua_objsize;
        lua_pushinteger;
        lua_pushthread;
        lua_setfield;
        lua_status;
        lua_tointeger;
};

И линковаться через gcc -Wl,--version-script=liblua.def.

Тогда если при линковке с этой библиотекой используются новые функции,
то появится характерная зависимость типа liblua.so.5(LUA_5.1).

К сожалению, это дело широко не используется, хотя есть библиотеки,
которые из версии в версию прямо-таки напрашиваются на учёт. :)
----------- следущая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: отсутствует
Url     : http://lists.altlinux.ru/pipermail/devel/attachments/20050502/336860ad/attachment.bin


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