[devel] boost 1.35.0
Damir Shayhutdinov
=?iso-8859-1?q?damir_=CE=C1_altlinux=2Eorg?=
Ср Июл 30 13:01:55 MSD 2008
> Извиняюсь, об этом не подумал. Спасибо за совет. В следующий раз буду
> аккуратнее.
Ок. Это вообще для всех пакетов полезно, просто для boost как особо
большого пакета просто необходимо.
>> > помимо новой версии: - Оторвана зависимость soname от версии компилятора.
>> > Думаю, в таком виде как она была, она не имеет смысла.
>>
>> Почему?
> А вообще изначально идея была перейти с --layout=versioned на --layout=system
> и избавиться от симлинки /usr/include/boost, которая как-то уж очень сильно
> меня смущала.
Я действительно не вижу пока смысла версионировать по версии
компилятора, просто думал может это имело какой-то практический
смысл...
> Помимо красоты сборки есть ещё один момент: взаимозависимости. Например, asio
> нужен thread. И это не единичный случай. Я не представляю как и кто может
> разрулить всё это за обозримое время, а "списать" неоткуда -- во у всех
> rpm-based дистрибутивов где я смотрел ничего толком не порезано.
Зависимости делятся на два типа:
1) Зависимости библиотека-библиотека - делаются автоматически, ничего
менять не надо.
2) Зависимости девел-девел (shared) - тут могут быть два типа
зависимостей, по include-файлам и по pkgconfig/прочим -config. По идее
по include файлам зависимости как раз надо учитывать, и это самое
сложное. Можно попробовать разработать автомат для этого. По pkgconfig
и прочим -config - вроде в бюсте такого нет, а так - надо отрывать все
лишнее. В свете --as-needed это не нужно.
3) Зависимости девел-девел (static) - вот тут уж действительно, сам
черт ногу сломит. Но на самом деле тут можно проще - фактически
зависимость статических библиотек аналогична зависимостям типа 1).
Можно посмотреть от чего зависят библиотеки в пункте 1 и сделать те же
зависимости вручную между статическими библиотеками.
Если пункт 3 слишком сложный - можно всю статику в один большой
подпакет засунуть, тем более что не так уж часто она нужна.
>> > - jam выделен в отдельный пакет, доступный тут:
>> > http://git.altlinux.org/people/iv/packages/?p=boost-jam.git;a=summary
>>
>> Заменяет ли этот boost-jam уже сущестующий пакет jam? То есть нужен
>> ли он вообще?
>
> Пакет jam в Сизифе я, честно говоря, пропустил. В нём лежит Perforce Jam
> (http://public.perforce.com/wiki/Jam). Процитирую документацию bjam:
>
> Boost.Jam (BJam) is a build tool based on FTJam, which in turn is based on
> Perforce Jam. It contains significant improvements made to facilitate its use
> in the Boost Build System, but should be backward compatible with Perforce
> Jam.
>
> Слово should меня как-то смущает.
Ну раз так, можно оставить. Кому надо тот поставит.
>> > Прошу тех, кто заинтересован в бусте, посмотреть и высказать своё мнение
>> > по поводу такой сборки.
>>
>> В целом неплохо, хотя что касается git, то оформлено, на мой взгляд,
>> достаточно небрежно. Главный плюс на мой взгляд что вы реально
>> пользуетесь этой библиотекой.
>>
>> Теперь бы еще статистику по пересборке зависимых пакетов :) Но пока
>> выглядит хорошо, несмотря на то, что в огромном коммите разобрать что
>> именно изменилось очень сложно.
>
> Ещё раз извиняюсь за это. Как думаете, может стоит переписать историю?
Ну пока никто еще не склонировал этот репозитарий - можно и
переписать. Трафика это съест немного, зато в дальнейшем облегчит
жизнь.
> Краткий обзор:
> - добавлено 2 патча (#3 и #4);
> - тупо заменена папка boost на содержимое тарбола с boost;
Для этого у нас есть утилита gear-update. Там есть небольшие тонкости
с игнорируемыми файлами, я вроде на такие грабли наступал.
>> Я бы попробовал пересобрать
>> пару-тройку пакетов и, если все нормально - можно и в Сизиф положить.
>
> Этим я и собирался заняться. Нет ли ещё желающих помочь в тестировании?
У меня есть вроде только один пакет зависимый от boost, да и тот
сломали недавно в апстриме. Так что проверить на своих пакетах работу
не могу.
Я с удовольствием отдам пакет в хорошие руки, которые этим пакетом
реально пользуются.
Подробная информация о списке рассылки Devel