[devel] A: Меры по синхронизации версии libdb в libaprutil1, apache2 и его внешних модулях

Aleksey Avdeev =?iso-8859-1?q?solo_=CE=C1_solin=2Espb=2Eru?=
Пт Окт 31 18:06:06 MSK 2008


Dmitry Afanasov пишет:
> 31.10.08, Aleksey Avdeev<solo на solin.spb.ru> написал(а):
>>   Привязку к libaprutil1 собранной с нужной libdb лучше сделать сейчас:
>> Иначе придётся тратить время на разбор ситуаций типа той что я приводил...
>>
>>   Я могу сделать это, и залить в git/Daedalus...
> как будет - обязательно посмотрю.
> 
> 
> на предмет "попозже": я не совсем пока понимаю, как происходят завязки
> на libapr и libaprutil. знаю точно, что используется libdb и её версия
> берется из %apu_config (apr-1-config на моей машине).

   Не apr-1-config, а из apu-1-config:

$ apr-1-config --libs

$ apu-1-config --libs
  -lldap -llber -ldb-4.7 -lexpat

> 
> для обеспечения совпадения версии libdb и libaprutil1 достаточно в
> buildreq прописать libaprutil1-devel и проследить, чтобы configure
> продолжал выдирать версию из %apu_config.

   Да.

> 
> но здесь речь не только о libdb - subversion зачем-то ещё нужны эти
> apr'ы, наерное не только для определения libdb. этого я пока не знаю:
> не было нужды смотреть.
> 
> в итоге: для определения версии libdb я сохраню текущее состояние - из
> libaprutil.

   Текущее, но только на момент сборки. После инсталляции ситуация 
установки libaprutil1 собранной с другой libdb сейчас никак не 
отслеживается... А на мой взгляд -- надо.

> 
> для обеспечения же зависимости именно на libapr/libaprutil я пока не
> знаю что делать, и надо ли это subversion. этот механизм я буду
> рассматривать позже, как разберусь, на кой ляд они вообще нужны :)

   Судя потому что присутствуют библиотеки одновременно слинкованные с 
libdb4.x и с libaprutil-1, которая в свою очередь может быть слинкована 
с libdb4.y -- такую ситуацию отслеживать надо. По крайней мере до 
получения полной ясности что такая ситуация ничему не мешает (сейчас её 
нет).

> 
>>> subversion для сборки требует libapr, не libaprutil1. использует
>>> обоих. я пока не понял - критично это или нет :)
>>   Не может быть, т. к.:
>> [...]
> прошу прощения, я ошибся. не заметил, что строка BuildPreReq:
> %apu_name-devel >= %apu_ver не в какие %if_with не входит.
> 
> в итоге имеем, что subversion для сборки требует и libapr1-devel и
> libaprutil1-devel. оба прописаны в buildreq.
> для установки требует:
> libsubversion - только libapr1

   Нет. Смотрю текущий libsubversion-1.4.4-alt2.3:

$ rpm -ql libsubversion|xargs readelf -d |fgrep libaprutil
  0x0000000000000001 (NEEDED)             Shared library: 
[libaprutil-1.so.0]
...

   Более детальный осмотр показывает что файлы одновременно требующие 
libaprutil-1.so.0 и libdb-4.7.so по прежниму присутствуют...

> libsubversion-devel - требует оба devel'а, и требует явно.
> 
> все requires сделаны так:
> libapr1[-devel] >= 1:0.9.5-alt0.3.M24.1
> libaprutil1[-devel] >= 1:0.9.5-alt0.4
> 
> мне пока не понятна эта привязка и что там ставить сейчас.

   Судя по всему, это минимальные версии libapr[util]1 с которыми 
subversion может собраться. Чем обусловлены -- не в курсе.

> 
>> libaprutil1 вытянет libapr1 по зависимостям).
> вопрос: стоит тогда оставлять явный requires на libapr1 и libapr1-devel?

   Не требуется: libaprutil1-devel-1.3.4 требует libapr1-devel > 1.3.0 
явным образом.

> 
>>> есть вопрос: условия для сборки на M24 оставлять? есть желание её
>>> вычистить нафиг - я там не ориентируюсь :)
>>   Зависит от трудоёмкости их поддержки, думаю... (Я пока не смотрел код.)
> тогда в git'е отмечу и вышвырну эти макросы нафиг. на мастер 2.4
> бекпортить не буду точно :)

   Ваша воля.

   Для себя -- сделал систему макросов которая автоматизирует бэкпорты 
достаточно удачно. Если интересует могу залить в 
<http://git.altlinux.org/people/solo/public/?p=specs.git> (чтобы не 
тянуть историю apache`й при использовании).

-- 

С уважением. Алексей.


----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 552 байтов
Описание: OpenPGP digital signature
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20081031/0958c612/attachment.bin>


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